lita-gitlab 1.0.3 → 1.0.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f37561665bdfd52aab2af51b43f6b076d5b763d
4
- data.tar.gz: 6b0e0d041e495003ffaba88b71e8723e34811b70
3
+ metadata.gz: 6fe86ceb0dfe52c83ef5012502e4698869f72646
4
+ data.tar.gz: dd8f9098dabb15d526bb59d809b56e8e639a8760
5
5
  SHA512:
6
- metadata.gz: 65177e85af88ad971cc18166821d989c73cd4d84fd29cbd5aa1073270159c07550dbdd783599c602fb4be9f82efb4f68a0b0e568e0d78926357fec0419593e94
7
- data.tar.gz: b3e4fb379463ee6f58f0e36392ed7f1756a4ed9623c0bdbb4690b90933eb0a2b5469e7325ee1232f971c1c4898a630aa98c6d929d59d33eb15f74f2936713608
6
+ metadata.gz: 9729cb3159a9ff315949a108aad3ac882b687d40e86f097a7c452046192d1fad3d34d51dfe713b5212e431052f7df03ec3ef2213c43ce41ea4ac3ea2849fb2d0
7
+ data.tar.gz: 2859e810f328e5969efbe953611e6fc17f0772abe5b642db4d51ea2eaebca717ec63845ad0b1b64a3ce5c4d67a6cf8b6d9da0b73e691264fd89d019b0486a6cc
@@ -40,40 +40,52 @@ module Lita
40
40
  end
41
41
 
42
42
  def system_message(data)
43
- build_message "system.#{data[:event_name]}", data
43
+ interpolate_message "system.#{data[:event_name]}", data
44
44
  rescue
45
45
  Lita.logger.warn "Error formatting message: #{data.inspect}"
46
46
  end
47
47
 
48
48
  def web_message(data)
49
49
  if data.key? :object_kind
50
- if data[:object_attributes].key? :target_branch
51
- # Merge request
52
- url = "#{Lita.config.handlers.gitlab.url}"
53
- url += data[:project] ? "#{Lita.config.handlers.gitlab.group}/#{data[:project]}/merge_requests/#{data[:object_attributes][:iid]}" : "groups/#{Lita.config.handlers.gitlab.group}"
54
- data[:object_attributes][:link] = "<#{url}|#{data[:object_attributes][:title]}>"
55
- build_message "web.#{data[:object_kind]}.#{data[:object_attributes][:state]}", data[:object_attributes]
56
- else
57
- # Issue
58
- build_message "web.#{data[:object_kind]}.#{data[:object_attributes][:state]}", data[:object_attributes]
59
- end
50
+ # Merge has target branch
51
+ (data[:object_attributes].key? :target_branch) ? build_merge_message(data) : build_issue_message(data)
60
52
  else
61
53
  # Push has no object kind
62
- branch = data[:ref].split('/').drop(2).join('/')
63
- data[:link] = "<#{data[:repository][:homepage]}|#{data[:repository][:name]}>"
64
- if data[:before] =~ /^0+$/
65
- build_message 'web.push.new_branch', data
66
- else
67
- build_message 'web.push.add_to_branch', data
68
- end
54
+ build_branch_message(data)
69
55
  end
70
56
  rescue
71
57
  Lita.logger.warn "Error formatting message: #{data.inspect}"
72
58
  end
73
59
 
60
+ def build_issue_message(data)
61
+ interpolate_message "web.#{data[:object_kind]}.#{data[:object_attributes][:state]}", data[:object_attributes]
62
+ end
63
+
64
+ def build_branch_message(data)
65
+ branch = data[:ref].split('/').drop(2).join('/')
66
+ data[:link] = "<#{data[:repository][:homepage]}|#{data[:repository][:name]}>"
67
+ if data[:before] =~ /^0+$/
68
+ interpolate_message 'web.push.new_branch', data
69
+ else
70
+ interpolate_message 'web.push.add_to_branch', data
71
+ end
72
+ end
73
+
74
+ def build_merge_message(data)
75
+ url = "#{Lita.config.handlers.gitlab.url}"
76
+ url += if data[:project] then
77
+ "#{Lita.config.handlers.gitlab.group}/#{data[:project]}/merge_requests/#{data[:object_attributes][:iid]}"
78
+ else
79
+ "groups/#{Lita.config.handlers.gitlab.group}"
80
+ end
81
+ data[:object_attributes][:project] = data[:project]
82
+ data[:object_attributes][:link] = "<#{url}|#{data[:object_attributes][:title]}>"
83
+ interpolate_message "web.#{data[:object_kind]}.#{data[:object_attributes][:state]}", data[:object_attributes]
84
+ end
85
+
74
86
  # General methods
