Sha256: 91c15fa05e64a73e01dcb793ea76a1de92da4ee0515e53c6c5d207148e555f54

Contents?: true

Size: 1.23 KB

Versions: 3

Compression:

Stored size: 1.23 KB

Contents

require 'spec_helper'

describe Lumber::PreventRailsOverride do

  it "should prevent cattr_accessor for :logger" do
    new_class('Foo1')
    Foo1.send(:include, Lumber::PreventRailsOverride)
    Foo1.class_eval do
      cattr_accessor :logger
    end
    Foo1.method_defined?(:logger).should be_false
    Foo1.method_defined?(:logger=).should be_false
  end

  it "should allow cattr_accessor for attrs other than :logger" do
    new_class('Foo1')
    Foo1.send(:include, Lumber::PreventRailsOverride)
    Foo1.class_eval do
      cattr_accessor :foo
    end
    Foo1.method_defined?(:foo).should be_true
    Foo1.method_defined?(:foo=).should be_true
  end

  it "should prevent mattr_accessor for :logger" do
    new_class('Foo1')
    Foo1.send(:include, Lumber::PreventRailsOverride)
    Foo1.class_eval do
      mattr_accessor :logger
    end
    Foo1.method_defined?(:logger).should be_false
    Foo1.method_defined?(:logger=).should be_false
  end

  it "should allow mattr_accessor for attrs other than :logger" do
    new_class('Foo1')
    Foo1.send(:include, Lumber::PreventRailsOverride)
    Foo1.class_eval do
      mattr_accessor :foo
    end
    Foo1.method_defined?(:foo).should be_true
    Foo1.method_defined?(:foo=).should be_true
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lumber-1.1.3 spec/prevent_rails_override_spec.rb
lumber-1.1.2 spec/prevent_rails_override_spec.rb
lumber-1.1.1 spec/prevent_rails_override_spec.rb