class Inkcite::Renderer::Responsive::Rule
Attributes
declarations[R]
klass[R]
Public Class Methods
new(tags, klass, declarations, active=true)
click to toggle source
# File lib/inkcite/renderer/responsive.rb, line 43 def initialize tags, klass, declarations, active=true @klass = klass @declarations = declarations @tags = Set.new [*tags] # By default, a rule isn't considered active until it has # been marked used. This allows the view to declare built-in # styles (such as hide or stack) that don't show up in the # rendered HTML unless the author references them. @active = active end
Public Instance Methods
<<(tag)
click to toggle source
# File lib/inkcite/renderer/responsive.rb, line 57 def << tag @tags << tag end
activate!()
click to toggle source
# File lib/inkcite/renderer/responsive.rb, line 61 def activate! @active = true end
active?()
click to toggle source
# File lib/inkcite/renderer/responsive.rb, line 65 def active? @active end
att_selector_string()
click to toggle source
# File lib/inkcite/renderer/responsive.rb, line 69 def att_selector_string ".#{@klass}" end
block?()
click to toggle source
# File lib/inkcite/renderer/responsive.rb, line 73 def block? declaration_string.downcase.include?('block') end
declaration_string()
click to toggle source
# File lib/inkcite/renderer/responsive.rb, line 77 def declaration_string if @declarations.is_a?(Hash) Renderer.render_styles(@declarations) elsif @declarations.is_a?(Array) @declarations.join(' ') else @declarations.to_s end end
include?(tag)
click to toggle source
# File lib/inkcite/renderer/responsive.rb, line 87 def include? tag universal? || @tags.include?(tag) end
to_css()
click to toggle source
# File lib/inkcite/renderer/responsive.rb, line 91 def to_css rule = "" att_selector = att_selector_string if universal? # Only the attribute selector is needed when the rule is universal. # http://www.w3.org/TR/CSS2/selector.html#universal-selector rule << att_selector else # Create an attribute selector that targets each tag. @tags.sort.each do |tag| rule << ',' unless rule.blank? rule << tag rule << att_selector end end rule << " { " rule << declaration_string rule << " }" rule end
universal?()
click to toggle source
# File lib/inkcite/renderer/responsive.rb, line 121 def universal? @tags.include?(UNIVERSAL) end