Sha256: 5eec7185e560caf719aeafdd024152e39b3bdfbfe2041e27b6343d0e11cb3f9a

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

require 'singleton'
require 'delegate'

module HtmlConditionalComment
  module Nodes
    module Node
      def accept(visitor)
        visitor.visit(self)
      end
    end

    class NodeItem
      include Node
    end

    class Nodes < Array
      include Node
    end

    class ChildOperator < NodeItem
      attr_accessor :child
    end
    class BranchOperator < NodeItem
      attr_accessor :left, :right
    end
    class Comparison < ChildOperator; end
    class Condition < BranchOperator; end


    class Or < BranchOperator; end
    class And < BranchOperator; end
    class Not < ChildOperator; end

    class Equal < Comparison; end
    class LessThan < Comparison; end
    class LessThanEqual < Comparison; end
    class GreaterThan < Comparison; end
    class GreaterThanEqual < Comparison; end

    class Browser < NodeItem
      attr_accessor :feature, :version_vector
    end
    class True < NodeItem
      include Singleton
    end
    class False < NodeItem
      include Singleton
    end

    class Html < NodeItem
      attr_accessor :content
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
html-conditional-comment-0.1.0 lib/html-conditional-comment/nodes.rb
html-conditional-comment-0.0.3 lib/html-conditional-comment/nodes.rb
html-conditional-comment-0.0.2 lib/html-conditional-comment/nodes.rb
html-conditional-comment-0.0.1 lib/html-conditional-comment/nodes.rb