rocketchat 0.1.15 → 0.1.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7a00601e46ef5efebc3469ce63a08dd821e2764d
4
- data.tar.gz: 6984f7743b729b0a8c3824d6e124d9e1fe220c30
3
+ metadata.gz: b7b2e20c323221a0e410ea186e2466ccbd3bf872
4
+ data.tar.gz: eada6fbe56c8ebd89e5a4960920049173ff942c8
5
5
  SHA512:
6
- metadata.gz: 1898efe39d392d89c64ddfe76b8539fe6b590edae5906c62959608d7d2fef93ece984bde1e5e51af17279c1fa78808f21dc1552ab09c427f0d2b3db883e7a985
7
- data.tar.gz: e8d7676d832229398c61092d50f3d1ea1f551d11e13aaa0001f5243766d07f06652d7205431593f214cf51eee96325f43e5438ea3c40e351c1611e48a1fb1d94
6
+ metadata.gz: 6a72512542f1684211a8b4b8fb392e89a4b2e5b7f3fa2cc81b168940432a5dc894b1d7165a2a606a3ebca77e89788ed8a35456048d2677015151cc325f918491
7
+ data.tar.gz: 65b113408b366c5f31e14bd4a04a9eeded34cbb6dcf4d31568f054b56eb7e383f7140e8f4df31974c5733ffb87ba67f0a0a73f2d5a8384944119ea648e408e8e
data/.gitignore CHANGED
@@ -2,3 +2,4 @@ Gemfile.lock
2
2
  *.gem
3
3
  .bundle
4
4
  vendor/bundle
5
+ coverage
@@ -1,3 +1,5 @@
1
+ require: rubocop-rspec
2
+
1
3
  Metrics/BlockLength:
2
4
  Exclude:
3
5
  - "**/*_spec.rb"
@@ -14,3 +16,9 @@ Metrics/MethodLength:
14
16
  Style/NumericLiterals:
15
17
  Exclude:
16
18
  - "**/*_spec.rb"
19
+
20
+ RSpec/ExampleLength:
21
+ Max: 10
22
+
23
+ RSpec/MultipleExpectations:
24
+ Max: 5
@@ -1,18 +1,31 @@
1
+ env:
2
+ global:
3
+ - CC_TEST_REPORTER_ID=abf0a371ff8851f13b563671914b195bb46f0997f0f93142e666d9acad08e22f
4
+
1
5
  language: ruby
6
+
2
7
  rvm:
3
- - 2.0
4
8
  - 2.1
5
9
  - 2.2
6
10
  - 2.3
7
11
  - 2.4
12
+ - 2.5
8
13
 
9
14
  before_install:
10
15
  - gem update bundler
11
16
 
12
17
  install:
13
18
  - bundle install --jobs=3 --retry=3
14
- - gem install rubocop
19
+ - if [[ ! `ruby --version` =~ ^ruby\ 2\.1 ]]; then gem install rubocop; fi
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
15
25
 
16
26
  script:
17
- - rubocop
27
+ - if [[ ! `ruby --version` =~ ^ruby\ 2\.1 ]]; then rubocop; fi
18
28
  - bundle exec rake
