Class: Modularity::ParametrizedTrait
- Inherits:
-
Module
- Object
- Module
- Modularity::ParametrizedTrait
- Defined in:
- lib/modularity/as_trait.rb
Instance Method Summary collapse
- #included(base) ⇒ Object
-
#initialize(blank_trait, args, kwargs) ⇒ ParametrizedTrait
constructor
A new instance of ParametrizedTrait.
Constructor Details
#initialize(blank_trait, args, kwargs) ⇒ ParametrizedTrait
Returns a new instance of ParametrizedTrait.
5 6 7 8 9 10 |
# File 'lib/modularity/as_trait.rb', line 5 def initialize(blank_trait, args, kwargs) @args = args @kwargs = kwargs @macro = blank_trait.instance_variable_get(:@modularity_macro) include(blank_trait) end |
Instance Method Details
#included(base) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/modularity/as_trait.rb', line 12 def included(base) if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7') base.class_exec(*@args, &@macro) else base.class_exec(*@args, **@kwargs, &@macro) end end |