Sha256: f4063c971cd52f964f60bacaab53690b81c633496b5c9b4ae258636f6ec55680

Contents?: true

Size: 754 Bytes

Versions: 32

Compression:

Stored size: 754 Bytes

Contents

require 'glimmer/dsl/expression'

module Glimmer
  module DSL
    module Opal
      class PropertyExpression < StaticExpression
        include TopLevelExpression

        def can_interpret?(parent, keyword, *args, &block)
          parent and
            (!args.empty?) and
            parent.respond_to?(:set_attribute) and
            parent.respond_to?(keyword, *args) and
            keyword and
            block.nil?
        end

        def interpret(parent, keyword, *args, &block)
          if keyword == 'text' # TODO move into property converters in element proxy
            args = [args.first.to_s.gsub('&', '')]
          end
          parent.set_attribute(keyword, *args)
          args.first.to_s
        end
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
glimmer-dsl-opal-0.19.1 lib/glimmer/dsl/opal/property_expression.rb
glimmer-dsl-opal-0.19.0 lib/glimmer/dsl/opal/property_expression.rb
glimmer-dsl-opal-0.18.0 lib/glimmer/dsl/opal/property_expression.rb
glimmer-dsl-opal-0.17.0 lib/glimmer/dsl/opal/property_expression.rb
glimmer-dsl-opal-0.16.2 lib/glimmer/dsl/opal/property_expression.rb
glimmer-dsl-opal-0.16.1 lib/glimmer/dsl/opal/property_expression.rb
glimmer-dsl-opal-0.16.0 lib/glimmer/dsl/opal/property_expression.rb
glimmer-dsl-opal-0.15.1 lib/glimmer/dsl/opal/property_expression.rb
glimmer-dsl-opal-0.14.0 lib/glimmer/dsl/opal/property_expression.rb
glimmer-dsl-opal-0.13.0 lib/glimmer/dsl/opal/property_expression.rb
glimmer-dsl-opal-0.12.0 lib/glimmer/dsl/opal/property_expression.rb
glimmer-dsl-opal-0.11.0 lib/glimmer/dsl/opal/property_expression.rb