75
87
 
76
- def build_message(key, data)
88
+ def interpolate_message(key, data)
77
89
  t(key) % data
78
90
  end
79
91
 
data/lita-gitlab.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'lita-gitlab'
3
- spec.version = '1.0.3'
3
+ spec.version = '1.0.4'
4
4
  spec.authors = ['Emilio Figueroa']
5
5
  spec.email = ['emiliofigueroatorres@gmail.com']
6
6
  spec.description = %q{A Lita handler that will display GitLab messages in the channel}
data/locales/en.yml CHANGED
@@ -3,7 +3,7 @@ en:
3
3
  handlers:
4
4
  gitlab:
5
5
  system:
6
- user_add_to_team: "%{user_name} has joined the %{project_name} project"
6
+ user_add_to_team: "%{user_name} has joined to the %{project_name} project"
7
7
  project_create: "%{owner_name} has created the %{name} project!"
8
8
  project_destroy: "%{owner_name} has destroyed the %{name} project!"
9
9
  user_remove_from_team: "%{user_name} has left the %{project_name} project"
@@ -15,11 +15,11 @@ en:
15
15
  reopened: "The issue '%{title}' has been reopened."
16
16
  closed: "The issue '%{title}' is now closed"
17
17
  merge_request:
18
- opened: "New merge-request: %{link}"
19
- reopened: "The merge-request '%{link}' has been reopened."
20
- closed: "The merge-request '%{title}' is now closed."
18
+ opened: "New merge-request #%{iid} en %{project}: %{link}"
19
+ reopened: "The merge-request #%{iid} en %{project} '%{link}' has been reopened."
20
+ closed: "The merge-request #%{iid} en %{project} '%{title}' is now closed."
21
21
  locked: ""
22
- merged: "Yay! The merge-request '%{link}' is has been merged."
22
+ merged: "Yay! The merge-request #%{iid} en %{project} '%{link}' is has been merged."
23
23
  push:
24
- new_branch: "%{user_name} created the new branch '%{link}'"
25
- add_to_branch: "%{user_name} added %{total_commits_count} commits to branch '%{link}'"
24
+ new_branch: "%{user_name} created the new branch '%{link}' in project %{project}"
25
+ add_to_branch: "%{user_name} added %{total_commits_count} commits to branch '%{link}' in project %{project}"
@@ -3,7 +3,7 @@
3
3
  "event_name": "project_create",
4
4
  "name": "StoreCloud",
5
5
  "owner_email": "johnsmith@gmail.com",
6
- "owner_name": "John Smit",
6
+ "owner_name": "John Smith",
7
7
  "path": "stormcloud",
8
8
  "path_with_namespace": "jsmith/stormcloud",
9
9
  "project_id": 74
File without changes
File without changes
@@ -23,9 +23,12 @@ describe Lita::Handlers::Gitlab, lita_handler: true do
23
23
  let(:project) { 'test_project' }
24
24
  let(:matchers) {
25
25
  {
26
- new_team_member: 'join',
27
- project_created: 'created',
28
- project_destroyed: 'destroyed',
26
+ new_team_member: 'John Smith has joined to the StoreCloud project',
27
+ project_created: 'John Smith has created the StoreCloud project!',
28
+ project_destroyed: 'John Smith has destroyed the Underscore project!',
29
+ issue_opened: 'New issue >> New API: create/update/delete file: Create new API for manipulations with repository',
30
+ add_to_branch: "John Smith added 4 commits to branch '<http://localhost/diaspora|Diaspora>' in project test_project",
31
+ merge_request_opened: 'New merge-request #1 en test_project: <http://example.gitlab/group_name/test_project/merge_requests/1|MS-Viewport>'
29
32
  }
30
33
  }
31
34
 
@@ -46,7 +49,7 @@ describe Lita::Handlers::Gitlab, lita_handler: true do
46
49
  it 'notifies to the applicable rooms' do
47
50
  expect(robot).to receive(:send_message) do |target, message|
48
51
  expect(target.room).to eq('#baz')
49
- expect(message).to include matchers[:new_team_member]
52
+ expect(message).to eq matchers[:new_team_member]
50
53
  end
51
54
  subject.receive(request, response)
52
55
  end
@@ -61,7 +64,7 @@ describe Lita::Handlers::Gitlab, lita_handler: true do
61
64
  it 'notifies to the applicable rooms' do
62
65
  expect(robot).to receive(:send_message) do |target, message|
63
66
  expect(target.room).to eq('#baz')
