Module: Penetrator::Behavior
- Defined in:
- lib/penetrator.rb
Overview
Concern
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
-
#behaves_like(trait_name, *args) ⇒ Object
ClassMethods.
Class Method Details
.included(base) ⇒ Object
40 41 42 |
# File 'lib/penetrator.rb', line 40 def self.included(base) base.extend ClassMethods end |
Instance Method Details
#behaves_like(trait_name, *args) ⇒ Object
ClassMethods
53 54 55 56 57 58 |
# File 'lib/penetrator.rb', line 53 def behaves_like(trait_name, *args) full_name = "#{Penetrator::Inflector.camelize(trait_name.to_s)}Trait" trait = Penetrator::Inflector.constantize(full_name) trait.instance_variable_set(:@_trait_args, args) extend trait end |