Class: PersistentEnum::EnumSpec::ConstantEvaluator

Inherits:
Object
  • Object
show all
Defined in:
lib/persistent_enum.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, **args) ⇒ Object



87
88
89
# File 'lib/persistent_enum.rb', line 87

def method_missing(name, **args)
  constant!(name, **args)
end

Instance Method Details

#constant!(name, **args) ⇒ Object



83
84
85
# File 'lib/persistent_enum.rb', line 83

def constant!(name, **args)
  @constants[name] = args
end

#evaluate(&block) ⇒ Object



77
78
79
80
81
# File 'lib/persistent_enum.rb', line 77

def evaluate(&block)
  @constants = {}
  self.instance_eval(&block)
  @constants
end

#respond_to_missing?(_name, _include_all = true) ⇒ Boolean

Returns:

  • (Boolean)


91
92
93
# File 'lib/persistent_enum.rb', line 91

def respond_to_missing?(_name, _include_all = true)
  true
end