Module: CopyMethod::Utils
- Included in:
- MethodCopier
- Defined in:
- lib/copy_method/utils.rb
Class Method Summary collapse
- .activesupport_concern?(thing) ⇒ Boolean
- .assert_module!(thing, parameter_name = :thing) ⇒ Module, Class
- .looks_like_module?(object) ⇒ Boolean
Class Method Details
.activesupport_concern?(thing) ⇒ Boolean
20 21 22 23 24 |
# File 'lib/copy_method/utils.rb', line 20 def activesupport_concern?(thing) return false unless defined?(ActiveSupport::Concern) looks_like_module?(thing) && thing.kind_of?(ActiveSupport::Concern) end |
.assert_module!(thing, parameter_name = :thing) ⇒ Module, Class
14 15 16 17 18 |
# File 'lib/copy_method/utils.rb', line 14 def assert_module!(thing, parameter_name = :thing) raise TypeError, "#{parameter_name}: #{thing.inspect} is not a `Module`" unless thing.is_a?(Module) return thing end |
.looks_like_module?(object) ⇒ Boolean
6 7 8 |
# File 'lib/copy_method/utils.rb', line 6 def looks_like_module?(object) object.is_a?(::Module) && ( object.class == ::Module || object.ancestors.include?(Module) ) end |