Commit e57551a
Changed files (3)
lib
humble
spec
integration
fixtures
lib/humble/mapping_configuration.rb
@@ -10,7 +10,8 @@ module Humble
end
def save_using(connection, item)
- connection[@table.name].insert(@table.insert(item))
+ id = connection[@table.name].insert(@table.insert(item))
+ item.instance_variable_set('@id', id)
end
def is_for?(item)
spec/integration/fixtures/movie_mapping.rb
@@ -2,7 +2,7 @@ class Movie
attr_reader :id, :name
def initialize(attributes)
- @id = attributes[:name] || -1
+ @id = attributes[:id] || -1
@name = attributes[:name]
end
end
spec/integration/example_spec.rb
@@ -42,9 +42,11 @@ describe "orm" do
end
context "when inserting a new record" do
+ let(:movie) { Movie.new(:name => 'oop') }
+
before :each do
session.begin_transaction do |session|
- session.save(Movie.new(:name => 'oop'))
+ session.save(movie)
end
end
@@ -62,6 +64,11 @@ describe "orm" do
it "should insert the name" do
results.first[:name].should == 'oop'
end
+
+ it "should update the new item with the new id" do
+ p movie.id
+ movie.id.should_not == -1
+ end
end
end