269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
|
# File 'lib/fera/models/base.rb', line 269
def clone_selected_fields(model, fields)
fields = fields.is_a?(Array) ? fields : fields.to_s.split(',').map(&:strip)
changed_attributes = HashWithIndifferentAccess.new
changed_attributes[model.class.primary_key] = model.attributes[model.class.primary_key]
fields.each do |key|
if key.include?(':')
clone_sub_fields(model, key, changed_attributes)
elsif fields.include?(key)
changed_attributes[key] = model.attributes[key]
end
end
self.class.new(changed_attributes, true)
end
|