mattermost-api4-ruby 0.0.7 → 0.0.8

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: 3f9d0ac73088c4af888d5d3ee7320c31b77e1402
4
- data.tar.gz: 9250e3cc7bb29b56025db305e92e86ef43dc41dd
3
+ metadata.gz: 4d2172dab7043981ddc6e9f23a1252c603b708b9
4
+ data.tar.gz: 977042fdc8a7bdc73582f35033fc44cde43129f4
5
5
  SHA512:
6
- metadata.gz: 2c2ebbc56ca76fd5221e56f84ad6fe58664c04592dc1779f152a9a24a901f9c930e4e5f2bad67b18817e366ce725b2d2468912630c6ffca09c5643eb41ced02f
7
- data.tar.gz: 8eef9ede276e9ecbaf343ae8215ece695dbab6e0e5520098ebc54c897bc29f4d3aeb5818dadfa92dc796d8c256c2ccc1b218959156ff3e1f41c6a1e15ba8f7ed
6
+ metadata.gz: 0b5df1bb0875c5cbbd43289c090c2a5446209d2ba03182f7e8bfa8ea6ed3ed157cb8355c1acdcf8790369aebddf7fe2574c4d175b7b0666f239b2b6c552eb821
7
+ data.tar.gz: e77fadbea409b42f6d9a1b2c30e926fdad9424725cefe27fa87c2bc5dcab45abf7304528c702ecdb65f324640ededded48dd37630fb98ec3a2b759f81b6f4929
@@ -1,6 +1,17 @@
1
1
  # Change Log
2
2
 
