Code Duplication    Length = 24-25 lines in 2 locations

src/deprecated/Table.php 1 location

@@ 99-122 (lines=24) @@
96
     *
97
     * @param Virtual $metadata Entity metadata
98
     */
99
    protected function createMethods($metadata)
100
    {
101
        $methods = [];
102
        // TODO: Add different method generation depending on their field type
103
        // Generate Query::where() analog for specific field.
104
        foreach ($metadata->fields as $fieldID => $fieldName) {
105
            $code = "\n\t" . '/**';
106
            $code .= "\n\t" . ' * Get collection of ' . $fieldName . '(#' . $fieldID . ') table column values.';
107
            $code .= "\n\t" . ' * @see \samsoncms\api\field\Table::values($fieldID)';
108
            $code .= "\n\t" . ' * @param string $relation Field to value condition relation';
109
            $code .= "\n\t" . ' *';
110
            $code .= "\n\t" . ' * @return ' . $metadata->types[$fieldID] . '[] ' . $fieldName . ' values collection';
111
            $code .= "\n\t" . ' */';
112
            $code .= "\n\t" . 'public function ' . $fieldName . '()';
113
            $code .= "\n\t" . '{';
114
            $code .= "\n\t\t" . 'return $this->values(' . $fieldID . ');';
115
            $code .= "\n\t" . '}';
116
117
            $methods[] = $code;
118
        }
119
120
        // Add method text to generator
121
        $this->generator->text(implode("\n", $methods));
122
    }
123
124
    /**
125
     * Class constructor generation part.

src/generator/RealQuery.php 1 location

@@ 86-110 (lines=25) @@
83
     *
84
     * @param RealMetadata $metadata Entity metadata
85
     */
86
    protected function createMethods($metadata)
87
    {
88
        $methods = [];
89
        // TODO: Add different method generation depending on their field type
90
        // Generate Query::where() analog for specific field.
91
        foreach ($metadata->fields as $fieldID => $fieldName) {
92
            $code = "\n\t" . '/**';
93
            $code .= "\n\t" . ' * Add ' . $fieldName . '(#' . $fieldID . ') field query condition.';
94
            $code .= "\n\t" . ' * @see Generic::where()';
95
            $code .= "\n\t" . ' * @param ' . $metadata->types[$fieldID] . ' $value Field value';
96
            $code .= "\n\t" . ' * @param string $relation Field to value condition relation';
97
            $code .= "\n\t" . ' *';
98
            $code .= "\n\t" . ' * @return $this Chaining';
99
            $code .= "\n\t" . ' */';
100
            $code .= "\n\t" . 'public function ' . $fieldName . '($value, $relation = ArgumentInterface::EQUAL)';
101
            $code .= "\n\t" . '{';
102
            $code .= "\n\t\t" . 'return $this->where(\'' . $fieldName . '\', $value, $relation);';
103
            $code .= "\n\t" . '}';
104
105
            $methods[] = $code;
106
        }
107
108
        // Add method text to generator
109
        $this->generator->text(implode("\n", $methods));
110
    }
111
}
112
//[PHPCOMPRESSOR(remove,end)]
113