Class: PGit::Pivotal::IndividualRequest
- Inherits:
-
Request
- Object
- Request
- PGit::Pivotal::IndividualRequest
show all
- Defined in:
- lib/pgit/pivotal/individual_request.rb
Instance Method Summary
collapse
Methods inherited from Request
#api_token, #api_version, #before_initialize, #configuration, #current_project, #get_request, #link
Constructor Details
Returns a new instance of IndividualRequest.
4
5
6
|
# File 'lib/pgit/pivotal/individual_request.rb', line 4
def initialize(&block)
yield self if block_given?
end
|
Instance Method Details
#define_methods(json) ⇒ Object
17
18
19
20
21
|
# File 'lib/pgit/pivotal/individual_request.rb', line 17
def define_methods(json)
JSON.parse(json).each do |key, value|
instance_variable_set("@#{key}", value)
end
end
|
#get! ⇒ Object
13
14
15
|
# File 'lib/pgit/pivotal/individual_request.rb', line 13
def get!
define_methods get_request
end
|
#hash=(hash) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/pgit/pivotal/individual_request.rb', line 27
def hash=(hash)
hash.each do |key, value|
if key == 'stories'
define_singleton_method key do
value.map do |story_hash|
PGit::Pivotal::Story.new do |s|
s.hash = story_hash
end
end
end
else
define_singleton_method key do
value
end
end
end
end
|
#put! ⇒ Object
8
9
10
11
|
# File 'lib/pgit/pivotal/individual_request.rb', line 8
def put!
`curl -X PUT -H 'X-TrackerToken: #{api_token}' -H 'Content-Type: application/json' -d '#{JSON.generate(to_hash)}' #{link}`
@changed_attributes = []
end
|
#to_hash ⇒ Object
23
24
25
|
# File 'lib/pgit/pivotal/individual_request.rb', line 23
def to_hash
@changed_attributes.inject(Hash.new) {|accum, key| accum[key] = send(key); accum }
end
|