class ModuleConcernTest
Public Instance Methods
should_be_public()
click to toggle source
# File activesupport/test/core_ext/module/concerning_test.rb, line 18 def should_be_public; end
test_concern_creates_a_module_extended_with_active_support_concern()
click to toggle source
# File activesupport/test/core_ext/module/concerning_test.rb, line 14 def test_concern_creates_a_module_extended_with_active_support_concern klass = Class.new do concern :Baz do included { @foo = 1 } def should_be_public; end end end # Declares a concern but doesn't include it assert klass.const_defined?(:Baz, false) assert !ModuleConcernTest.const_defined?(:Baz) assert_kind_of ActiveSupport::Concern, klass::Baz assert_not_includes klass.ancestors, klass::Baz, klass.ancestors.inspect # Public method visibility by default assert_includes klass::Baz.public_instance_methods.map(&:to_s), "should_be_public" # Calls included hook assert_equal 1, Class.new { include klass::Baz }.instance_variable_get("@foo") end
test_using_class_methods_blocks_instead_of_ClassMethods_module()
click to toggle source
# File activesupport/test/core_ext/module/concerning_test.rb, line 57 def test_using_class_methods_blocks_instead_of_ClassMethods_module assert !Foo.respond_to?(:will_be_orphaned) assert Foo.respond_to?(:hacked_on) assert Foo.respond_to?(:nicer_dsl) assert Foo.respond_to?(:doesnt_clobber) # Orphan in Foo::ClassMethods, not Bar::ClassMethods. assert Foo.const_defined?(:ClassMethods) assert Foo::ClassMethods.method_defined?(:will_be_orphaned) end