diff options
| author | mo khan <mo@mokhan.ca> | 2014-07-12 13:47:30 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2014-07-12 13:47:30 -0600 |
| commit | 9d11dbbb3053811be6fd54407e08b5119c9756b3 (patch) | |
| tree | dd216287acb0eb63f396b0ad757082a09fb107ff /lib/humble/mapping_configuration.rb | |
| parent | 8d4e52f369a1571b5745f83d028a2d3b3c7ec268 (diff) | |
load a has_many relationship.
Diffstat (limited to 'lib/humble/mapping_configuration.rb')
| -rw-r--r-- | lib/humble/mapping_configuration.rb | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/humble/mapping_configuration.rb b/lib/humble/mapping_configuration.rb index 3b57f04..f70c97b 100644 --- a/lib/humble/mapping_configuration.rb +++ b/lib/humble/mapping_configuration.rb @@ -12,8 +12,8 @@ module Humble def save_using(session, entity) connection = session.create_connection[@table.name] if primary_key.has_default_value?(entity) - result = connection.insert(@table.prepare_statement_for(entity)) - primary_key.apply(result, entity, session) + connection.insert(@table.prepare_statement_for(entity)) + primary_key.apply(connection, entity, session) else connection.update(@table.prepare_statement_for(entity)) end @@ -40,17 +40,19 @@ module Humble end class DefaultMapper + attr_reader :session, :table + def initialize(table, session) @table = table @session = session end def map_from(row) - @table.type.new.tap do |entity| - row.each do |key, value| - @table.column_for(key).apply(value, entity, @session) - end + entity = table.type.new + table.each do |column| + column.apply(row, entity, session) end + entity end end end |
