Sha256: 15905929844128dfa84b5421f0e658a9100873639dc4353e7f7f518dfeff3512

Contents?: true

Size: 641 Bytes

Versions: 2

Compression:

Stored size: 641 Bytes

Contents

require 'glimmer/dsl/expression'
require 'glimmer/dsl/parent_expression'
require 'glimmer/css/style_sheet'
require 'glimmer/css/rule'

module Glimmer
  module DSL
    module CSS
      class RuleExpression < Expression
        include ParentExpression

        def can_interpret?(parent, keyword, *args, &block)
          parent.is_a?(Glimmer::CSS::StyleSheet) and
            block_given? and
            args.empty?
        end

        def interpret(parent, keyword, *args, &block)
          Glimmer::CSS::Rule.new(keyword.to_s.downcase).tap do |rule|
            parent.rules << rule
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
glimmer-dsl-css-0.2.0 lib/glimmer/dsl/css/rule_expression.rb
glimmer-dsl-css-0.1.0 lib/glimmer/dsl/css/rule_expression.rb