Class: Sinatra::Kagero::Props::Field
- Inherits:
-
Object
- Object
- Sinatra::Kagero::Props::Field
- Defined in:
- lib/sinatra/kagero/props.rb
Instance Attribute Summary collapse
-
#default ⇒ Object
readonly
Returns the value of attribute default.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
- #coerce(input, errors) ⇒ Object
-
#initialize(name, type, required:, default:) ⇒ Field
constructor
A new instance of Field.
- #required? ⇒ Boolean
Constructor Details
#initialize(name, type, required:, default:) ⇒ Field
Returns a new instance of Field.
20 21 22 23 24 25 |
# File 'lib/sinatra/kagero/props.rb', line 20 def initialize(name, type, required:, default:) @name = name.to_sym @type = type @required = required @default = default end |
Instance Attribute Details
#default ⇒ Object (readonly)
Returns the value of attribute default.
18 19 20 |
# File 'lib/sinatra/kagero/props.rb', line 18 def default @default end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
18 19 20 |
# File 'lib/sinatra/kagero/props.rb', line 18 def name @name end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
18 19 20 |
# File 'lib/sinatra/kagero/props.rb', line 18 def type @type end |
Instance Method Details
#coerce(input, errors) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/sinatra/kagero/props.rb', line 31 def coerce(input, errors) value = fetch_value(input) if value.equal?(MISSING) return default_value unless default.equal?(MISSING) errors[name] = "is required" if required? return nil end unless valid_type?(value) errors[name] = "must be #{type_name}" return value end value end |
#required? ⇒ Boolean
27 28 29 |
# File 'lib/sinatra/kagero/props.rb', line 27 def required? @required end |