Method: Eve::API::Response::Rowsets#copy_attributes
- Defined in:
- lib/eve/api/response/rowsets.rb
#copy_attributes(columns, row_element, into = self) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/eve/api/response/rowsets.rb', line 16 def copy_attributes(columns, row_element, into = self) attributes = row_element.attributes.to_hash.rename((@options[:column_mapping] || {})) #missing_attributes = columns - attributes.keys #extra_attributes = attributes.keys - columns #raise Eve::Errors::InvalidRowset, # "Missing attributes from row: #{missing_attributes.inspect}" if !missing_attributes.empty? #raise Eve::Errors::InvalidRowset, # "Extra attributes in row: #{extra_attributes.inspect}" if !extra_attributes.empty? if !into.respond_to?(:wrap_object) klass = into.class klass.send(:include, WrapObject) end columns.each do |column| into.send(:wrap_object, column, value_for(attributes[column])) end end |