Parent

Class/Module Index [+]

Quicksearch

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

inspect() click to toggle source
Alias for: to_s
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

[Validate]

Generated with the Darkfish Rdoc Generator 2.