class ResourceKit::Action
Attributes
name[R]
Public Class Methods
new(name, verb = nil, path = nil)
click to toggle source
# File lib/resource_kit/action.rb, line 5 def initialize(name, verb = nil, path = nil) @name = name @verb = (verb && verb.downcase.to_sym) || :get @path = path @query_keys = [] end
Public Instance Methods
before_request(method_name = nil, &block)
click to toggle source
# File lib/resource_kit/action.rb, line 53 def before_request(method_name = nil, &block) hooks[:before] ||= [] if block_given? hooks[:before] << block else raise "Must include a method name" unless method_name hooks[:before] << method_name end nil end
body(&block)
click to toggle source
# File lib/resource_kit/action.rb, line 44 def body(&block) @body_handler = block if block_given? @body_handler end
handler(*response_codes, &block)
click to toggle source
# File lib/resource_kit/action.rb, line 33 def handler(*response_codes, &block) if response_codes.empty? handlers[:any] = block else response_codes.each do |code| code = StatusCodeMapper.code_for(code) unless code.is_a?(Integer) handlers[code] = block end end end
handlers()
click to toggle source
# File lib/resource_kit/action.rb, line 29 def handlers @handlers ||= {} end
hooks()
click to toggle source
# File lib/resource_kit/action.rb, line 49 def hooks @hooks ||= {} end
path(path = nil, &block)
click to toggle source
# File lib/resource_kit/action.rb, line 17 def path(path = nil, &block) raise "You must pass either a block or a string for paths" if path and block_given? @path = path if path @path = block if block_given? @path end
query_keys(*keys)
click to toggle source
# File lib/resource_kit/action.rb, line 24 def query_keys(*keys) return @query_keys if keys.empty? @query_keys += keys end
verb(v = nil)
click to toggle source
# File lib/resource_kit/action.rb, line 12 def verb(v = nil) @verb = v if v @verb end