Class: Roadie::StyleBlock Private

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/roadie/style_block.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

A style block is the combination of a Selector and a list of StyleProperty.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(selector, properties, media) ⇒ StyleBlock

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of StyleBlock.

Parameters:

  • selector (Selector)
  • properties (Array<StyleProperty>)
  • media (Array<String>)

    Array of media types, e.g. @media screen, print and (max-width 800px) will become

    ‘screen’, ‘print and (max-width 800px)’


18
19
20
21
22
# File 'lib/roadie/style_block.rb', line 18

def initialize(selector, properties, media)
  @selector = selector
  @properties = properties
  @media = media.map(&:to_s)
end

Instance Attribute Details

#mediaObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



11
12
13
# File 'lib/roadie/style_block.rb', line 11

def media
  @media
end

#propertiesObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



11
12
13
# File 'lib/roadie/style_block.rb', line 11

def properties
  @properties
end

#selectorObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



11
12
13
# File 'lib/roadie/style_block.rb', line 11

def selector
  @selector
end

Instance Method Details

#inlinable?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Checks whether the media query can be inlined

Returns:

  • (Boolean)

See Also:

  • inlineable_media


34
35
36
# File 'lib/roadie/style_block.rb', line 34

def inlinable?
  inlinable_media? && selector.inlinable?
end

#selector_stringObject



29
# File 'lib/roadie/style_block.rb', line 29

def_delegator :selector, :to_s, :selector_string

#specificityObject



26
# File 'lib/roadie/style_block.rb', line 26

def_delegators :selector, :specificity

#to_sString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

String representation of the style block. This is valid CSS and can be used in the DOM.

Returns:

  • (String)


41
42
43
44
# File 'lib/roadie/style_block.rb', line 41

def to_s
  # NB - leave off redundant final semicolon - see https://www.w3.org/TR/CSS2/syndata.html#declaration
  "#{selector}{#{properties.map(&:to_s).join(";")}}"
end