86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
# File 'lib/formup.rb', line 86
def params_for(key,*excludes_attrs)
if excludes_attrs && excludes_attrs.first == false
excludes = []
else
excludes = [excludes_attrs].flatten.compact
excludes << :id if excludes.empty?
end
parameters = {}.with_indifferent_access
return parameters unless self.class.sources.key?(key)
source = self.class.sources[key]
source.attribute_defs.inject(parameters) do |result, attr_def|
result[attr_def.base] = __send__(attr_def.attr) if excludes.all? { |attr| attr.to_s != attr_def.base }
result
end
end
|