Class: Habaki::MediaRule

Inherits:
Rule show all
Defined in:
lib/habaki/media_rule.rb

Overview

Rule for @media

Instance Attribute Summary collapse

Attributes inherited from Rule

#stylesheet

Instance Method Summary collapse

Methods inherited from Rule

#declarations, #each_declaration, #each_selector, #element_match?, #selectors

Methods inherited from Node

#to_s

Constructor Details

#initializeMediaRule



142
143
144
145
# File 'lib/habaki/media_rule.rb', line 142

def initialize
  @medias = MediaQueries.new
  @rules = Rules.new
end

Instance Attribute Details

#mediasMediaQueries



138
139
140
# File 'lib/habaki/media_rule.rb', line 138

def medias
  @medias
end

#rulesRules



140
141
142
# File 'lib/habaki/media_rule.rb', line 140

def rules
  @rules
end

Instance Method Details

#media_match?(media) ⇒ Boolean

does rule media match ?



150
151
152
153
154
155
156
157
# File 'lib/habaki/media_rule.rb', line 150

def media_match?(media)
  case media
  when ::String, NilClass
    @medias.media_match?(Visitor::Media.new(media))
  else
    @medias.media_match?(media)
  end
end

#read_from_katana(rule) ⇒ void

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.

This method returns an undefined value.



168
169
170
171
# File 'lib/habaki/media_rule.rb', line 168

def read_from_katana(rule)
  @medias = MediaQueries.read_from_katana(rule.medias)
  @rules = Rules.read_from_katana(rule.rules)
end

#string(format = Formatter::Base.new) ⇒ String



161
162
163
# File 'lib/habaki/media_rule.rb', line 161

def string(format = Formatter::Base.new)
  "@media #{@medias.string(format)} {\n#{@rules.string(format + 1)}\n}"
end