module FN::Node::Base
Constants
- CURRENT_PAGE_HEIGHT
- CURRENT_PAGE_WIDTH
Public Instance Methods
classify(name)
click to toggle source
# File lib/fn/node/base.rb, line 51 def classify(name) name.split("_").map{|s| s.capitalize}.join("") end
has_no_children()
click to toggle source
# File lib/fn/node/base.rb, line 20 def has_no_children raise "should have no children" if children.any?{|c| !c.cdata?} end
mixin(node)
click to toggle source
# File lib/fn/node/base.rb, line 44 def mixin(node) name = classify(node.name) mod = FN::SWF::Node.const_get(name) rescue FN::PDF::Node.const_get(name) node.extend(mod) end
value(v)
click to toggle source
# File lib/fn/node/base.rb, line 62 def value(v) case v when Array v.map{|e| value(e)}.join(" ") else v.to_s end end
visit(struct, debug = false)
click to toggle source
# File lib/fn/node/base.rb, line 16 def visit(struct, debug = false) visit_children(struct, debug) end
visit_children(struct, debug = false)
click to toggle source
# File lib/fn/node/base.rb, line 24 def visit_children(struct, debug = false) if debug puts "="*88 puts "Visiting Children" puts "Struct" puts struct.inspect puts "-"*88 puts "Children" puts children.inspect puts "="*88 end children.each do |c| if c.element? mixin(c) c.visit(struct, debug) end end return struct end
with_attributes_like(node)
click to toggle source
# File lib/fn/node/base.rb, line 55 def with_attributes_like(node) node.attributes.each do |attr| self[attr.name] = attr.value end self end