Class: RequestType::Validator::ArrayWithDefault
- Inherits:
-
Object
- Object
- RequestType::Validator::ArrayWithDefault
- Defined in:
- app/models/request_type/validator.rb
Overview
Array class that lets you set a default value If first argument is an array, second argument is assumed to be default Raises exception is default is not in the array In all other cases passes argument to standard array initializer
Instance Attribute Summary collapse
-
#default ⇒ Object
Returns the value of attribute default.
Instance Method Summary collapse
- #include?(option) ⇒ Boolean
-
#initialize(array, default) ⇒ ArrayWithDefault
constructor
A new instance of ArrayWithDefault.
- #method_missing(method) ⇒ Object
- #to_a ⇒ Object
Constructor Details
#initialize(array, default) ⇒ ArrayWithDefault
Returns a new instance of ArrayWithDefault.
70 71 72 73 74 75 |
# File 'app/models/request_type/validator.rb', line 70 def initialize(array, default) raise StandardError, 'Default is not in array' unless array.include?(default) @default = default @array = array end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method) ⇒ Object
77 78 79 |
# File 'app/models/request_type/validator.rb', line 77 def method_missing(method, ...) @array.send(method, ...) end |
Instance Attribute Details
#default ⇒ Object
Returns the value of attribute default.
68 69 70 |
# File 'app/models/request_type/validator.rb', line 68 def default @default end |
Instance Method Details
#include?(option) ⇒ Boolean
81 82 83 84 |
# File 'app/models/request_type/validator.rb', line 81 def include?(option) # We have to define include specifically @array.include?(option) end |
#to_a ⇒ Object
86 87 88 |
# File 'app/models/request_type/validator.rb', line 86 def to_a @array end |