Class: Phoneburner::Request
- Inherits:
-
Object
- Object
- Phoneburner::Request
show all
- Defined in:
- lib/phoneburner/request.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(client, model) ⇒ Request
Returns a new instance of Request.
4
5
6
7
8
9
10
|
# File 'lib/phoneburner/request.rb', line 4
def initialize(client,model)
@model = model
@client = client
@token = client.token
@url = client.url
@query_params = {}
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(symbol, *args) ⇒ Object
14
15
16
17
18
19
20
21
|
# File 'lib/phoneburner/request.rb', line 14
def method_missing(symbol,*args)
if args.size > 0
@query_params[symbol.to_s] = args.first
self
else
@query_params[symbol.to_s]
end
end
|
Instance Attribute Details
#client ⇒ Object
Returns the value of attribute client.
12
13
14
|
# File 'lib/phoneburner/request.rb', line 12
def client
@client
end
|
#model ⇒ Object
Returns the value of attribute model.
12
13
14
|
# File 'lib/phoneburner/request.rb', line 12
def model
@model
end
|
Instance Method Details
#all ⇒ Object
74
75
76
77
78
|
# File 'lib/phoneburner/request.rb', line 74
def all()
Phoneburner::Response.new(self) do
RestClient.get "#{@url}#{@model.path}", {:Authorization => "Bearer #{@token}",:params=>@query_params,:accept => :json}
end
end
|
#build(attrs = {}) ⇒ Object
39
40
41
|
# File 'lib/phoneburner/request.rb', line 39
def build(attrs={})
@model.new(client,attrs)
end
|
#clear ⇒ Object
23
24
25
|
# File 'lib/phoneburner/request.rb', line 23
def clear
@query_params={}
end
|
#create(obj_or_hash_or_json) ⇒ Object
43
44
45
46
47
|
# File 'lib/phoneburner/request.rb', line 43
def create(obj_or_hash_or_json)
Phoneburner::Response.new(self) do
RestClient.post "#{@url}#{@model.path}", as_json(obj_or_hash_or_json), {:Authorization => "Bearer #{@token}",:content_type => :json, :accept => :json}
end
end
|
#create!(obj_or_hash_or_json) ⇒ Object
49
50
51
52
53
|
# File 'lib/phoneburner/request.rb', line 49
def create!(obj_or_hash_or_json)
Phoneburner::Response.new(self) do
RestClient.post "#{@url}#{@model.path}", as_json(obj_or_hash_or_json), {:Authorization => "Bearer #{@token}",:content_type => :json, :accept => :json}
end.result
end
|
#delete(id) ⇒ Object
61
62
63
64
65
|
# File 'lib/phoneburner/request.rb', line 61
def delete(id)
Phoneburner::Response.new(self) do
RestClient.delete "#{@url}#{@model.path}#{id}", {:Authorization => "Bearer #{@token}",:content_type => :json, :accept => :json}
end
end
|
#delete!(id) ⇒ Object
67
68
69
70
71
72
|
# File 'lib/phoneburner/request.rb', line 67
def delete!(id)
Phoneburner::Response.new(self) do
RestClient.delete "#{@url}#{@model.path}#{id}", {:Authorization => "Bearer #{@token}",:content_type => :json, :accept => :json}
end.result
nil
end
|
#find(id) ⇒ Object
32
33
34
35
36
37
|
# File 'lib/phoneburner/request.rb', line 32
def find(id)
Phoneburner::Response.new(self) do
puts "#{@url}#{@model.path}#{id}"
RestClient.get "#{@url}#{@model.path}#{id}", {:Authorization => "Bearer #{@token}"}
end
end
|
#initialize_copy(orig) ⇒ Object
27
28
29
30
|
# File 'lib/phoneburner/request.rb', line 27
def initialize_copy(orig)
super
@query_params = @query_params.dup
end
|
#update(id, obj_or_hash_or_json) ⇒ Object
55
56
57
58
59
|
# File 'lib/phoneburner/request.rb', line 55
def update(id,obj_or_hash_or_json)
Phoneburner::Response.new(self) do
RestClient.put "#{@url}#{@model.path}#{id}", as_json(obj_or_hash_or_json), {:Authorization => "Bearer #{@token}",:content_type => :json, :accept => :json}
end
end
|