Class: HowlingMine::Issue
- Inherits:
-
Object
- Object
- HowlingMine::Issue
show all
- Defined in:
- lib/howlingmine/issue.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object
11
12
13
14
15
16
17
18
|
# File 'lib/howlingmine/issue.rb', line 11
def method_missing(name, *args)
cf = custom_fields[name]
if cf
cf['value']
else
super
end
end
|
Instance Attribute Details
#author ⇒ Object
Returns the value of attribute author.
4
5
6
|
# File 'lib/howlingmine/issue.rb', line 4
def author
@author
end
|
#created_on ⇒ Object
58
59
60
|
# File 'lib/howlingmine/issue.rb', line 58
def created_on
Time.parse @created_on
end
|
#description ⇒ Object
Returns the value of attribute description.
4
5
6
|
# File 'lib/howlingmine/issue.rb', line 4
def description
@description
end
|
#id ⇒ Object
Returns the value of attribute id.
4
5
6
|
# File 'lib/howlingmine/issue.rb', line 4
def id
@id
end
|
#raw ⇒ Object
Returns the value of attribute raw.
4
5
6
|
# File 'lib/howlingmine/issue.rb', line 4
def raw
@raw
end
|
#subject ⇒ Object
Returns the value of attribute subject.
4
5
6
|
# File 'lib/howlingmine/issue.rb', line 4
def subject
@subject
end
|
#updated_on ⇒ Object
54
55
56
|
# File 'lib/howlingmine/issue.rb', line 54
def updated_on
Time.parse @updated_on
end
|
Class Method Details
.find(method = :all, params = {}) ⇒ Object
.first ⇒ Object
62
63
64
|
# File 'lib/howlingmine/issue.rb', line 62
def self.first
find :first
end
|
.get(ticket_no) ⇒ Object
76
77
78
|
# File 'lib/howlingmine/issue.rb', line 76
def self.get(ticket_no)
find ticket_no.to_i
end
|
.last ⇒ Object
66
67
68
|
# File 'lib/howlingmine/issue.rb', line 66
def self.last
find :last
end
|
Instance Method Details
#custom_fields ⇒ Object
7
8
9
|
# File 'lib/howlingmine/issue.rb', line 7
def custom_fields
@custom_fields ||= {}
end
|
#journal ⇒ Object
80
81
82
83
84
85
86
87
|
# File 'lib/howlingmine/issue.rb', line 80
def journal
client = HowlingMine::Client
params = {
:issue_id => id
}
HowlingMine::Config.params.merge! params
JSON.parse(client.journals)
end
|
#save ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/howlingmine/issue.rb', line 24
def save
client = HowlingMine::Client
params = {
:subject => subject || 'no subject',
:description => description || '',
:author => author || 'none',
:custom_fields => custom_fields.to_yaml
}
HowlingMine::Config.params.merge!(params)
begin
response = client.new_issue
@id = response.to_i
return true
rescue Exception => e
return false
end
end
|