ticketmaster-github 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.1
1
+ 0.9.0
@@ -22,61 +22,70 @@ module TicketMaster::Provider
22
22
  super hash
23
23
  end
24
24
  end
25
-
25
+
26
26
  def author
27
27
  self.user.login
28
28
  end
29
29
 
30
30
  def created_at
31
31
  @created_at ||= begin
32
- Time.parse(self[:created_at])
33
- rescue
34
- self[:created_at]
35
- end
32
+ Time.parse(self[:created_at])
33
+ rescue
34
+ self[:created_at]
35
+ end
36
36
  end
37
37
 
38
- def updated_at
38
+ def updated_at
39
39
  @updated_at ||= begin
40
- Time.parse(self[:updated_at])
41
- rescue
42
- self[:updated_at]
43
- end
40
+ Time.parse(self[:updated_at])
41
+ rescue
42
+ self[:updated_at]
43
+ end
44
44
  end
45
-
45
+
46
46
  # declare needed overloaded methods here
47
-
48
- def self.find_by_attributes(project_id, ticket_id, attributes = {})
49
- search_by_attribute(self.find_all(project_id, ticket_id), attributes)
50
- end
51
47
 
52
- def self.find_all(project_id, ticket_id)
53
- TicketMaster::Provider::Github.api.issue_comments(project_id, ticket_id).collect do |comment|
54
- comment.merge!(:project_id => project_id, :ticket_id => ticket_id)
55
- clean_body! comment
56
- self.new comment
57
- end
58
- end
48
+ def self.find_by_attributes(project_id, ticket_id, attributes = {})
49
+ search_by_attribute(self.find_all(project_id, ticket_id), attributes)
50
+ end
51
+
52
+ def self.find_all(project_id, ticket_id)
53
+ TicketMaster::Provider::Github.api.issue_comments(project_id, ticket_id).collect do |comment|
54
+ comment.merge!(:project_id => project_id, :ticket_id => ticket_id)
55
+ clean_body! comment
56
+ self.new comment
57
+ end
58
+ end
59
+
60
+ def self.create(project_id, ticket_id, comment)
61
+ github_comment = TicketMaster::Provider::Github.api.add_comment(project_id, ticket_id, comment)
62
+ github_comment.merge!(:project_id => project_id, :ticket_id => ticket_id)
63
+ flat_body github_comment
64
+ self.new github_comment
65
+ end
59
66
 
60
- def self.create(project_id, ticket_id, comment)
61
- github_comment = TicketMaster::Provider::Github.api.add_comment(project_id, ticket_id, comment)
62
- github_comment.merge!(:project_id => project_id, :ticket_id => ticket_id)
63
- flat_body github_comment
64
- self.new github_comment
65
- end
66
-
67
- private
68
-
69
67
  #See https://www.kanbanpad.com/projects/31edb8d134e7967c1f0d#!xt-4f994d17014289000707433f
70
68
  def self.flat_body(comment_hashie)
71
69
  comment_hashie.body = comment_hashie.body.body
72
70
  comment_hashie
73
71
  end
74
-
72
+
75
73
  # See https://www.kanbanpad.com/projects/31edb8d134e7967c1f0d#!xt-4f994f2101428900070759fd
76
74
  def self.clean_body!(comment)
77
75
  comment.body = comment.body.sub(/\A---\s\sbody:\s/, '').gsub(/\s\z/, '')
78
76
  end
79
77
 
78
+ def save
79
+ update_comment(project_id, id, body)
80
+ end
81
+
82
+ private
83
+ def update_comment(repo, number, comment, options = {})
84
+ TicketMaster::Provider::Github.api.update_comment repo, number, comment, options
85
+ true
86
+ end
87
+
88
+
80
89
  end
81
90
  end
82
91
  end
@@ -1,6 +1,7 @@
1
1
  #require YOUR_PROVIDER_API
2
2
  require 'octokit'
3
3
  require 'active_support/core_ext/string'
