class CSSNative::Rule::Stylesheet

Public Class Methods

new(controller) click to toggle source
# File lib/css-native/rule/stylesheet.rb, line 5
def initialize(controller)
  @properties = {}
  @controller = controller
end

Public Instance Methods

method_missing(m, *args, &block) click to toggle source
Calls superclass method
# File lib/css-native/rule/stylesheet.rb, line 26
def method_missing(m, *args, &block)
  if m.to_s.end_with? "="
    props = args[0]
    props = props.join(" ") if props.kind_of?(Array)
    @properties[m.to_s.gsub("_", "-")[...-1]] = props.to_s
  else
    super(m, *args, &block)
  end
end
subrule() click to toggle source
# File lib/css-native/rule/stylesheet.rb, line 10
def subrule
  parent = @controller.instance_variable_get(:@parent)        
  selector = @controller.instance_variable_get(:@selector)
  previous = @controller.instance_variable_get(:@previous)
  
  Rule.new(parent, selector, previous: previous)
end
to_s() click to toggle source
# File lib/css-native/rule/stylesheet.rb, line 18
def to_s
  "{\n" + 
  @properties.map do |k, v|
    "  #{k}: #{v};"
  end.join("\n") +
  "\n}"
end