29
+
30
+ after_script:
31
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  [![Travis Build Status](http://img.shields.io/travis/abrom/rocketchat-ruby.svg?style=flat)](https://travis-ci.org/abrom/rocketchat-ruby)
2
- [![Code Climate Score](http://img.shields.io/codeclimate/github/abrom/rocketchat-ruby.svg?style=flat)](https://codeclimate.com/github/abrom/rocketchat-ruby)
2
+ [![Maintainability](https://api.codeclimate.com/v1/badges/9de85764122a44a14c22/maintainability)](https://codeclimate.com/github/abrom/rocketchat-ruby/maintainability)
3
+ [![Test Coverage](https://api.codeclimate.com/v1/badges/9de85764122a44a14c22/test_coverage)](https://codeclimate.com/github/abrom/rocketchat-ruby/test_coverage)
3
4
  [![Gem Version](http://img.shields.io/gem/v/rocketchat.svg?style=flat)](#)
4
5
 
5
6
  # Rocket.Chat REST API for Ruby
@@ -31,15 +32,15 @@ This gem supports the following Rocket.Chat APIs (Tested against Rocket.Chat v0.
31
32
  * [/api/v1/info](#info)
32
33
 
33
34
  #### Authentication
34
- * [/api/v1/login](#authentication)
35
- * [/api/v1/logout](#authentication)
35
+ * [/api/v1/login](docs/authentication.md#login)
36
+ * [/api/v1/logout](docs/authentication.md#logout)
36
37
  * /api/v1/me
37
38
 
38
39
  #### Chat
39
- * /api/v1/chat.delete
40
- * /api/v1/chat.getMessage
41
- * /api/v1/chat.postMessage
42
- * /api/v1/chat.update
40
+ * [/api/v1/chat.delete](docs/chat.md#delete)
41
+ * [/api/v1/chat.getMessage](docs/chat.md#getmessage)
42
+ * [/api/v1/chat.postMessage](docs/chat.md#postmessage)
43
+ * [/api/v1/chat.update](docs/chat.md#update)
43
44
 
44
45
  #### Channels
45
46
  * /api/v1/channels.archive
@@ -62,6 +63,7 @@ This gem supports the following Rocket.Chat APIs (Tested against Rocket.Chat v0.
62
63
  * [/api/v1/channels.setReadOnly](docs/channels.md#channelsset_attr)
63
64
  * [/api/v1/channels.setTopic](docs/channels.md#channelsset_attr)
64
65
  * [/api/v1/channels.setType](docs/channels.md#channelsset_attr)
66
+ * [/api/v1/channels.online](docs/channels.md#channelsonline)
65
67
  * /api/v1/channels.unarchive
66
68
 
67
69
  #### Groups
@@ -1,3 +1,3 @@
1
1
  module RocketChat
2
- VERSION = '0.1.15'.freeze
2
+ VERSION = '0.1.16'.freeze
3
3
  end
@@ -5,6 +5,7 @@ module RocketChat
5
5
  #
6
6
  class Channel < Room
7
7
  include ListSupport
8
+ include UserSupport
8
9
 
9
10
  #
10
11
  # channels.join REST API
@@ -40,6 +41,21 @@ module RocketChat
40
41
  response['channels'].map { |hash| RocketChat::Room.new hash } if response['success']
41
42
  end
42
43
 
44
+ #
45
+ # channels.online REST API
46
+ # @param [String] room_id Rocket.Chat room id
47
+ # @return [Users[]]
48
+ # @raise [HTTPError, StatusError]
49
+ #
50
+ def online(room_id: nil, name: nil)
51
+ response = session.request_json(
52
+ '/api/v1/channels.online',
53
+ body: room_params(room_id, name)
54
+ )
55
+
56
+ response['online'].map { |hash| RocketChat::User.new hash } if response['success']
57
+ end
58
+
43
59
  # Keys for set_attr:
44
60
  # * [String] description A room's description
45
61
  # * [String] join_code Code to join a channel
@@ -56,6 +56,7 @@ module RocketChat
56
56
 
57
57
  def check_response(response, fail_unless_ok)
58
58
  return if response.is_a?(Net::HTTPOK) || !(fail_unless_ok || response.is_a?(Net::HTTPServerError))
59
+
59
60
  raise RocketChat::HTTPError, "Invalid http response code: #{response.code}"
60
61
  end
61
62
 
@@ -81,6 +82,7 @@ module RocketChat
81
82
  end
82
83
 
83
84
  return unless headers
85
+
84
86
  headers = Util.stringify_hash_keys headers
85
87
  headers.delete_if { |key, value| key.nil? || value.nil? }
86
88
  end
@@ -63,6 +63,11 @@ module RocketChat
63
63
  data['active']
64
64
  end
65
65
 
66
+ # User roles
67
+ def roles
68
+ data['roles']
69
+ end
70
+
66
71
  def inspect
67
72
  format(
68
73
  '#<%<class_name>s:0x%<object_id>p @id="%<id>s" @username="%<username>s" @active="%<active>s">',
@@ -3,6 +3,8 @@ module RocketChat
3
3
  # Rocket.Chat generic utility functions
4
4
  #
5
5
  module Util
6
+ module_function
7
+
6
8
  #
7
9
  # Stringify symbolized hash keys
8
10
  # @param [Hash] hash A string/symbol keyed hash
@@ -20,7 +22,6 @@ module RocketChat
20
22
  end
21
23
  new_hash
22
24
  end
23
- module_function :stringify_hash_keys
24
25
 
25
26
  #
26
27
  # Slice keys from hash
@@ -37,7 +38,6 @@ module RocketChat
37
38
  end
38
39
  new_hash
39
40
  end
40
- module_function :slice_hash
41
41
 
42
42
  #
43
43
  # Camelize a string or symbol
@@ -47,6 +47,5 @@ module RocketChat
47
47
  def camelize(string)
48
48
  string.to_s.gsub(/_([a-z])/) { Regexp.last_match(1).upcase }
49
49
  end
50
- module_function :camelize
51
50
  end
52
51
  end
@@ -1,4 +1,4 @@
1
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  require 'rocket_chat/gem_version'
@@ -21,7 +21,9 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency 'bundler', '~> 1.11'
22
22
  spec.add_development_dependency 'rake', '~> 10.0'
23
23
  spec.add_development_dependency 'rspec', '~> 3.0'
24
- spec.add_development_dependency 'rubocop', '~> 0.52'
24
+ spec.add_development_dependency 'rubocop', '~> 0.57'
25
+ spec.add_development_dependency 'rubocop-rspec', '~> 1.27'
26
+ spec.add_development_dependency 'simplecov', '~> 0.16'
25
27
  spec.add_development_dependency 'webmock', '~> 2.3'
26
28
  spec.add_development_dependency 'yard', '~> 0.9.11'
27
29
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rocketchat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.15
4
+ version: 0.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - int512
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-12-21 00:00:00.000000000 Z
12
+ date: 2018-10-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -59,14 +59,42 @@ dependencies:
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.52'
62
+ version: '0.57'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0.52'
69
+ version: '0.57'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rubocop-rspec
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.27'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1.27'
84
+ - !ruby/object:Gem::Dependency
85
+ name: simplecov
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '0.16'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '0.16'
70
98
  - !ruby/object:Gem::Dependency
71
99
  name: webmock
72
100
  requirement: !ruby/object:Gem::Requirement
@@ -155,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
183
  version: '0'
156
184
  requirements: []
157
185
  rubyforge_project:
158
- rubygems_version: 2.6.13
186
+ rubygems_version: 2.6.14.1
159
187
  signing_key:
160
188
  specification_version: 4
161
189
  summary: Rocket.Chat REST API v1 for Ruby