module GEPUB::BuilderMixin
Public Instance Methods
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
# File lib/gepub/builder_mixin.rb, line 3 def method_missing(name, *args, &block) if Array === @last_defined_item && @last_defined_item.size > 0 && @last_defined_item[0].respond_to?(name.to_sym) if !(@last_defined_item[0].apply_one_to_multi || @last_defined_item.size != 1) && @last_defined_item.size != args.size warn "appling #{args} to #{@last_defined_item}: length differs." end @last_defined_item.each_with_index { |item, i| if item.apply_one_to_multi && args.size == 1 item.send(name, args[0]) elsif !args[i].nil? item.send(name, args[i]) end } elsif @last_defined_item.respond_to?(name.to_sym) @last_defined_item.send(name, *args, &block) else super end end