0
@@ -8,67 +8,67 @@ module Waves
0
def self.included( target )
0
- include Functor::Method
0
- # TODO: why the fuck is @resource nil here?
0
- @paths = Class.new( superclass.respond_to?( :paths ) ? superclass.paths : Waves::Resources::Paths ) do
0
- def self.resource ; @resource ; end
0
+ include ResponseMixin, Functor::Method
0
+ before {} ; after {} ; always {}
0
+ %w( post get put delete ).each do | method |
0
+ on( method ) { not_found }
0
- def self.with( options ) ; @options = options ; yield ; @options = nil ; end
0
- def self.on( method, path = true, options = nil, &block )
0
- generator = path.keys.first
0
- path = path.values.first
0
- options[ :path ] = path
0
- options = { :path => path }
0
- options = @options.merge( options ) if @options
0
- matcher = Waves::Matchers::Resource.new( options )
0
- when true then [ :post, :get, :put, :delete ]
0
- when Array then method
0
- methods.each do | method |
0
- functor_with_self( method, matcher, &block )
0
+ @paths = Class.new( superclass.respond_to?( :paths ) ? superclass.paths : Waves::Resources::Paths ) do
0
+ def self.resource ; @resource ; end
0
- define_method( generator ) { | *args | generate( path, args ) }
0
- def self.before( path = nil, options = {}, &block )
0
- on( :before, path, options, &block )
0
+ def with( options ) ; @options = options ; yield ; @options = nil ; end
0
+ def on( method, path = true, options = nil, &block )
0
+ generator = path.keys.first
0
+ path = path.values.first
0
- def self.after( path = nil, options = {}, &block )
0
- on( :after, path, options, &block )
0
+ options[ :path ] = path
0
+ options = { :path => path }
0
- def self.wrap( path = nil, options = {}, &block )
0
- before( path, options, &block )
0
- after( path, options, &block )
0
+ options = @options.merge( options ) if @options
0
+ matcher = Waves::Matchers::Resource.new( options )
0
+ when true then [ :post, :get, :put, :delete ]
0
+ when Array then method
0
- def self.handler( exception, &block ) ; functor( :handler, exception, &block ) ; end
0
- def self.always( &block ) ; define_method( :always, &block ) ; end
0
- before {} ; after {} ; always {}
0
- %w( post get put delete ).each do | method |
0
- on( method ) { not_found }
0
+ methods.each do | method |
0
+ functor_with_self( method, matcher, &block )
0
+ define_method( generator ) { | *args | generate( path, args ) }
0
+ def before( path = nil, options = {}, &block )
0
+ on( :before, path, options, &block )
0
+ def after( path = nil, options = {}, &block )
0
+ on( :after, path, options, &block )
0
+ def wrap( path = nil, options = {}, &block )
0
+ before( path, options, &block )
0
+ after( path, options, &block )
0
+ def handler( exception, &block ) ; functor( :handler, exception, &block ) ; end
0
+ def always( &block ) ; define_method( :always, &block ) ; end
0
# Resources are initialized with a Waves::Request
Comments
No one has commented yet.