class Origami::PDF::JavaScript::AcrobatObject
Public Class Methods
acro_method(name, *def_args, &b)
click to toggle source
# File lib/origami/javascript.rb, line 145 def self.acro_method(name, *def_args, &b) define_method(name) do |*args| if @engine.options[:log_method_calls] @engine.options[:console].puts( "LOG: #{self.class}.#{name}(#{args.map{|arg| Arg.inspect(arg)}.join(',')})" ) end args = AcrobatObject.check_method_args(args, def_args) self.instance_exec(*args, &b) if b end end
acro_method_protected(name, *def_args, &b)
click to toggle source
# File lib/origami/javascript.rb, line 158 def self.acro_method_protected(name, *def_args, &b) define_method(name) do |*args| if @engine.options[:log_method_calls] @engine.options[:console].puts( "LOG: #{self.class}.#{name}(#{args.map{|arg| arg.inspect}.join(',')})" ) end raise NotAllowedError args = AcrobatObject.check_method_args(args, def_args) self.instance_exec(*args, &b) if b end end
check_method_args(args, def_args)
click to toggle source
# File lib/origami/javascript.rb, line 111 def self.check_method_args(args, def_args) if args.first.is_a?(V8::Object) args = args.first members = args.entries.map{|k,v| k} argv = [] def_args.each do |def_arg| raise MissingArgError if def_arg.required and not members.include?(def_arg.name) if members.include?(def_arg.name) arg = args[def_arg.name] raise TypeError if def_arg.type and not arg.is_a?(def_arg.type) else arg = def_arg.default end argv.push(arg) end args = argv else i = 0 def_args.each do |def_arg| raise MissingArgError if def_arg.required and i >= args.length raise TypeError if def_arg.type and not args[i].is_a?(def_arg.type) args.push(def_arg.default) if i >= args.length i = i + 1 end end args end
new(engine)
click to toggle source
# File lib/origami/javascript.rb, line 107 def initialize(engine) @engine = engine end
Public Instance Methods
to_s()
click to toggle source
# File lib/origami/javascript.rb, line 173 def to_s "[object #{self.class.to_s.split('::').last}]" end
Also aliased as: inspect