Module: Wardrobe
- Extended by:
- ModuleMethods
- Included in:
- RootConfig
- Defined in:
- lib/wardrobe.rb,
lib/wardrobe/store.rb,
lib/wardrobe/option.rb,
lib/wardrobe/plugin.rb,
lib/wardrobe/stores.rb,
lib/wardrobe/boolean.rb,
lib/wardrobe/version.rb,
lib/wardrobe/attribute.rb,
lib/wardrobe/block_setup.rb,
lib/wardrobe/root_config.rb,
lib/wardrobe/option_store.rb,
lib/wardrobe/plugin_store.rb,
lib/wardrobe/class_methods.rb,
lib/wardrobe/getter_setter.rb,
lib/wardrobe/module_methods.rb,
lib/wardrobe/attribute_store.rb,
lib/wardrobe/plugins/default.rb,
lib/wardrobe/instance_methods.rb,
lib/wardrobe/plugins/equality.rb,
lib/wardrobe/plugins/coercible.rb,
lib/wardrobe/plugins/immutable.rb,
lib/wardrobe/plugins/presenter.rb,
lib/wardrobe/plugins/validation.rb,
lib/wardrobe/plugins/nil_if_zero.rb,
lib/wardrobe/plugins/configurable.rb,
lib/wardrobe/plugins/nil_if_empty.rb,
lib/wardrobe/plugins/alias_setters.rb,
lib/wardrobe/plugins/dirty_tracker.rb,
lib/wardrobe/plugins/ivy_presenter.rb,
lib/wardrobe/plugins/optional_getter.rb,
lib/wardrobe/plugins/optional_setter.rb,
lib/wardrobe/plugins/html_initializer.rb,
lib/wardrobe/plugins/json_initializer.rb,
lib/wardrobe/plugins/validation/validator.rb,
lib/wardrobe/plugins/validation/deep_merge.rb,
lib/wardrobe/plugins/validation/validation.rb,
lib/wardrobe/plugins/validation/error_store.rb,
lib/wardrobe/plugins/validation/block_handler.rb,
lib/wardrobe/plugins/validation/class_methods.rb,
lib/wardrobe/plugins/coercible/refinements/set.rb,
lib/wardrobe/plugins/coercible/refinements/date.rb,
lib/wardrobe/plugins/coercible/refinements/hash.rb,
lib/wardrobe/plugins/coercible/refinements/time.rb,
lib/wardrobe/plugins/presenter/refinements/hash.rb,
lib/wardrobe/plugins/presenter/refinements/time.rb,
lib/wardrobe/plugins/validation/refinements/set.rb,
lib/wardrobe/plugins/coercible/refinements/array.rb,
lib/wardrobe/plugins/coercible/refinements/float.rb,
lib/wardrobe/plugins/presenter/refinements/array.rb,
lib/wardrobe/plugins/validation/instance_methods.rb,
lib/wardrobe/plugins/validation/refinements/date.rb,
lib/wardrobe/plugins/validation/refinements/hash.rb,
lib/wardrobe/plugins/validation/validation_error.rb,
lib/wardrobe/plugins/validation/validaton_runner.rb,
lib/wardrobe/plugins/coercible/refinements/object.rb,
lib/wardrobe/plugins/coercible/refinements/string.rb,
lib/wardrobe/plugins/coercible/refinements/symbol.rb,
lib/wardrobe/plugins/presenter/refinements/object.rb,
lib/wardrobe/plugins/validation/refinements/_size.rb,
lib/wardrobe/plugins/validation/refinements/array.rb,
lib/wardrobe/plugins/coercible/refinements/boolean.rb,
lib/wardrobe/plugins/coercible/refinements/integer.rb,
lib/wardrobe/plugins/validation/refinements/object.rb,
lib/wardrobe/plugins/validation/refinements/string.rb,
lib/wardrobe/plugins/validation/refinements/symbol.rb,
lib/wardrobe/plugins/validation/refinements/integer.rb,
lib/wardrobe/plugins/validation/refinements/numeric.rb,
lib/wardrobe/plugins/coercible/refinements/date_time.rb,
lib/wardrobe/plugins/configurable/configurable_store.rb,
lib/wardrobe/plugins/validation/refinements/nil_class.rb,
lib/wardrobe/plugins/coercible/refinements/unsupported_error.rb
Overview
rubocop:disable Metrics/CyclomaticComplexity
Defined Under Namespace
Modules: ClassMethods, InstanceMethods, ModuleMethods, Plugin, Plugins Classes: Attribute, AttributeStore, BlockSetup, Boolean, NoPluginRegisteredError, Option, OptionStore, PluginNameTakenError, PluginOptionKeywordTakenError, PluginStore, RootConfig, SetterGetter, Store, Stores, UnavailableOptionError
Constant Summary collapse
- VERSION =
'0.1.1'
Class Attribute Summary collapse
-
.getters ⇒ Object
readonly
Returns the value of attribute getters.
-
.options ⇒ Object
readonly
Returns the value of attribute options.
-
.plugins ⇒ Object
readonly
Returns the value of attribute plugins.
-
.setters ⇒ Object
readonly
Returns the value of attribute setters.
Class Method Summary collapse
- .register_getter(name:, priority:, getter:, use_if: ->(_atr) { true }) ⇒ Object
- .register_plugin(name, mod) ⇒ Object
- .register_setter(name:, priority:, setter:, use_if: ->(_atr) { true }) ⇒ Object
Methods included from ModuleMethods
config, configure, create_class, included, logger
Class Attribute Details
.getters ⇒ Object (readonly)
Returns the value of attribute getters.
3 4 5 |
# File 'lib/wardrobe/getter_setter.rb', line 3 def getters @getters end |
.options ⇒ Object (readonly)
Returns the value of attribute options.
8 9 10 |
# File 'lib/wardrobe/plugin.rb', line 8 def end |
.plugins ⇒ Object (readonly)
Returns the value of attribute plugins.
8 9 10 |
# File 'lib/wardrobe/plugin.rb', line 8 def plugins @plugins end |
.setters ⇒ Object (readonly)
Returns the value of attribute setters.
3 4 5 |
# File 'lib/wardrobe/getter_setter.rb', line 3 def setters @setters end |
Class Method Details
.register_getter(name:, priority:, getter:, use_if: ->(_atr) { true }) ⇒ Object
28 29 30 31 |
# File 'lib/wardrobe/getter_setter.rb', line 28 def self.register_getter(name:, priority:, getter:, use_if: ->(_atr) { true }) raise 'Name taken' if getters[name] getters[name] = SetterGetter.new(name, priority, getter, use_if) end |
.register_plugin(name, mod) ⇒ Object
13 14 15 16 |
# File 'lib/wardrobe/plugin.rb', line 13 def self.register_plugin(name, mod) raise PluginNameTakenError, "Plugin #{name} already in use" if plugins[name] plugins[name] = mod end |
.register_setter(name:, priority:, setter:, use_if: ->(_atr) { true }) ⇒ Object
23 24 25 26 |
# File 'lib/wardrobe/getter_setter.rb', line 23 def self.register_setter(name:, priority:, setter:, use_if: ->(_atr) { true }) raise 'Name taken' if setters[name] setters[name] = SetterGetter.new(name, priority, setter, use_if) end |