lib/jellyfish.rb in jellyfish-1.1.1 vs lib/jellyfish.rb in jellyfish-1.2.0
- old
+ new
@@ -1,9 +1,8 @@
module Jellyfish
autoload :VERSION , 'jellyfish/version'
- autoload :NewRelic, 'jellyfish/newrelic'
autoload :NormalizedParams, 'jellyfish/normalized_params'
autoload :NormalizedPath , 'jellyfish/normalized_path'
autoload :Builder , 'jellyfish/builder'
@@ -157,16 +156,19 @@
controller_include.
inject(value){ |ctrl, mod| ctrl.__send__(:include, mod) }
end
%w[options get head post put delete patch].each do |method|
- module_eval <<-RUBY
- def #{method} route=//, meta={}, &block
- raise TypeError.new("Route \#{route} should respond to :match") \
- unless route.respond_to?(:match)
- (routes['#{method}'] ||= []) << [route, block || lambda{|_|}, meta]
- end
- RUBY
+ define_method(method) do |route=//, meta={}, &block|
+ define(method, route, meta, &block)
+ end
+ end
+
+ def define(method, route=//, meta={}, &block)
+ raise TypeError.new("Route #{route} should respond to :match") \
+ unless route.respond_to?(:match)
+
+ (routes[method.to_s] ||= []) << [route, block || lambda{|_|}, meta]
end
def inherited sub
sub.handle_exceptions(handle_exceptions)
sub.controller_include(*controller_include)