64
- expect(message).to include matchers[:project_created]
67
+ expect(message).to eq matchers[:project_created]
65
68
  end
66
69
  subject.receive(request, response)
67
70
  end
@@ -76,7 +79,7 @@ describe Lita::Handlers::Gitlab, lita_handler: true do
76
79
  it 'notifies to the applicable rooms' do
77
80
  expect(robot).to receive(:send_message) do |target, message|
78
81
  expect(target.room).to eq('#baz')
79
- expect(message).to include matchers[:project_destroyed]
82
+ expect(message).to eq matchers[:project_destroyed]
80
83
  end
81
84
  subject.receive(request, response)
82
85
  end
@@ -86,7 +89,7 @@ describe Lita::Handlers::Gitlab, lita_handler: true do
86
89
  context 'when web project hook' do
87
90
 
88
91
  context 'when issue event' do
89
- let(:issue_payload) { fixture_file('web/issue') }
92
+ let(:issue_payload) { fixture_file('web/issue_opened') }
90
93
  before do
91
94
  allow(params).to receive(:[]).with('payload').and_return(issue_payload)
92
95
  end
@@ -94,14 +97,14 @@ describe Lita::Handlers::Gitlab, lita_handler: true do
94
97
  it 'notifies to the applicable rooms' do
95
98
  expect(robot).to receive(:send_message) do |target, message|
96
99
  expect(target.room).to eq('#baz')
97
- expect(message).to include 'New issue'
100
+ expect(message).to eq matchers[:issue_opened]
98
101
  end
99
102
  subject.receive(request, response)
100
103
  end
101
104
  end
102
105
 
103
106
  context 'when push event' do
104
- let(:push_payload) { fixture_file('web/push') }
107
+ let(:push_payload) { fixture_file('web/add_to_branch') }
105
108
  before do
106
109
  allow(params).to receive(:[]).with('payload').and_return(push_payload)
107
110
  end
@@ -109,14 +112,14 @@ describe Lita::Handlers::Gitlab, lita_handler: true do
109
112
  it 'notifies to the applicable rooms' do
110
113
  expect(robot).to receive(:send_message) do |target, message|
111
114
  expect(target.room).to eq('#baz')
112
- expect(message).to include 'branch'
115
+ expect(message).to eq matchers[:add_to_branch]
113
116
  end
114
117
  subject.receive(request, response)
115
118
  end
116
119
  end
117
120
 
118
121
  context 'when merge request event' do
119
- let(:merge_request_payload) { fixture_file('web/merge_request') }
122
+ let(:merge_request_payload) { fixture_file('web/merge_request_opened') }
120
123
  before do
121
124
  allow(params).to receive(:[]).with('payload').and_return(merge_request_payload)
122
125
  end
@@ -124,7 +127,7 @@ describe Lita::Handlers::Gitlab, lita_handler: true do
124
127
  it 'notifies to the applicable rooms' do
125
128
  expect(robot).to receive(:send_message) do |target, message|
126
129
  expect(target.room).to eq('#baz')
127
- expect(message).to include 'merge'
130
+ expect(message).to eq matchers[:merge_request_opened]
128
131
  end
129
132
  subject.receive(request, response)
130
133
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-gitlab
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emilio Figueroa
@@ -131,9 +131,9 @@ files:
131
131
  - spec/fixtures/system/team_member_removed.json
132
132
  - spec/fixtures/system/user_created.json
133
133
  - spec/fixtures/system/user_removed.json
134
- - spec/fixtures/web/issue.json
135
- - spec/fixtures/web/merge_request.json
136
- - spec/fixtures/web/push.json
134
+ - spec/fixtures/web/add_to_branch.json
135
+ - spec/fixtures/web/issue_opened.json
136
+ - spec/fixtures/web/merge_request_opened.json
137
137
  - spec/lita/handlers/gitlab_spec.rb
138
138
  - spec/spec_helper.rb
139
139
  homepage: https://github.com/milo-ft/lita-gitlab
@@ -168,8 +168,8 @@ test_files:
168
168
  - spec/fixtures/system/team_member_removed.json
169
169
  - spec/fixtures/system/user_created.json
170
170
  - spec/fixtures/system/user_removed.json
171
- - spec/fixtures/web/issue.json
172
- - spec/fixtures/web/merge_request.json
173
- - spec/fixtures/web/push.json
171
+ - spec/fixtures/web/add_to_branch.json
172
+ - spec/fixtures/web/issue_opened.json
173
+ - spec/fixtures/web/merge_request_opened.json
174
174
  - spec/lita/handlers/gitlab_spec.rb
175
175
  - spec/spec_helper.rb