# File lib/hirb/dynamic_view.rb, line 44 def self.add(view, options, &block) raise ArgumentError, ":helper option is required" unless options[:helper] helper = Helpers.helper_class options[:helper] unless helper.is_a?(Module) && class << helper; self.ancestors; end.include?(self) raise ArgumentError, ":helper option must be a helper that has extended DynamicView" end mod = block ? generate_single_view_module(view, &block) : view raise ArgumentError, "'#{mod}' must be a module" unless mod.is_a?(Module) helper.add_module mod end