mirror of
https://github.com/sinatra/sinatra
synced 2023-03-27 23:18:01 -04:00
taking out for now
This commit is contained in:
parent
3580217b52
commit
4e1fffc061
3 changed files with 0 additions and 85 deletions
17
vendor/respond_to/README
vendored
17
vendor/respond_to/README
vendored
|
@ -1,17 +0,0 @@
|
||||||
Respond_to
|
|
||||||
|
|
||||||
Allows for different methods to be called upon in the event context block
|
|
||||||
|
|
||||||
from
|
|
||||||
|
|
||||||
get 'index' do
|
|
||||||
body "hey"
|
|
||||||
end
|
|
||||||
|
|
||||||
to
|
|
||||||
|
|
||||||
get 'index' do
|
|
||||||
html {"hi"}
|
|
||||||
end
|
|
||||||
|
|
||||||
If there is a block with the extension, that will be used as the output, otherwise the body of the block will be used.
|
|
5
vendor/respond_to/init.rb
vendored
5
vendor/respond_to/init.rb
vendored
|
@ -1,5 +0,0 @@
|
||||||
require File.dirname(__FILE__) + '/lib/responder'
|
|
||||||
|
|
||||||
Sinatra::EventContext.send(:include, Sinatra::Responder)
|
|
||||||
Sinatra::Event.send(:include, Sinatra::EventResponder)
|
|
||||||
Sinatra::EventManager.send(:extend, Sinatra::DispatcherResponder)
|
|
63
vendor/respond_to/lib/responder.rb
vendored
63
vendor/respond_to/lib/responder.rb
vendored
|
@ -1,63 +0,0 @@
|
||||||
module Sinatra
|
|
||||||
module Responder
|
|
||||||
|
|
||||||
module InstanceMethods
|
|
||||||
def method_missing(id, *args, &block)
|
|
||||||
if block
|
|
||||||
@responds_to[id] = block unless @responds_to.has_key? id
|
|
||||||
else
|
|
||||||
super
|
|
||||||
end
|
|
||||||
end
|
|
||||||
def initialize_with_responds_to(i)
|
|
||||||
initialize_without_responds_to(i)
|
|
||||||
@responds_to = {}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.included(base)
|
|
||||||
base.send :include, InstanceMethods
|
|
||||||
base.instance_eval do
|
|
||||||
alias_method :initialize_without_responds_to, :initialize
|
|
||||||
alias_method :initialize, :initialize_with_responds_to
|
|
||||||
end
|
|
||||||
attr_accessor :responds_to
|
|
||||||
end
|
|
||||||
end
|
|
||||||
module EventResponder
|
|
||||||
def self.included(base)
|
|
||||||
base.send :include, InstanceMethods
|
|
||||||
base.instance_eval do
|
|
||||||
alias_method :attend_without_respond_to, :attend
|
|
||||||
alias_method :attend, :attend_with_respond_to
|
|
||||||
end
|
|
||||||
end
|
|
||||||
module InstanceMethods
|
|
||||||
# Pulls the request info from the REQUEST_PATH
|
|
||||||
# it looks for the path extension
|
|
||||||
# For instance, index.html will respond to the html block
|
|
||||||
def respond_request(request)
|
|
||||||
request.env['REQUEST_PATH'].include?('.') ? request.env['REQUEST_PATH'].split('.')[-1].to_sym : :html
|
|
||||||
end
|
|
||||||
def attend_with_respond_to(request)
|
|
||||||
context = EventContext.new(request)
|
|
||||||
begin
|
|
||||||
context.instance_eval(&@block) if @block
|
|
||||||
context.responds_to[respond_request(request)].call if context.responds_to.has_key? respond_request(request)
|
|
||||||
rescue => e
|
|
||||||
context.error e
|
|
||||||
end
|
|
||||||
run_through_after_filters(context)
|
|
||||||
context
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
module DispatcherResponder
|
|
||||||
def determine_event(verb, path)
|
|
||||||
EventManager.events.detect(method(:not_found)) do |e|
|
|
||||||
e.path =~ Regexp.new(path.split(".")[0..-2].join("|").gsub(/\//, '')) && e.verb == verb
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Add table
Reference in a new issue