24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/modularity/as_trait.rb', line 24
def as_trait(¯o)
@modularity_macro = macro
def self.included(base)
unless base.is_a?(ParametrizedTrait)
base.class_exec(&@modularity_macro)
end
end
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7')
def self.[](*args)
blank_trait = self
ParametrizedTrait.new(blank_trait, args, {})
end
else
def self.[](*args, **kwargs)
blank_trait = self
ParametrizedTrait.new(blank_trait, args, kwargs)
end
end
end
|