Class: Railsmith::BaseService::InputDefinition
- Inherits:
-
Object
- Object
- Railsmith::BaseService::InputDefinition
- Defined in:
- lib/railsmith/base_service/input_definition.rb
Overview
Value object representing a single declared input on a service.
Constant Summary collapse
- UNSET =
Sentinel distinguishing “no default set” from “default: nil”. Not private — referenced as the keyword-arg default in InputDsl#input.
Object.new.freeze
Instance Attribute Summary collapse
-
#default ⇒ Object
readonly
Returns the value of attribute default.
-
#in_values ⇒ Object
readonly
Returns the value of attribute in_values.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#required ⇒ Object
readonly
Returns the value of attribute required.
-
#transform ⇒ Object
readonly
Returns the value of attribute transform.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
- #default? ⇒ Boolean
-
#initialize(name, type, **options) ⇒ InputDefinition
constructor
A new instance of InputDefinition.
- #resolve_default ⇒ Object
Constructor Details
#initialize(name, type, **options) ⇒ InputDefinition
Returns a new instance of InputDefinition.
18 19 20 21 22 23 24 25 26 |
# File 'lib/railsmith/base_service/input_definition.rb', line 18 def initialize(name, type, **) @name = name.to_sym @type = type @required = .fetch(:required, false) @default = .fetch(:default, UNSET) @in_values = [:in] @transform = [:transform] freeze end |
Instance Attribute Details
#default ⇒ Object (readonly)
Returns the value of attribute default.
11 12 13 |
# File 'lib/railsmith/base_service/input_definition.rb', line 11 def default @default end |
#in_values ⇒ Object (readonly)
Returns the value of attribute in_values.
11 12 13 |
# File 'lib/railsmith/base_service/input_definition.rb', line 11 def in_values @in_values end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
11 12 13 |
# File 'lib/railsmith/base_service/input_definition.rb', line 11 def name @name end |
#required ⇒ Object (readonly)
Returns the value of attribute required.
11 12 13 |
# File 'lib/railsmith/base_service/input_definition.rb', line 11 def required @required end |
#transform ⇒ Object (readonly)
Returns the value of attribute transform.
11 12 13 |
# File 'lib/railsmith/base_service/input_definition.rb', line 11 def transform @transform end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
11 12 13 |
# File 'lib/railsmith/base_service/input_definition.rb', line 11 def type @type end |
Instance Method Details
#default? ⇒ Boolean
28 29 30 |
# File 'lib/railsmith/base_service/input_definition.rb', line 28 def default? !@default.equal?(UNSET) end |
#resolve_default ⇒ Object
32 33 34 |
# File 'lib/railsmith/base_service/input_definition.rb', line 32 def resolve_default default.respond_to?(:call) ? default.call : default end |