Sha256: d8bb86bb341613caac7bfba851ea3d6024f41dc8e817ccb6c951901e15cd3649

Contents?: true

Size: 806 Bytes

Versions: 5

Compression:

Stored size: 806 Bytes

Contents

require 'spec_helper'

describe Virtus::AttributeSet, '#define_reader_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_reader_method_spec.rb
virtus-0.5.4 spec/unit/virtus/attribute_set/define_reader_method_spec.rb
virtus-0.5.3 spec/unit/virtus/attribute_set/define_reader_method_spec.rb
fragrant-0.0.5 vendor/bundle/ruby/1.9.1/gems/virtus-0.5.2/spec/unit/virtus/attribute_set/define_reader_method_spec.rb
virtus-0.5.2 spec/unit/virtus/attribute_set/define_reader_method_spec.rb