rocketchat 0.1.19 → 0.1.22

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
  SHA256:
3
- metadata.gz: 140d7b5f967bb7df8cd40519f7a8c1bcbd3910b8afd128433430e60a162f14c3
4
- data.tar.gz: bb14c666d3e4a0920b506d548f68d70d817f51b4ff83ec23188207488665b2d1
3
+ metadata.gz: e7907a530b955caeebf01a3e7761eb2b88722d3cebccd409b9c85468db0a4bd6
4
+ data.tar.gz: 5d368fbed83d9a6777aeccfbe02382295fc1024c53e1bd987cea266cfc0de1ba
5
5
  SHA512:
6
- metadata.gz: 67dd8d2cd758c87a762cf428f4c72211163c185d29ed03c6368ebdce6e648964a46bb69024571c003799a6abfb0fbef8c073dde2e847e81a6b092d462c0cc971
7
- data.tar.gz: 7279c2d80e049e8b580c6128ff44f9542a0f63f58c73c6ad3e13aa988e73f4450b20324b4d919fa08081152c66b54624432863fea0286664a7958d162d9a8505
6
+ metadata.gz: eea355bd46d9c4beb48170431f2e27386faeb3748db31be3764cdda4cb158f10a57f22b4d2de668ee9e33930d56c8bb6175ebb4a8bf7e0346992a00ba3ddf34e
7
+ data.tar.gz: 5bb2267586fe3995ba4d645747a7b71d2ac72d93ea7064dceedc0eddcc2c775698991f0f963394ebd8304e7ab76d0624271a603c425989659390627a5cede2fc
@@ -0,0 +1,34 @@
1
+ name: Test RocketChat Ruby gem
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby-version: ['2.6', '2.7', '3.0', '3.1']
15
+
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+
19
+ - name: Set up Ruby
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: ${{ matrix.ruby-version }}
23
+ bundler-cache: true
24
+
25
+ - name: Lint code - Rubocop
26
+ run: bundle exec rubocop
27
+
28
+ - name: Run tests
29
+ run: bundle exec rspec
30
+
31
+ - name: Test & publish code coverage
32
+ uses: paambaati/codeclimate-action@v3.0.0
33
+ env:
34
+ CC_TEST_REPORTER_ID: abf0a371ff8851f13b563671914b195bb46f0997f0f93142e666d9acad08e22f
data/.rubocop.yml CHANGED
@@ -1,24 +1,79 @@
1
- require: rubocop-rspec
1
+ require:
2
+ - rubocop-performance
3
+ - rubocop-rake
4
+ - rubocop-rspec
5
+
6
+ AllCops:
7
+ NewCops: enable
8
+ TargetRubyVersion: 2.5
9
+
10
+ Layout/EmptyLinesAroundAttributeAccessor:
11
+ Enabled: true
12
+
13
+ Layout/LineLength:
14
+ Max: 120
15
+
16
+ Layout/SpaceAroundMethodCallOperator:
17
+ Enabled: true
18
+
19
+ Lint/DeprecatedOpenSSLConstant:
20
+ Enabled: true
21
+
22
+ Lint/MixedRegexpCaptureTypes:
23
+ Enabled: true
24
+
25
+ Lint/RaiseException:
26
+ Enabled: true
27
+
28
+ Lint/StructNewOverride:
29
+ Enabled: true
2
30
 
3
31
  Metrics/BlockLength:
4
32
  Exclude:
5
33
  - "**/*_spec.rb"
6
34
  - "spec/shared/*.rb"
7
35
 
8
- Metrics/LineLength:
9
- Max: 120
10
-
11
36
  Metrics/MethodLength:
12
37
  Max: 15
13
38
  Exclude:
14
39
  - "**/*_spec.rb"
15
40
 
16
- Style/NumericLiterals:
17
- Exclude:
18
- - "**/*_spec.rb"
19
-
20
41
  RSpec/ExampleLength:
21
42
  Max: 10
22
43
 
23
44
  RSpec/MultipleExpectations:
24
45
  Max: 5
