Class: Servactory::Maintenance::Attributes::Options::Registrar
- Inherits:
-
Object
- Object
- Servactory::Maintenance::Attributes::Options::Registrar
- Defined in:
- lib/servactory/maintenance/attributes/options/registrar.rb
Overview
rubocop:disable Metrics/ClassLength
Constant Summary collapse
- RESERVED_OPTIONS =
%i[ type required default collection must prepare ].freeze
Class Method Summary collapse
Instance Method Summary collapse
- #collection ⇒ Object
-
#initialize(attribute:, options:, features:) ⇒ Registrar
constructor
A new instance of Registrar.
- #register ⇒ Object
Constructor Details
#initialize(attribute:, options:, features:) ⇒ Registrar
Returns a new instance of Registrar.
31 32 33 34 35 |
# File 'lib/servactory/maintenance/attributes/options/registrar.rb', line 31 def initialize(attribute:, options:, features:) @attribute = attribute @options = @features = DEFAULT_FEATURES.merge(features) end |
Class Method Details
.register ⇒ Object
27 28 29 |
# File 'lib/servactory/maintenance/attributes/options/registrar.rb', line 27 def self.register(...) new(...).register end |
Instance Method Details
#collection ⇒ Object
49 50 51 |
# File 'lib/servactory/maintenance/attributes/options/registrar.rb', line 49 def collection @collection ||= Servactory::Maintenance::Attributes::OptionsCollection.new end |
#register ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/servactory/maintenance/attributes/options/registrar.rb', line 39 def register register_feature(:required, Servactory::Inputs::Validations::Required) register_feature(:types, Servactory::Maintenance::Attributes::Validations::Type) register_feature(:default, Servactory::Maintenance::Attributes::Validations::Type) register_feature(:must, Servactory::Maintenance::Attributes::Validations::Must) register_feature(:prepare, nil) self end |