4
+ require 'net/http'
4
5
 
5
6
  %w{ github ticket project comment }.each do |f|
6
7
  require File.dirname(__FILE__) + '/provider/' + f + '.rb';
@@ -9,6 +9,7 @@ describe "Ticketmaster::Provider::Github::Comment" do
9
9
  stub_get('https://ticketmaster-user:Tm123456@api.github.com/repos/ticketmaster-user/tmtest-repo/issues?state=closed','closed_issues.json')
10
10
  stub_get('https://ticketmaster-user:Tm123456@api.github.com/repos/ticketmaster-user/tmtest-repo/issues/1/comments', 'comments.json')
11
11
  stub_post('https://ticketmaster-user:Tm123456@api.github.com/repos/ticketmaster-user/tmtest-repo/issues/1/comments', 'comments/3951282.json')
12
+ stub_post('https://ticketmaster-user:Tm123456@api.github.com/repos/ticketmaster-user/tmtest-repo/issues/comments/3951282', 'comments/3951282_update.json')
12
13
  @project = @github.projects.first
13
14
  @ticket = @project.tickets.first
14
15
  @klass = TicketMaster::Provider::Github::Comment
@@ -32,4 +33,11 @@ describe "Ticketmaster::Provider::Github::Comment" do
32
33
  it "should be able to load a ticket and clean comment body" do
33
34
  comments = @ticket.comments.map(&:body).should == ["for testing", "test comment"]
34
35
  end
36
+
37
+ it "should be able to update comments" do
38
+ comment = @ticket.comments.first
39
+ comment.body = "updated comment"
40
+ comment.save.should be_true
41
+ end
42
+
35
43
  end
@@ -0,0 +1,14 @@
1
+ {
2
+ "url": "https://api.github.com/repos/ticketmaster-user/tmtest-repo/issues/comments/3951282",
3
+ "created_at": "2012-02-13T22:49:55Z",
4
+ "body": "for testing",
5
+ "updated_at": "2012-02-13T22:49:55Z",
6
+ "id": 3951282,
7
+ "user": {
8
+ "url": "https://api.github.com/users/ticketmaster-user",
9
+ "gravatar_id": "42bd18419413dfbd6e7ec4fefdec94ae",
10
+ "login": "ticketmaster-user",
11
+ "avatar_url": "https://secure.gravatar.com/avatar/42bd18419413dfbd6e7ec4fefdec94ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
12
+ "id": 1434902
13
+ }
14
+ }
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "ticketmaster-github"
8
- s.version = "0.8.1"
8
+ s.version = "0.9.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["HybridGroup"]
@@ -37,6 +37,7 @@ Gem::Specification.new do |s|
37
37
  "spec/fixtures/closed_issues.json",
38
38
  "spec/fixtures/comments.json",
39
39
  "spec/fixtures/comments/3951282.json",
40
+ "spec/fixtures/comments/3951282_update.json",
40
41
  "spec/fixtures/issues.json",
41
42
  "spec/fixtures/issues/1.json",
42
43
  "spec/fixtures/issues/new_ticket.json",
@@ -52,7 +53,7 @@ Gem::Specification.new do |s|
52
53
  ]
53
54
  s.homepage = "http://github.com/kiafaldorius/ticketmaster-github"
54
55
  s.require_paths = ["lib"]
55
- s.rubygems_version = "1.8.17"
56
+ s.rubygems_version = "1.8.15"
56
57
  s.summary = "The github provider for ticketmaster"
57
58
 
58
59
  if s.respond_to? :specification_version then
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ticketmaster-github
3
3
  version: !ruby/object:Gem::Version
4
- hash: 61
4
+ hash: 59
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 8
9
- - 1
10
- version: 0.8.1
8
+ - 9
9
+ - 0
10
+ version: 0.9.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - HybridGroup
@@ -18,9 +18,6 @@ cert_chain: []
18
18
  date: 2012-05-01 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: ticketmaster
