Sha256: 7a25cd819d0a9414e648d8611d4ea19daefeaa6399ef345314db4f44dc577ae7

Contents?: true

Size: 682 Bytes

Versions: 4

Compression:

Stored size: 682 Bytes

Contents

require 'set'
require Sassy.root.join('scss', 'is_scss')

module Sassy
  module SCSS
    class RuleSet

      include IsSCSS

      def initialize(&block)
        instance_eval(&block) if block_given?
      end

      def add(rule_or_selector, &block)
        set << case rule_or_selector
        when Rule
          rule_or_selector
        else
          Rule.new(rule_or_selector, &block)
        end
      end

      # TODO: test this
      def to_scss
        set.to_a.map(&:to_scss).sort.join(" ")
      end

      # TODO: test this
      delegate :empty?, :to => :set

      private

      # TODO: test this
      def set
        @set ||= Set.new
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sassy-1.0.0 lib/sassy/scss/rule_set.rb
sassy-0.0.3 lib/sassy/scss/rule_set.rb
sassy-0.0.2 lib/sassy/scss/rule_set.rb
sassy-0.0.1 lib/sassy/scss/rule_set.rb