Sha256: 5756298df2d8bc587eb39db401d3efea2f93442488a78d0a557ddcaac1d5b56f
Contents?: true
Size: 1013 Bytes
Versions: 4
Compression:
Stored size: 1013 Bytes
Contents
require 'set' require Sassy.root.join('scss', 'is_scss') module Sassy module SCSS class Rule include IsSCSS def initialize(selector, &block) raise ArgumentError if selector.blank? @selector = selector instance_eval(&block) if block_given? end def declarations @declarations ||= DeclarationSet.new end def rules @rules ||= RuleSet.new end def r(selector, &block) rules.add(selector, &block) end def d(property, value) declarations.add(property, value) end def to_scss a = ["#{@selector} {"] a << declarations.to_scss unless declarations.empty? a << rules.to_scss unless rules.empty? a << "}" a.join(" ") end private def method_missing(method, *args, &block) if block_given? r(method, &block) else d(method.to_s.gsub('_', '-'), args[0]) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
sassy-1.0.0 | lib/sassy/scss/rule.rb |
sassy-0.0.3 | lib/sassy/scss/rule.rb |
sassy-0.0.2 | lib/sassy/scss/rule.rb |
sassy-0.0.1 | lib/sassy/scss/rule.rb |