Class: NitroKit::Component

Inherits:
Phlex::HTML
  • Object
show all
Defined in:
app/components/nitro_kit/component.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}, **defaults) ⇒ Component

Returns a new instance of Component.



5
6
7
# File 'app/components/nitro_kit/component.rb', line 5

def initialize(attrs = {}, **defaults)
  @attrs = merge_attrs(attrs, **defaults)
end

Instance Attribute Details

#attrsObject (readonly)

Returns the value of attribute attrs.



9
10
11
# File 'app/components/nitro_kit/component.rb', line 9

def attrs
  @attrs
end

Class Method Details

.from_template(*args, **attrs, &block) ⇒ Object



11
12
13
# File 'app/components/nitro_kit/component.rb', line 11

def self.from_template(*args, **attrs, &block)
  new(*args, **attrs, &block).tap { |instance| instance.instance_variable_set(:@_nk_from_template, true) }
end

Instance Method Details

#builder(&block) ⇒ Object



15
16
17
# File 'app/components/nitro_kit/component.rb', line 15

def builder(&block)
  @_nk_from_template ? capture(&block) : yield
end