Sha256: 288083c05d9e103a6bf427c4a990d71e7753507498d31770c9a5e7f155bf456f
Contents?: true
Size: 1.24 KB
Versions: 3
Compression:
Stored size: 1.24 KB
Contents
require File.expand_path('../spec_helper', File.dirname(__FILE__)) require 'gorillib/metaprogramming/mattr_accessor' describe Module do describe 'mattr_accessor' do before do m = @module = Module.new do mattr_accessor :foo mattr_accessor :bar, :instance_writer => false mattr_reader :shaq, :instance_reader => false end @class = Class.new @class.instance_eval { include m } @object = @class.new end it 'does not have an effect if already provided by another library.' it 'uses mattr default' do @module.foo.should be_nil @object.foo.should be_nil end it 'sets mattr value' do @module.foo = :test @object.foo.should == :test @object.foo = :test2 @module.foo.should == :test2 end it 'with :instance_writer => false, does not create instance writer' do @module.should respond_to(:foo) @module.should respond_to(:foo=) @object.should respond_to(:bar) @object.should_not respond_to(:bar=) end it 'with :instance_writer => false, does not create instance reader' do @module.should respond_to(:shaq) @object.should_not respond_to(:shaq) @object.should_not respond_to(:shaq=) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gorillib-0.1.11 | spec/metaprogramming/mattr_accessor_spec.rb |
gorillib-0.1.9 | spec/metaprogramming/mattr_accessor_spec.rb |
gorillib-0.1.8 | spec/metaprogramming/mattr_accessor_spec.rb |