46
+
47
+ RSpec/MultipleMemoizedHelpers:
48
+ Max: 15
49
+
50
+ RSpec/NestedGroups:
51
+ Max: 4
52
+
53
+ Style/ExponentialNotation:
54
+ Enabled: true
55
+
56
+ Style/HashEachMethods:
57
+ Enabled: true
58
+
59
+ Style/HashTransformKeys:
60
+ Enabled: true
61
+
62
+ Style/HashTransformValues:
63
+ Enabled: true
64
+
65
+ Style/NumericLiterals:
66
+ Exclude:
67
+ - "**/*_spec.rb"
68
+
69
+ Style/RedundantFetchBlock:
70
+ Enabled: true
71
+
72
+ Style/RedundantRegexpCharacterClass:
73
+ Enabled: true
74
+
75
+ Style/RedundantRegexpEscape:
76
+ Enabled: true
77
+
78
+ Style/SlicingWithRange:
79
+ Enabled: true
data/CHANGELOG.md CHANGED
@@ -3,9 +3,24 @@
3
3
  ## Unreleased
4
4
  - None
5
5
 
6
+ ## [0.1.22](releases/tag/v0.1.22) - 2022-07-21
7
+ ### Fixed
8
+ - [#38] Fix room (channel/group) online API queries (use `query` instead of `roomId`) ([@abrom][])
9
+
10
+ ## [0.1.21](releases/tag/v0.1.21) - 2021-08-30
11
+ ### Added
12
+ - [#36] Improve support for various REST APIs ([@abrom][])
13
+
14
+ ## [0.1.20](releases/tag/v0.1.20) - 2021-03-29
15
+ ### Added
16
+ - [#34] Support for channels.members and groups.members ([@alinavancea][])
17
+
18
+ ### Deprecation
19
+ - [#35] Drop Ruby 2.3 and 2.4 support ([@abrom][])
20
+
6
21
  ## [0.1.19](releases/tag/v0.1.19) - 2019-03-01
7
22
  ### Fixed
8
- - Address CVE-2020-8130 - `rake` OS command injection vulnerability
23
+ - Address CVE-2020-8130 - `rake` OS command injection vulnerability ([@abrom][])
9
24
 
10
25
  ## [0.1.18](releases/tag/v0.1.18) - 2018-01-05
11
26
  ### Added
@@ -13,19 +28,19 @@
13
28
 
14
29
  ## [0.1.17](releases/tag/v0.1.17) - 2019-01-05
15
30
  ### Deprecation
16
- - Drop Ruby 2.1 from build matrix
31
+ - Drop Ruby 2.1 from build matrix ([@abrom][])
17
32
 
18
33
  ## [0.1.16](releases/tag/v0.1.16) - 2018-10-3
19
34
  ### Deprecation
20
- - Drop Ruby 2.0 from build matrix
35
+ - Drop Ruby 2.0 from build matrix ([@abrom][])
21
36
 
22
37
  ### Added
23
38
  - [#27] Support for channels.online ([@chrisstime][])
24
- - `rubocop-rspec` dependency and fixed new lints
39
+ - [#28] `rubocop-rspec` dependency and fixed new lints ([@abrom][])
25
40
 
26
41
  ## [0.1.15](releases/tag/v0.1.15) - 2017-12-21
27
42
  ### Fixed
28
- - Updated yard to resolve potential security vulnerability
43
+ - Updated yard to resolve potential security vulnerability ([@abrom][])
29
44
 
30
45
  ## [0.1.14](releases/tag/v0.1.14) - 2017-10-9
31
46
  ### Added
@@ -33,16 +48,16 @@
33
48
 
34
49
  ## [0.1.13](releases/tag/v0.1.13) - 2017-10-9
35
50
  ### Added
36
- - Support for channel/group addAll endpoint
51
+ - Support for channel/group addAll endpoint ([@abrom][])
37
52
 
38
53
  ## [0.1.12](releases/tag/v0.1.12) - 2017-08-28
39
54
  ### Fixed
40
- - GET request parameter encoding
55
+ - GET request parameter encoding ([@abrom][])
41
56
 
42
57
  ## [0.1.11](releases/tag/v0.1.11) - 2017-08-22
43
58
  ### Fixed
44
59
  - [#15] Response parser improvements ([@reist][],[@danischreiber][])
45
- - [#17] Fixed a missing dependency issue with `net/http`
60
+ - [#17] Fixed a missing dependency issue with `net/http` ([@abrom][])
46
61
 
47
62
  ### Added
48
63
  - [#14] Add/remove moderator from room ([@danischreiber][])
@@ -53,11 +68,11 @@
53
68
 
54
69
  ## [0.1.9](releases/tag/v0.1.9) - 2017-07-16
55
70
  ### Fixed
56
- - Update chat message handlers to support Ruby 2.0
71
+ - Update chat message handlers to support Ruby 2.0 ([@abrom][])
57
72
 
58
73
  ## [0.1.8](releases/tag/v0.1.8) - 2017-07-16
59
74
  ### Added
60
- - Messages chat API support
75
+ - Messages chat API support ([@abrom][])
61
76
 
62
77
  ## [0.1.7](releases/tag/v0.1.7) - 2017-07-16
63
78
  ### Added
@@ -74,7 +89,7 @@
74
89
 
75
90
  ## [0.1.4](releases/tag/v0.1.4) - 2017-07-9
76
91
  ### Fixed
77
- - Fixed a missing dependency issue with `uri`
92
+ - Fixed a missing dependency issue with `uri` ([@abrom][])
78
93
 
79
94
  ## [0.1.2](releases/tag/v0.1.2) - 2017-05-24
80
95
  ### Added
@@ -82,15 +97,15 @@
82
97
 
83
98
  ## [0.1.1](releases/tag/v0.1.1) - 2017-05-1
84
99
  ### Added
85
- - Support for settings get/set endpoints
100
+ - Support for settings get/set endpoints ([@abrom][])
86
101
 
87
102
  ## [0.0.8](releases/tag/v0.0.8) - 2017-04-30
88
103
  ### Added
89
- - Support for Users `getPresence` endpoint
104
+ - Support for Users `getPresence` endpoint ([@abrom][])
90
105
 
91
106
  ## [0.0.7](releases/tag/v0.0.7) - 2017-04-30
92
107
  ### Added
93
- - Support for Users `list` endpoint
108
+ - Support for Users `list` endpoint ([@abrom][])
94
109
 
95
110
  ## [0.0.6](releases/tag/v0.0.6) - 2017-04-25
96
111
  ### Fixed
@@ -99,3 +114,12 @@
99
114
  ## [0.0.5](releases/tag/v0.0.5) - 2017-04-25
100
115
  ### Added
101
116
  - [#1] Added Users `info` and `delete` endpoints ([@reist][])
117
+
118
+ [@abrom]: https://github.com/abrom
119
+ [@reist]: https://github.com/reist
120
+ [@danischreiber]: https://github.com/danischreiber
121
+ [@hardik127]: https://github.com/hardik127
122
+ [@chrisstime]: https://github.com/chrisstime
123
+ [@christianmoretti]: https://github.com/christianmoretti
124
+ [@alinavancea]: https://github.com/alinavancea
125
+
data/README.md CHANGED
@@ -68,6 +68,7 @@ This gem supports the following Rocket.Chat APIs (Tested against Rocket.Chat v0.
68
68
  * [/api/v1/channels.setTopic](docs/channels.md#channelsset_attr)
69
69
  * [/api/v1/channels.setType](docs/channels.md#channelsset_attr)
70
70
  * [/api/v1/channels.online](docs/channels.md#channelsonline)
71
+ * [/api/v1/channels.members](docs/channels.md#channelsmembers)
71
72
  * /api/v1/channels.unarchive
72
73
 
73
74
  #### Groups
@@ -89,6 +90,7 @@ This gem supports the following Rocket.Chat APIs (Tested against Rocket.Chat v0.
89
90
  * /api/v1/groups.setReadOnly
90
91
  * /api/v1/groups.setTopic
91
92
  * /api/v1/groups.setType
93
+ * [/api/v1/groups.members](docs/groups.md#groupsmembers)
92
94
  * /api/v1/groups.unarchive
93
95
 
94
96
  #### Users
@@ -2,8 +2,12 @@
2
2
 
3
3
  module RocketChat
4
4
  class Error < StandardError; end
5
+
5
6
  class HTTPError < Error; end
7
+
6
8
  class InvalidMethodError < HTTPError; end
9
+
7
10
  class JsonParseError < Error; end
11
+
8
12
  class StatusError < Error; end
9
13
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RocketChat
4
- VERSION = '0.1.19'
4
+ VERSION = '0.1.22'
5
5
  end
@@ -19,7 +19,7 @@ module RocketChat
19
19
  data['joined']
20
20
  end
21
21
 
22
- # Qty of menbers in the chat
22
+ # Qty of members in the chat
23
23
  def members
24
24
  data['members']
25
25
  end
@@ -46,13 +46,15 @@ module RocketChat
46
46
  #
47
47
  # channels.online REST API
48
48
  # @param [String] room_id Rocket.Chat room id
49
+ # @param [String] name Rocket.Chat room name
49
50
  # @return [Users[]]
51
+ # @note Must provide either `room_id` or `name` parameter. `room_id` will take precedence if providing both
50
52
  # @raise [HTTPError, StatusError]
51
53
  #
52
54
  def online(room_id: nil, name: nil)
53
55
  response = session.request_json(
54
56
  '/api/v1/channels.online',
55
- body: room_params(room_id, name)
57
+ body: { query: room_query_params(room_id, name) }
56
58
  )
57
59
 
58
60
  response['online'].map { |hash| RocketChat::User.new hash } if response['success']
@@ -57,6 +57,40 @@ module RocketChat
57
57
  response['groups'].map { |hash| RocketChat::Room.new hash } if response['success']
58
58
  end
59
59
 
60
+ # groups.listAll REST API
61
+ # @param [Integer] offset Query offset
62
+ # @param [Integer] count Query count/limit
63
+ # @param [Hash] sort Query field sort hash. eg `{ msgs: 1, name: -1 }`
64
+ # @param [Hash] fields Query fields to return. eg `{ name: 1, ro: 0 }`
65
+ # @return [Room[]]
66
+ # @raise [HTTPError, StatusError]
67
+ #
68
+ def list_all(offset: nil, count: nil, sort: nil, fields: nil, query: nil)
69
+ response = session.request_json(
70
+ '/api/v1/groups.listAll',
71
+ body: build_list_body(offset, count, sort, fields, query)
72
+ )
73
+
74
+ response['groups'].map { |hash| RocketChat::Room.new hash } if response['success']
75
+ end
76
+
77
+ #
78
+ # groups.online REST API
79
+ # @param [String] room_id Rocket.Chat room id
80
+ # @param [String] name Rocket.Chat room name
81
+ # @return [Users[]]
82
+ # @note Must provide either `room_id` or `name` parameter. `room_id` will take precedence if providing both
83
+ # @raise [HTTPError, StatusError]
84
+ #
85
+ def online(room_id: nil, name: nil)
86
+ response = session.request_json(
87
+ '/api/v1/groups.online',
88
+ body: { query: room_query_params(room_id, name) }
89
+ )
90
+
91
+ response['online'].map { |hash| RocketChat::User.new hash } if response['success']
92
+ end
93
+
60
94
  # Keys for set_attr:
61
95
  # * [String] description A room's description
62
96
  # * [String] purpose Alias for description
@@ -6,6 +6,8 @@ module RocketChat
6
6
  # Rocket.Chat Direct messages
7
7
  #
8
8
  class Im
9
+ include ListSupport
10
+
9
11
  #
10
12
  # @param [Session] session Session
11
13
  #
@@ -16,18 +18,63 @@ module RocketChat
16
18
  #
17
19
  # im.create REST API
18
20
  # @param [String] username Rocket.Chat username
21
+ # @param [String[]] usernames Array of Rocket.Chat usernames
22
+ # @param [Boolean] exclude_self Flag indicating whether the authenticated user should be included in the group
19
23
  # @return [RocketChat::Room]
20
24
  # @raise [HTTPError, StatusError]
21
25
  #
22
- def create(username:)
26
+ def create(username: nil, usernames: nil, exclude_self: false)
27
+ params =
28
+ if exclude_self
29
+ { usernames: usernames.join(','), excludeSelf: true }
30
+ elsif usernames
31
+ { usernames: usernames.join(',') }
32
+ else
33
+ { username: username }
34
+ end
35
+
23
36
  response = session.request_json(
24
37
  '/api/v1/im.create',
25
38
  method: :post,
26
- body: { username: username }
39
+ body: params
27
40
  )
28
41
  RocketChat::Room.new response['room']
29
42
  end
30
43
 
44
+ #
45
+ # im.delete REST API
46
+ # @param [String] room_id Rocket.Chat direct message room ID
47
+ # @return [Boolean]
48
+ # @raise [HTTPError, StatusError]
49
+ #
50
+ def delete(room_id: nil)
51
+ session.request_json(
52
+ '/api/v1/im.delete',
53
+ method: :post,
54
+ body: { roomId: room_id },
55
+ upstreamed_errors: ['error-room-not-found']
56
+ )['success']
57
+ end
58
+
59
+ #
60
+ # im.list.everyone REST API
61
+ # @param [Integer] offset Query offset
62
+ # @param [Integer] count Query count/limit
63
+ # @param [Hash] sort Query field sort hash. eg `{ msgs: 1, name: -1 }`
64
+ # @param [Hash] fields Query fields to return. eg `{ name: 1, ro: 0 }`
65
+ # @param [Hash] query The query. `{ active: true, type: { '$in': ['name', 'general'] } }`
66
+ # @return [Room[]]
67
+ # @raise [HTTPError, StatusError]
68
+ #
69
+ def list_everyone(offset: nil, count: nil, sort: nil, fields: nil, query: nil)
70
+ response = session.request_json(
71
+ '/api/v1/im.list.everyone',
72
+ body: build_list_body(offset, count, sort, fields, query)
73
+ )
74
+
75
+ response['ims'].map { |hash| RocketChat::Room.new hash } if response['success']
76
+ end
77
+
31
78
  #
32
79
  # im.counters REST API
33
80
  # @param [String] room_id Rocket.Chat roomId
@@ -11,9 +11,11 @@ module RocketChat
11
11
 
12
12
  def self.inherited(subclass)
13
13
  field = subclass.name.split('::')[-1].downcase
14
- collection = field + 's'
14
+ collection = "#{field}s"
15
15
  subclass.send(:define_singleton_method, :field) { field }
16
16
  subclass.send(:define_singleton_method, :collection) { collection }
17
+
18
+ super
17
19
  end
18
20
 
19
21
  #
@@ -283,6 +285,25 @@ module RocketChat
283
285
  )['success']
284
286
  end
285
287
 
288
+ #
289
+ # *.members* REST API
290
+ # @param [String] room_id Rocket.Chat room id
291
+ # @param [String] name Rocket.Chat room name
292
+ # @param [Integer] offset Query offset
293
+ # @param [Integer] count Query count/limit
294
+ # @param [Hash] sort Query field sort hash. eg `{ msgs: 1, name: -1 }`
295
+ # @return [Users[]]
296
+ # @raise [HTTPError, StatusError]
297
+ #
298
+ def members(room_id: nil, name: nil, offset: nil, count: nil, sort: nil)
299
+ response = session.request_json(
300
+ self.class.api_path('members'),
301
+ body: room_params(room_id, name).merge(build_list_body(offset, count, sort, nil, nil))
302
+ )
303
+
304
+ response['members'].map { |hash| RocketChat::User.new hash } if response['success']
305
+ end
306
+
286
307
  private
287
308
 
288
309
  attr_reader :session
@@ -15,6 +15,16 @@ module RocketChat
15
15
  {}
16
16
  end
17
17
  end
18
+
19
+ def room_query_params(id, name)
20
+ if id
21
+ { _id: id }
22
+ elsif name
23
+ { name: name }
24
+ else
25
+ {}
26
+ end.to_json
27
+ end
18
28
  end
19
29
  end
20
30
  end
@@ -69,7 +69,7 @@ module RocketChat
69
69
  method: :post,
70
70
  body: {
71
71
  userId: id,
72
- data: user_option_hash(options, true)
72
+ data: user_option_hash(options, include_personal_fields: true)
73
73
  }
74
74
  )
75
75
  RocketChat::User.new response['user']
@@ -114,13 +114,16 @@ module RocketChat
114
114
  # users.info REST API
115
115
  # @param [String] user_id Rocket.Chat user id
116
116
  # @param [String] username Username
117
+ # @param [Boolean] include_rooms Whether to include rooms in the response.
118
+ # Requires calling user to have the `view-other-user-channels` permission
117
119
  # @return [User]
118
120
  # @raise [HTTPError, StatusError]
119
121
  #
120
- def info(user_id: nil, username: nil)
122
+ def info(user_id: nil, username: nil, include_rooms: false)
121
123
  response = session.request_json(
122
124
  '/api/v1/users.info',
123
- body: user_params(user_id, username),
125
+ body: user_params(user_id, username)
126
+ .merge(include_rooms ? { fields: { userRooms: 1 }.to_json } : {}),
124
127
  upstreamed_errors: ['error-invalid-user']
125
128
  )
126
129
 
@@ -179,7 +182,7 @@ module RocketChat
179
182
 
180
183
  attr_reader :session
181
184
 
182
- def user_option_hash(options, include_personal_fields = false)
185
+ def user_option_hash(options, include_personal_fields: false)
183
186
  args = [options, :active, :roles, :join_default_channels, :require_password_change,
184
187
  :send_welcome_email, :verified, :custom_fields]
185
188
  args += %i[username email name password] if include_personal_fields
@@ -111,7 +111,7 @@ module RocketChat
111
111
  add_body(req, body) if body
112
112
  else
113
113
  uri = path
114
- uri += '?' + body.map { |k, v| "#{k}=#{v}" }.join('&') if body
114
+ uri += "?#{body.map { |k, v| "#{k}=#{v}" }.join('&')}" if body
115
115
  req = Net::HTTP::Get.new(uri, headers)
116
116
  end
117
117
 
@@ -70,6 +70,21 @@ module RocketChat
70
70
  data['roles']
71
71
  end
72
72
 
73
+ # User rooms
74
+ def rooms
75
+ return [] unless data['rooms'].is_a? Array
76
+
77
+ data['rooms'].map do |hash|
78
+ # the users.info API returns the rooms data with the subscription ID as `_id` and room ID as `rid`
79
+ if hash['rid']
80
+ hash['subscription_id'] = hash['_id']
81
+ hash['_id'] = hash['rid']
82
+ end
83
+
84
+ RocketChat::Room.new hash
85
+ end
86
+ end
87
+
73
88
  def inspect
74
89
  format(
75
90
  '#<%<class_name>s:0x%<object_id>p @id="%<id>s" @username="%<username>s" @active="%<active>s">',
data/rocketchat.gemspec CHANGED
@@ -15,6 +15,14 @@ Gem::Specification.new do |spec|
15
15
  spec.description = 'Rocket.Chat REST API v1 for Ruby'
16
16
  spec.homepage = 'https://github.com/abrom/rocketchat-ruby'
17
17
  spec.license = 'MIT'
18
+ spec.required_ruby_version = ['>= 2.5.0', '< 3.2.0']
19
+
20
+ # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
21
+ # delete this section to allow pushing this gem to any host.
22
+ raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.' unless spec.respond_to?(:metadata)
23
+
24
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
25
+ spec.metadata['rubygems_mfa_required'] = 'true'
18
26
 
19
27
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|docs)/}) }
20
28
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -23,9 +31,11 @@ Gem::Specification.new do |spec|
23
31
  spec.add_development_dependency 'bundler', ['>= 1.11', '< 3.0']
24
32
  spec.add_development_dependency 'rake', '>= 12.3.3'
25
33
  spec.add_development_dependency 'rspec', '~> 3.0'
26
- spec.add_development_dependency 'rubocop', '~> 0.62'
27
- spec.add_development_dependency 'rubocop-rspec', '~> 1.31'
28
- spec.add_development_dependency 'simplecov', '~> 0.16'
29
- spec.add_development_dependency 'webmock', '~> 2.3'
34
+ spec.add_development_dependency 'rubocop', '~> 1.28'
35
+ spec.add_development_dependency 'rubocop-performance', '~> 1.13'
36
+ spec.add_development_dependency 'rubocop-rake', '~> 0.6'
37
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.10'
38
+ spec.add_development_dependency 'simplecov', '~> 0.16', '< 0.18'
39
+ spec.add_development_dependency 'webmock', '~> 3.12'
30
40
  spec.add_development_dependency 'yard', '~> 0.9.11'
31
41
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rocketchat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.19
4
+ version: 0.1.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - int512
8
8
  - abrom
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-03-01 00:00:00.000000000 Z
12
+ date: 2022-07-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -65,28 +65,56 @@ dependencies:
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0.62'
68
+ version: '1.28'
69
69
  type: :development
70
70
  prerelease: false
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.62'
75
+ version: '1.28'
76
+ - !ruby/object:Gem::Dependency
77
+ name: rubocop-performance
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.13'
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.13'
90
+ - !ruby/object:Gem::Dependency
91
+ name: rubocop-rake
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.6'
97
+ type: :development
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.6'
76
104
  - !ruby/object:Gem::Dependency
77
105
  name: rubocop-rspec
78
106
  requirement: !ruby/object:Gem::Requirement
79
107
  requirements:
80
108
  - - "~>"
81
109
  - !ruby/object:Gem::Version
82
- version: '1.31'
110
+ version: '2.10'
83
111
  type: :development
84
112
  prerelease: false
85
113
  version_requirements: !ruby/object:Gem::Requirement
86
114
  requirements:
87
115
  - - "~>"
88
116
  - !ruby/object:Gem::Version
89
- version: '1.31'
117
+ version: '2.10'
90
118
  - !ruby/object:Gem::Dependency
91
119
  name: simplecov
92
120
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +122,9 @@ dependencies:
94
122
  - - "~>"
95
123
  - !ruby/object:Gem::Version
96
124
  version: '0.16'
125
+ - - "<"
126
+ - !ruby/object:Gem::Version
127
+ version: '0.18'
97
128
  type: :development
98
129
  prerelease: false
99
130
  version_requirements: !ruby/object:Gem::Requirement
@@ -101,20 +132,23 @@ dependencies:
101
132
  - - "~>"
102
133
  - !ruby/object:Gem::Version
103
134
  version: '0.16'
135
+ - - "<"
136
+ - !ruby/object:Gem::Version
137
+ version: '0.18'
104
138
  - !ruby/object:Gem::Dependency
105
139
  name: webmock
106
140
  requirement: !ruby/object:Gem::Requirement
107
141
  requirements:
108
142
  - - "~>"
109
143
  - !ruby/object:Gem::Version
110
- version: '2.3'
144
+ version: '3.12'
111
145
  type: :development
112
146
  prerelease: false
113
147
  version_requirements: !ruby/object:Gem::Requirement
114
148
  requirements:
115
149
  - - "~>"
116
150
  - !ruby/object:Gem::Version
117
- version: '2.3'
151
+ version: '3.12'
118
152
  - !ruby/object:Gem::Dependency
119
153
  name: yard
120
154
  requirement: !ruby/object:Gem::Requirement
@@ -138,9 +172,9 @@ executables:
138
172
  extensions: []
139
173
  extra_rdoc_files: []
140
174
  files:
175
+ - ".github/workflows/test.yml"
141
176
  - ".gitignore"
142
177
  - ".rubocop.yml"
143
- - ".travis.yml"
144
178
  - CHANGELOG.md
145
179
  - Gemfile
146
180
  - LICENSE
@@ -175,8 +209,10 @@ files:
175
209
  homepage: https://github.com/abrom/rocketchat-ruby
176
210
  licenses:
177
211
  - MIT
178
- metadata: {}
179
- post_install_message:
212
+ metadata:
213
+ allowed_push_host: https://rubygems.org
214
+ rubygems_mfa_required: 'true'
215
+ post_install_message:
180
216
  rdoc_options: []
181
217
  require_paths:
182
218
  - lib
@@ -184,15 +220,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
184
220
  requirements:
185
221
  - - ">="
186
222
  - !ruby/object:Gem::Version
187
- version: '0'
223
+ version: 2.5.0
224
+ - - "<"
225
+ - !ruby/object:Gem::Version
226
+ version: 3.2.0
188
227
  required_rubygems_version: !ruby/object:Gem::Requirement
189
228
  requirements:
190
229
  - - ">="
191
230
  - !ruby/object:Gem::Version
192
231
  version: '0'
193
232
  requirements: []
194
- rubygems_version: 3.0.6
195
- signing_key:
233
+ rubygems_version: 3.2.33
234
+ signing_key:
196
235
  specification_version: 4
197
236
  summary: Rocket.Chat REST API v1 for Ruby
198
237
  test_files: []
data/.travis.yml DELETED
@@ -1,31 +0,0 @@
1
- env:
2
- global:
3
- - CC_TEST_REPORTER_ID=abf0a371ff8851f13b563671914b195bb46f0997f0f93142e666d9acad08e22f
4
-
5
- language: ruby
6
-
7
- rvm:
8
- - 2.2
9
- - 2.3
10
- - 2.4
11
- - 2.5
12
- - 2.6
13
-
14
- before_install:
15
- - gem update bundler
16
-
17
- install:
18
- - bundle install --jobs=3 --retry=3
19
- - gem install rubocop
20
-
21
- before_script:
22
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
23
- - chmod +x ./cc-test-reporter
24
- - ./cc-test-reporter before-build
25
-
26
- script:
27
- - rubocop
28
- - bundle exec rake
29
-
30
- after_script:
31
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT