/
curb-fu.rb
60 lines (49 loc) · 1.25 KB
/
curb-fu.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
dir = File.dirname(__FILE__)
$:.unshift(dir) unless $:.include?(dir)
require 'curb-fu/response'
require 'curb-fu/request'
require 'curb-fu/authentication'
require 'curb-fu/core_ext'
module CurbFu
class << self
def get(*args, &block)
CurbFu::Request.get(*args, &block)
end
def post(*args, &block)
CurbFu::Request.post(*args, &block)
end
def put(*args, &block)
CurbFu::Request.put(*args, &block)
end
def delete(*args, &block)
CurbFu::Request.delete(*args, &block)
end
attr_accessor :stubs
def stubs=(val)
if val
@stubs = {}
val.each do |hostname, rack_app|
stub(hostname, rack_app)
end
unless CurbFu::Request.include?(CurbFu::Request::Test)
CurbFu::Request.send(:include, CurbFu::Request::Test)
end
else
@stubs = nil
end
end
def stub(hostname, rack_app)
raise "You must use CurbFu.stubs= to define initial stubs before using stub()" if @stubs.nil?
@stubs[hostname] = CurbFu::Request::Test::Interface.new(rack_app, hostname)
end
def stubs
@stubs
end
def debug=(val)
@debug = val ? true : false
end
def debug?
@debug
end
end
end