Sha256: a5f8d2efd61648f50d2a0cf4df9f5efc6c3bd2a282e1a25b68422af770070c2b

Contents?: true

Size: 707 Bytes

Versions: 10

Compression:

Stored size: 707 Bytes

Contents

module Csscss
  module Parser
    module Margin
      extend Parser::Base

      class Parser < Parslet::Parser
        include Common

        rule(:margin_side) {
          length | percent | symbol_list(%w(inherit auto))
        }

        rule(:margin) {
          (
           symbol("inherit") >> eof | (
             margin_side.maybe.as(:top)    >>
             margin_side.maybe.as(:right)  >>
             margin_side.maybe.as(:bottom) >>
             margin_side.maybe.as(:left)
           )
          ).as(:margin)
        }
        root(:margin)
      end

      class Transformer < Parslet::Transform
        @property = :margin
        extend MultiSideTransformer
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
csscss-1.3.3 lib/csscss/parser/margin.rb
csscss-1.3.2 lib/csscss/parser/margin.rb
csscss-1.3.1 lib/csscss/parser/margin.rb
csscss-1.3.0 lib/csscss/parser/margin.rb
csscss-1.2.0 lib/csscss/parser/margin.rb
csscss-1.1.0 lib/csscss/parser/margin.rb
csscss-1.0.0 lib/csscss/parser/margin.rb
csscss-0.2.1 lib/csscss/parser/margin.rb
csscss-0.2.0 lib/csscss/parser/margin.rb
csscss-0.1.0 lib/csscss/parser/margin.rb