Module: Grape::DSL::Helpers::ClassMethods
- Defined in:
- lib/grape/dsl/helpers.rb
Instance Method Summary collapse
-
#helpers(new_mod = nil, &block) ⇒ Object
Add helper methods that will be accessible from any endpoint within this namespace (and child namespaces).
Instance Method Details
#helpers(new_mod = nil, &block) ⇒ Object
Add helper methods that will be accessible from any endpoint within this namespace (and child namespaces).
When called without a block, all known helpers within this scope are included.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/grape/dsl/helpers.rb', line 28 def helpers(new_mod = nil, &block) if block_given? || new_mod mod = settings.peek[:helpers] || Module.new if new_mod inject_api_helpers_to_mod(new_mod) if new_mod.is_a?(BaseHelper) mod.class_eval do include new_mod end end if block_given? inject_api_helpers_to_mod(mod) do mod.class_eval(&block) end end set(:helpers, mod) else mod = Module.new settings.stack.each do |s| mod.send :include, s[:helpers] if s[:helpers] end change! mod end end |