class JQuery::Object
Attributes
args[RW]
label[RW]
next[RW]
prev[RW]
Public Class Methods
new(label, *args)
click to toggle source
# File lib/jquery.rb, line 14 def initialize(label, *args) @label = label.to_s @args = args.map do |arg| case arg when String JSString.new(arg) when Numeric JSNumeric.new(arg) when Symbol JSVar.new(arg) when Array, Hash JSStruct.new(arg) when Proc JSFunction.new(arg) else raise ArgumentError.new("#{arg.class} is not supported") end end end
Public Instance Methods
method_missing(method, *args)
click to toggle source
# File lib/jquery.rb, line 57 def method_missing(method, *args) next_obj = self.class.new(method, *args) self.next = next_obj next_obj.prev = self next_obj end
to_s()
click to toggle source
# File lib/jquery.rb, line 34 def to_s current = self chain = [current] while current.prev current = current.prev chain.unshift(current) end result = [] chain.map do |obj| expr = '' expr << "#{obj.label}(" expr << obj.args.map { |arg| arg.to_s }.join(',') expr << ')' result << expr end result.join('.') end
Also aliased as: to_str