Sha256: 1755846ffe50df6de8a75bdf78f3f357efacf475ab522d74d4cc6bd003d15433
Contents?: true
Size: 869 Bytes
Versions: 32
Compression:
Stored size: 869 Bytes
Contents
module GEPUB module BuilderMixin 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 end end
Version data entries
32 entries across 32 versions & 1 rubygems