Module: PartialsFx::Component::Attributes::ClassMethods

Included in:
PartialsFx::Component
Defined in:
lib/partials_fx/component/attributes.rb

Instance Method Summary collapse

Instance Method Details

#attribute(name, *arguments, required: false, inquiry: false, **options) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/partials_fx/component/attributes.rb', line 5

def attribute(name, *arguments, required: false, inquiry: false, **options)
  track_required_attribute(name) if required

  super(name, *arguments, **options)

  return unless inquiry

  define_method(name) do
    value = super()

    return value if value.nil?

    ActiveSupport::StringInquirer.new(value.to_s)
  end
end

#required_attributesObject



21
22
23
# File 'lib/partials_fx/component/attributes.rb', line 21

def required_attributes
  @required_attributes || []
end