Class: ViewSpec::ParamSet
- Inherits:
-
Object
- Object
- ViewSpec::ParamSet
show all
- Includes:
- Enumerable
- Defined in:
- lib/view_spec/param_set.rb
Instance Method Summary
collapse
Constructor Details
Returns a new instance of ParamSet.
7
8
9
|
# File 'lib/view_spec/param_set.rb', line 7
def initialize
@params = ActiveSupport::OrderedOptions.new.merge!({})
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name) ⇒ Object
30
31
32
33
34
35
36
|
# File 'lib/view_spec/param_set.rb', line 30
def method_missing(name, ...)
if @params.key?(name)
@params.fetch(name).value
else
super
end
end
|
Instance Method Details
#add(name, cast_type = nil, value: nil, **options) ⇒ Object
11
12
13
14
15
16
17
18
|
# File 'lib/view_spec/param_set.rb', line 11
def add(name, cast_type = nil, value: nil, **options)
if name.is_a?(Hash)
name.each { add(_1, value: _2) }
else
@params[name.to_sym] = Param.new(name, cast_type, value:, **options)
end
@params
end
|
#respond_to_missing?(name, include_private = false) ⇒ Boolean
26
27
28
|
# File 'lib/view_spec/param_set.rb', line 26
def respond_to_missing?(name, include_private = false)
@params.key?(name)
end
|
#to_h ⇒ Object
Also known as:
to_hash
20
21
22
|
# File 'lib/view_spec/param_set.rb', line 20
def to_h
@params.transform_values { _1.value }
end
|