class Estreet::Expression
Public Class Methods
coerce(thing)
click to toggle source
Return an expression if at all possible
# File lib/estreet/expression.rb, line 12 def self.coerce(thing) case thing when Expression thing when Array ArrayExpression.new(thing.map {|element| element }) when Symbol, String Identifier.new(thing) else raise TypeError, "Can't convert to expression: #{thing.inspect}" end end
Public Instance Methods
[](member)
click to toggle source
creates a computed MemberExpression
# File lib/estreet/expression.rb, line 37 def [](member) member = Literal[member] unless member.is_a? Expression MemberExpression.new(self, member, true) end
call(*args)
click to toggle source
Creates a call expression with the receiver as the callee and the specified arguments @param args [#to_expression]
# File lib/estreet/expression.rb, line 32 def call(*args) CallExpression.new(self, args) end
property(prop)
click to toggle source
creates a non-computed MemberExpression
, e.g. ‘object.property` in JS
# File lib/estreet/expression.rb, line 26 def property(prop) MemberExpression.new(self, Identifier[prop], false) end
to_expression()
click to toggle source
# File lib/estreet/expression.rb, line 3 def to_expression self end
to_statement()
click to toggle source
# File lib/estreet/expression.rb, line 7 def to_statement ExpressionStatement.new(self, source_location) end