Sha256: 82ab16b7e6bd2f78f9b4fb4f315756359e3140dea3954cf567cc97a1d31bc76a

Contents?: true

Size: 808 Bytes

Versions: 5

Compression:

Stored size: 808 Bytes

Contents

require 'spec_helper'

describe Virtus::AttributeSet, '#define_writer_method' do
  subject { described_class.new }

  let(:attribute) { mock('attribute') }

  if RUBY_VERSION < '1.9'
    let(:method_name) { 'foo_bar=' }
  else
    let(:method_name) { :foo_bar= }
  end

  before do
    subject.define_reader_method(attribute, method_name, visibility)
  end

  context "with public visibility" do
    let(:visibility) { :public }

    its(:public_instance_methods) { should include(method_name) }
  end

  context "with private visibility" do
    let(:visibility) { :private }

    its(:private_instance_methods) { should include(method_name) }
  end

  context "with protected visibility" do
    let(:visibility) { :protected }

    its(:protected_instance_methods) { should include(method_name) }
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
virtus-0.5.5 spec/unit/virtus/attribute_set/define_writer_method_spec.rb
virtus-0.5.4 spec/unit/virtus/attribute_set/define_writer_method_spec.rb
virtus-0.5.3 spec/unit/virtus/attribute_set/define_writer_method_spec.rb
fragrant-0.0.5 vendor/bundle/ruby/1.9.1/gems/virtus-0.5.2/spec/unit/virtus/attribute_set/define_writer_method_spec.rb
virtus-0.5.2 spec/unit/virtus/attribute_set/define_writer_method_spec.rb