Module: Origami::XFA::ClassMethods

Defined in:
lib/origami/xfa.rb

Instance Method Summary collapse

Instance Method Details

#mime_type(type) ⇒ Object



81
82
83
# File 'lib/origami/xfa.rb', line 81

def mime_type(type)
    define_method("mime_type") { return type }
end

#xfa_attribute(name) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/origami/xfa.rb', line 48

def xfa_attribute(name)
    # Attribute getter.
    attr_getter = "attr_#{name.to_s}"
    remove_method(attr_getter) rescue NameError
    define_method(attr_getter) do
        self.attributes[name.to_s]
    end

    # Attribute setter.
    attr_setter = "attr_#{name.to_s}="
    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..(1.0/0))) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/origami/xfa.rb', line 64

def xfa_node(name, type, range = (0..(1.0/0)))

    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