3
- ## [v0.0.7](https://github.com/maruTA-bis5/mattermost-api4-ruby/tree/v0.0.7) (2018-01-24)
3
+ ## [v0.0.8](https://github.com/maruTA-bis5/mattermost-api4-ruby/tree/v0.0.8) (2018-01-31)
4
+ [Full Changelog](https://github.com/maruTA-bis5/mattermost-api4-ruby/compare/v0.0.7...v0.0.8)
5
+
6
+ **Implemented enhancements:**
7
+
8
+ - Use Faraday as internal HTTP client [\#6](https://github.com/maruTA-bis5/mattermost-api4-ruby/issues/6)
9
+
10
+ **Fixed bugs:**
11
+
12
+ - Client\#logout did not call logout api [\#13](https://github.com/maruTA-bis5/mattermost-api4-ruby/issues/13)
13
+
14
+ ## [v0.0.7](https://github.com/maruTA-bis5/mattermost-api4-ruby/tree/v0.0.7) (2018-01-23)
4
15
  [Full Changelog](https://github.com/maruTA-bis5/mattermost-api4-ruby/compare/v0.0.6...v0.0.7)
5
16
 
6
17
  **Fixed bugs:**
@@ -1,4 +1,3 @@
1
- require 'httparty'
2
1
  require_relative 'endpoint'
3
2
  require_relative 'request'
4
3
  require_relative 'websocket_client'
@@ -6,15 +5,21 @@ require_relative 'websocket_client'
6
5
  module Mattermost
7
6
 
8
7
  class Client
9
- include HTTParty
8
+ extend Gem::Deprecate
10
9
  include Mattermost::Endpoint
11
10
  include Mattermost::Request
12
11
 
13
- attr_accessor :server, :token
12
+ attr_accessor :server, :token, :headers
13
+
14
+ # *DEPRECATED* I'll remove this method soon
15
+ def base_uri
16
+ "#{server}/api/v4"
17
+ end
18
+ deprecate :base_uri, :none, 2018, 1
14
19
 
15
20
  def initialize(server)
16
21
  self.server = server
17
- self.class.base_uri "#{server}/api/v4"
22
+ self.headers = {:Accept => "application/json"}
18
23
  end
19
24
 
20
25
  def login(username, password)
@@ -24,6 +29,7 @@ module Mattermost
24
29
  end
25
30
 
26
31
  def logout
32
+ post("/users/logout")
27
33
  self.token = nil
28
34
  update_token
29
35
  end
@@ -39,7 +45,7 @@ module Mattermost
39
45
 
40
46
  def connect_websocket
41
47
  # TODO raise exception then connected? == false
42
- @ws_client = WebSocketClient.new "#{base_uri}/websocket", token, {:headers => self.class.headers}
48
+ @ws_client = WebSocketClient.new "#{base_uri}/websocket", token, {:headers => self.headers}
43
49
  yield @ws_client if block_given?
44
50
  @ws_client
45
51
  end
@@ -48,30 +54,11 @@ module Mattermost
48
54
  @ws_client
49
55
  end
50
56
 
51
- def get(path, options = {}, &block)
52
- self.class.get(path, options, &block)
53
- end
54
-
55
- def post(path, options = {}, &block)
56
- self.class.post(path, options, &block)
57
- end
58
-
59
- def put(path, options = {}, &block)
60
- self.class.put(path, options, &block)
61
- end
62
-
63
- def delete(path, options = {}, &block)
64
- self.class.delete(path, options, &block)
65
- end
66
-
67
- def base_uri
68
- self.class.base_uri
69
- end
70
-
71
57
  private
72
58
 
73
59
  def update_token
74
- self.class.headers :Authorization => "Bearer #{token}"
60
+ headers[:Authorization] = "Bearer #{token}"
75
61
  end
62
+
76
63
  end
77
64
  end
@@ -1,7 +1,52 @@
1
- require 'httparty'
1
+ require 'faraday'
2
+ require 'faraday_middleware'
2
3
 
3
4
  module Mattermost
4
5
  module Request
5
- include HTTParty
6
+
7
+ def get(path, options = {}, &block)
8
+ puts "get #{path}, #{options}"
9
+ connection.send(:get) do |request|
10
+ request.url api(path), options
11
+ end
12
+ end
13
+
14
+ def post(path, options = {}, &block)
15
+ connection.send(:post) do |request|
16
+ request.path = api(path)
17
+ request.body = options[:body] if options.key? :body
18
+ end
19
+ end
20
+
21
+ def put(path, options = {}, &block)
22
+ connection.send(:put) do |request|
23
+ request.path = api(path)
24
+ request.body = options[:body] if options.key? :body
25
+ end
26
+ end
27
+
28
+ def delete(path, options = {}, &block)
29
+ connection.send(:delete) do |request|
30
+ request.path = api(path)
31
+ request.body = options[:body] if options.key? :body
32
+ end
33
+ end
34
+
35
+ private
36
+
37
+ def connection
38
+ Faraday::Connection.new({
39
+ :headers => self.headers,
40
+ :url => server
41
+ }) do |connection|
42
+ connection.response :json
43
+ connection.adapter :httpclient
44
+ end
45
+ end
46
+
47
+ def api(path)
48
+ "/api/v4#{path}"
49
+ end
50
+
6
51
  end
7
52
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "mattermost-api4-ruby"
5
- spec.version = "0.0.7"
5
+ spec.version = "0.0.8"
6
6
  spec.authors = ["Takayuki Maruyama"]
7
7
  spec.email = ["bis5.wsys@gmail.com"]
8
8
 
@@ -22,7 +22,9 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "rspec", "~> 3.0"
23
23
  spec.add_development_dependency "github_changelog_generator"
24
24
 
25
- spec.add_dependency "httparty", "~> 0.15"
25
+ spec.add_dependency "faraday", "~> 0.14"
26
+ spec.add_dependency "faraday_middleware", "~> 0.12"
27
+ spec.add_dependency "httpclient", ">= 2.2"
26
28
  spec.add_dependency "faye-websocket", "~> 0.10"
27
29
  spec.add_dependency "event_emitter", "~> 0.2"
28
30
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mattermost-api4-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takayuki Maruyama
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-01-23 00:00:00.000000000 Z
11
+ date: 2018-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -67,19 +67,47 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: httparty
70
+ name: faraday
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.15'
75
+ version: '0.14'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.15'
82
+ version: '0.14'
83
+ - !ruby/object:Gem::Dependency
84
+ name: faraday_middleware
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.12'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.12'
97
+ - !ruby/object:Gem::Dependency
98
+ name: httpclient
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '2.2'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '2.2'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: faye-websocket
85
113
  requirement: !ruby/object:Gem::Requirement