Class: Tailmix::Definition::Builders::VariantBuilder
- Inherits:
-
Object
- Object
- Tailmix::Definition::Builders::VariantBuilder
show all
- Defined in:
- lib/tailmix/definition/builders/variant_builder.rb
Instance Method Summary
collapse
Constructor Details
Returns a new instance of VariantBuilder.
7
8
9
10
11
12
|
# File 'lib/tailmix/definition/builders/variant_builder.rb', line 7
def initialize
@class_groups = []
@data = {}
@aria = {}
@attributes = {}
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
26
27
28
29
30
31
32
33
|
# File 'lib/tailmix/definition/builders/variant_builder.rb', line 26
def method_missing(name, *args, &block)
attribute_name = name.to_s.chomp("=").to_sym
value = args.first
@attributes[attribute_name] = value
end
|
Instance Method Details
#aria(hash) ⇒ Object
22
23
24
|
# File 'lib/tailmix/definition/builders/variant_builder.rb', line 22
def aria(hash)
@aria.merge!(hash)
end
|
#build_variant ⇒ Object
39
40
41
42
43
44
45
46
|
# File 'lib/tailmix/definition/builders/variant_builder.rb', line 39
def build_variant
Definition::Result::Variant.new(
class_groups: @class_groups.freeze,
data: @data.freeze,
aria: @aria.freeze,
attributes: @attributes.freeze
)
end
|
#classes(class_string, options = {}) ⇒ Object
14
15
16
|
# File 'lib/tailmix/definition/builders/variant_builder.rb', line 14
def classes(class_string, options = {})
@class_groups << { classes: class_string.to_s.split, options: options }
end
|
#data(hash) ⇒ Object
18
19
20
|
# File 'lib/tailmix/definition/builders/variant_builder.rb', line 18
def data(hash)
@data.merge!(hash)
end
|
#respond_to_missing?(*_args) ⇒ Boolean
35
36
37
|
# File 'lib/tailmix/definition/builders/variant_builder.rb', line 35
def respond_to_missing?(*_args)
true
end
|