diff --git a/lib/redis/objects/locks.rb b/lib/redis/objects/locks.rb index 4ee4c95..48c1977 100644 --- a/lib/redis/objects/locks.rb +++ b/lib/redis/objects/locks.rb @@ -25,7 +25,7 @@ def lock(name, options={}) instance_variable_get(ivar_name) or instance_variable_set(ivar_name, Redis::Lock.new( - redis_field_key(lock_name), redis_field_redis(lock_name), redis_objects[lock_name.to_sym] + redis_field_key(lock_name), redis_field_redis(lock_name), redis_options(lock_name) ) ) end diff --git a/spec/redis_objects_model_spec.rb b/spec/redis_objects_model_spec.rb index 9b4c950..6d2ecfa 100644 --- a/spec/redis_objects_model_spec.rb +++ b/spec/redis_objects_model_spec.rb @@ -921,6 +921,15 @@ class CustomIdFieldRoster < UidRoster VanillaRoster.last_player.should.be.kind_of(Redis::Value) end + it "should allow subclass objects to get options from superclass" do + @vanilla_roster.available_slots.options[:start].should == 10 + @vanilla_roster.contact_information.options[:marshal_keys].should == { 'updated_at'=> true } + @vanilla_roster.resort_lock.options[:timeout].should == 2 + @vanilla_roster.starting_pitcher.options[:marshal].should == true + @vanilla_roster.player_stats.options[:marshal].should == true + @vanilla_roster.outfielders.options[:marshal].should == true + end + it "should allow subclass overrides of the same redis object" do @roster.basic.should == 0 @custom_roster.basic.increment.should == 1