module Origami::XFA::ClassMethods

Public Instance Methods

mime_type(type) click to toggle source
# File lib/origami/xfa/xfa.rb, line 64
def mime_type(type)
    define_method("mime_type") { return type }
end
xfa_attribute(name) click to toggle source
# File lib/origami/xfa/xfa.rb, line 31
def xfa_attribute(name)
    # Attribute getter.
    attr_getter = "attr_#{name}"
    remove_method(attr_getter) rescue NameError
    define_method(attr_getter) do
        self.attributes[name.to_s]
    end

    # Attribute setter.
    attr_setter = "attr_#{name}="
    remove_method(attr_setter) rescue NameError
    define_method(attr_setter) do |value|
        self.attributes[names.to_s] = value
    end
end
xfa_node(name, type, _range = (0..Float::INFINITY)) click to toggle source
# File lib/origami/xfa/xfa.rb, line 47
def xfa_node(name, type, _range = (0..Float::INFINITY))

    adder = "add_#{name}"
    remove_method(adder) rescue NameError
    define_method(adder) do |*attr|
        elt = self.add_element(type.new)

        unless attr.empty?
            attr.first.each do |k,v|
                elt.attributes[k.to_s] = v
            end
        end

        elt
    end
end