class Wardrobe::Option

Attributes

default[R]
getter[R]
klass[R]
name[R]
options[R]
plugin[R]
setter[R]

Public Class Methods

new(name, klass, plugin, **kargs) click to toggle source
# File lib/wardrobe/option.rb, line 7
def initialize(name, klass, plugin, **kargs)
  @name = name
  @klass = klass
  @plugin = plugin
  @default = kargs.fetch(:default, nil)
  @getter = Wardrobe.getters[kargs.fetch(:getter, nil)]
  @setter = Wardrobe.setters[kargs.fetch(:setter, nil)]
  @options = kargs
  freeze
end

Public Instance Methods

klass_name() click to toggle source
# File lib/wardrobe/option.rb, line 18
def klass_name
  klass.to_s[/([^:]+)$/,1].downcase
end
use_getter_for_atr?(atr) click to toggle source
# File lib/wardrobe/option.rb, line 22
def use_getter_for_atr?(atr)
  getter&.use_if&.call(atr)
end
use_setter_for_atr?(atr) click to toggle source
# File lib/wardrobe/option.rb, line 26
def use_setter_for_atr?(atr)
  setter&.use_if&.call(atr)
end