class CSSNative

Attributes

rules[R]

Public Class Methods

new() click to toggle source
# File lib/css-native.rb, line 13
def initialize
  @rules = []
end
stylesheet(&block) click to toggle source
# File lib/css-native.rb, line 6
def self.stylesheet(&block)
  sheet = new
  sheet.instance_eval(&block)
  sheet
end

Public Instance Methods

attribute(name, operation = :none, value = nil, case_sensitive: true, &block) click to toggle source
# File lib/css-native.rb, line 34
def attribute(name, operation = :none, value = nil, case_sensitive: true, &block)
    Rule.new(self).with_attribute(name, operation, value, case_sensitive: case_sensitive, &block)
end
class(name = nil, &block) click to toggle source
# File lib/css-native.rb, line 22
def class(name = nil, &block)
  if name.nil?
    klass
  else
    Rule.new(self).with_class(name, &block)
  end
end
Also aliased as: klass
element(name, &block) click to toggle source
# File lib/css-native.rb, line 17
def element(name, &block)
  Rule.new(self).with_element(name, &block)
end
id(name, &block) click to toggle source
# File lib/css-native.rb, line 30
def id(name, &block)
    Rule.new(self).with_id(name, &block)
end
klass(name = nil, &block)
Alias for: class
select(name, *args, type: :element, &block) click to toggle source
# File lib/css-native.rb, line 38
def select(name, *args, type: :element, &block)
  case type
  when :element
    Rule.new(self).with(name, &block)
  when :class
    self.class(name, &block)
  when :id
    id(name, &block)
  when :attribute
    attribute(name, *args, &block)
  else
    raise RuleError.new(rule: type)
  end
end
to_s() click to toggle source
# File lib/css-native.rb, line 53
def to_s
  @rules.join("\n")
end