22
- prerelease: false
23
- type: :runtime
24
21
  requirement: &id001 !ruby/object:Gem::Requirement
25
22
  none: false
26
23
  requirements:
@@ -33,10 +30,10 @@ dependencies:
33
30
  - 0
34
31
  version: 0.7.0
35
32
  version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: octokit
33
+ name: ticketmaster
38
34
  prerelease: false
39
35
  type: :runtime
36
+ - !ruby/object:Gem::Dependency
40
37
  requirement: &id002 !ruby/object:Gem::Requirement
41
38
  none: false
42
39
  requirements:
@@ -48,10 +45,10 @@ dependencies:
48
45
  - 6
49
46
  version: "0.6"
50
47
  version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: jeweler
48
+ name: octokit
53
49
  prerelease: false
54
- type: :development
50
+ type: :runtime
51
+ - !ruby/object:Gem::Dependency
55
52
  requirement: &id003 !ruby/object:Gem::Requirement
56
53
  none: false
57
54
  requirements:
@@ -63,10 +60,10 @@ dependencies:
63
60
  - 6
64
61
  version: "1.6"
65
62
  version_requirements: *id003
66
- - !ruby/object:Gem::Dependency
67
- name: rspec
63
+ name: jeweler
68
64
  prerelease: false
69
65
  type: :development
66
+ - !ruby/object:Gem::Dependency
70
67
  requirement: &id004 !ruby/object:Gem::Requirement
71
68
  none: false
72
69
  requirements:
@@ -78,10 +75,10 @@ dependencies:
78
75
  - 3
79
76
  version: "2.3"
80
77
  version_requirements: *id004
81
- - !ruby/object:Gem::Dependency
82
- name: fakeweb
78
+ name: rspec
83
79
  prerelease: false
84
80
  type: :development
81
+ - !ruby/object:Gem::Dependency
85
82
  requirement: &id005 !ruby/object:Gem::Requirement
86
83
  none: false
87
84
  requirements:
@@ -93,10 +90,10 @@ dependencies:
93
90
  - 3
94
91
  version: "1.3"
95
92
  version_requirements: *id005
96
- - !ruby/object:Gem::Dependency
97
- name: simplecov
93
+ name: fakeweb
98
94
  prerelease: false
99
95
  type: :development
96
+ - !ruby/object:Gem::Dependency
100
97
  requirement: &id006 !ruby/object:Gem::Requirement
101
98
  none: false
102
99
  requirements:
@@ -108,10 +105,10 @@ dependencies:
108
105
  - 5
109
106
  version: "0.5"
110
107
  version_requirements: *id006
111
- - !ruby/object:Gem::Dependency
112
- name: rcov
108
+ name: simplecov
113
109
  prerelease: false
114
110
  type: :development
111
+ - !ruby/object:Gem::Dependency
115
112
  requirement: &id007 !ruby/object:Gem::Requirement
116
113
  none: false
117
114
  requirements:
@@ -123,6 +120,9 @@ dependencies:
123
120
  - 0
124
121
  version: "1.0"
125
122
  version_requirements: *id007
123
+ name: rcov
124
+ prerelease: false
125
+ type: :development
126
126
  description: This provides an interface with github through the ticketmaster gem.
127
127
  email: hong.quach@abigfisch.com
128
128
  executables: []
@@ -153,6 +153,7 @@ files:
153
153
  - spec/fixtures/closed_issues.json
154
154
  - spec/fixtures/comments.json
155
155
  - spec/fixtures/comments/3951282.json
156
+ - spec/fixtures/comments/3951282_update.json
156
157
  - spec/fixtures/issues.json
157
158
  - spec/fixtures/issues/1.json
158
159
  - spec/fixtures/issues/new_ticket.json
@@ -194,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
195
  requirements: []
195
196
 
196
197
  rubyforge_project:
197
- rubygems_version: 1.8.17
198
+ rubygems_version: 1.8.15
198
199
  signing_key:
199
200
  specification_version: 3
200
201
  summary: The github provider for ticketmaster