Class: Tailmix::Definition::Builders::DimensionBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/tailmix/definition/builders/dimension_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(default: nil) ⇒ DimensionBuilder

Returns a new instance of DimensionBuilder.



9
10
11
12
# File 'lib/tailmix/definition/builders/dimension_builder.rb', line 9

def initialize(default: nil)
  @variants = {}
  @default = default
end

Instance Method Details

#build_dimensionObject



25
26
27
28
29
30
# File 'lib/tailmix/definition/builders/dimension_builder.rb', line 25

def build_dimension
  {
    default: @default,
    variants: @variants.freeze
  }
end

#variant(name, classes = "", data: {}, aria: {}, &block) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/tailmix/definition/builders/dimension_builder.rb', line 14

def variant(name, classes = "", data: {}, aria: {}, &block)
  builder = VariantBuilder.new

  builder.classes(classes) if classes && !classes.empty?
  builder.data(data)
  builder.aria(aria)

  builder.instance_eval(&block) if block
  @variants[name] = builder.build_variant
end