Class Limelight::DSL::StyleBuilder
In: lib/limelight/dsl/styles_builder.rb
Parent: Object

The basis of the DSL for defining a Style object.

Methods

extends   hover  

Public Instance methods

Styles may extend other styles.

   base {
     background_color :red
   }

   cell {
     extends :base
     text_color :black
   }

The ‘cell’ style now has all attributes defined in ‘base’. Therefore any prop using the ‘cell’ style will have a red background. Styles may override attributes aquired through extension.

[Source]

     # File lib/limelight/dsl/styles_builder.rb, line 133
133:       def extends(*style_names)
134:         style_names.each do |style_name|
135:           extension = @__styles_builder.__styles[style_name.to_s] || @__styles_builder.__extendable_styles[style_name.to_s]
136:           raise StyleBuilderException.new("Can't extend missing style: '#{style_name}'") if extension.nil?
137:           @__style.add_extension(extension)
138:         end
139:       end

Used to define a hover style. Hover styles are appiled when the mouse passed over a prop using the specified style.

  spinner {
    width 50
    height 50
    hover {
      text_color :white
    }
  }

The text color of props using the ‘spinner’ style will become white when the mouse hovers over them.

[Source]

     # File lib/limelight/dsl/styles_builder.rb, line 115
115:       def hover(&block)
116:         @__styles_builder.__add_style("#{@__name}.hover", &block)
117:       end

[Validate]