lita-glip 0.1.0 → 0.2.0

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: 24cf9ba2a53b998c09309a760784a879df6a31bb
4
- data.tar.gz: e57d9f01b71ec6ed7b3f6ca7df6f6eb316110f27
3
+ metadata.gz: 02752fa1df2388a296305359d53f33afa01466b2
4
+ data.tar.gz: 03ce09fd316e9821a4ef27446541419013e1d64a
5
5
  SHA512:
6
- metadata.gz: ac47c33a7ee493a2b9a77416bc7da465eac3c324b2f4ec86c0a9f70506ed1d152bf0a391453ca270250d9f16eca23b7c7ec1f48b22287464961cd61f65f39b33
7
- data.tar.gz: 1217eb97ffe1ebee95e65057f135e2117a68892947949aaf59a29e6e88fec184bff606e253afbe9c22660bb85eebc45de2e53c5762f7647ca4a7676375831c1b
6
+ metadata.gz: dffee319f3e8be376de12252c6ec16a2ee413b06fe5ed88d7ed832f341116615add6cfa46ccae64ea1333cf26bfeb55f60e6945b04e0be957c51a21d9d3bde9b
7
+ data.tar.gz: b6d672da3b75cb586caacf9f5de05f7077f5a259e63b5506a321762ad0e8461c5a49c951b0154038491c1cc2f78f9f3917db7478bbd80f37e7175e5e113bee6f
data/README.md CHANGED
@@ -12,6 +12,9 @@ Lita Glip Adapter
12
12
  [![Docs][docs-rubydoc-svg]][docs-rubydoc-link]
13
13
  [![License][license-svg]][license-link]
14
14
 
15
+ [![Stack Overflow][stackoverflow-svg]][stackoverflow-url]
16
+ [![Chat][chat-svg]][chat-url]
17
+
15
18
  `lita-glip` is an adapter for [Lita](https://www.lita.io/) that allows you to use the robot with [Glip](https://glip.com/).
16
19
 
17
20
  ## Installation
@@ -121,3 +124,7 @@ Lita Glip Adapter © 2016-2017 by John Wang
121
124
  [docs-rubydoc-link]: http://www.rubydoc.info/gems/lita-glip/
122
125
  [license-svg]: https://img.shields.io/badge/license-MIT-blue.svg
123
126
  [license-link]: https://github.com/ringcentral-ruby/lita-glip/blob/master/LICENSE.md
127
+ [chat-svg]: https://img.shields.io/badge/chat-on%20glip-orange.svg
128
+ [chat-url]: https://glipped.herokuapp.com/
129
+ [stackoverflow-svg]: https://img.shields.io/badge/Stack%20Overflow-glip-orange.svg
130
+ [stackoverflow-url]: https://stackoverflow.com/questions/tagged/glip
@@ -5,3 +5,4 @@ Lita.load_locales Dir[File.expand_path(
5
5
  )]
6
6
 
7
7
  require 'lita/adapters/glip'
8
+ require 'lita/handlers/glip'
@@ -14,11 +14,19 @@ module Lita
14
14
  config :app_secret, type: String, required: true
15
15
  config :server_url, type: String, default: 'platform.devtest.ringcentral.com'
16
16
 
17
- config :username, type: String, required: true
17
+ config :username, type: String
18
18
  config :extension, type: String
19
- config :password, type: String, required: true
19
+ config :password, type: String
20
20
  config :token, type: String
21
21
 
22
+ def initialize(robot)
23
+ @robot = robot
24
+ end
25
+
26
+ def log
27
+ Lita.logger
28
+ end
29
+
22
30
  def initialize(robot)
23
31
  super
24
32
  @connector = Connector.new(
@@ -39,7 +39,8 @@ module Lita
39
39
  token = MultiJson.encode @rc_sdk.token.to_hash
40
40
  Lita.logger.debug("#{@logger_prefix}Authorized with token: #{token}.")
41
41
  else
42
- @rc_sdk.set_token @token
42
+ Lita.logger.debug("#{@logger_prefix}Loading token: #{@token}.")
43
+ @rc_sdk.set_token MultiJson.decode @token
43
44
  end
44
45
 
45
46
  @glip_sdk = GlipSdk::REST::Client.new @rc_sdk
@@ -0,0 +1,73 @@
1
+ require 'cgi'
2
+ require 'multi_json'
3
+ require 'ringcentral_sdk'
4
+
5
+ module Lita
6
+ module Handlers
7
+ class Glip < Handler
8
+ attr_reader :client
9
+ attr_reader :robot
10
+
11
+ config :app_key, type: String, required: true
12
+ config :app_secret, type: String, required: true
13
+ config :server_url, type: String, default: 'platform.devtest.ringcentral.com'
14
+
15
+ http.post '/glip/oauth2callback', :callback_oauth
16
+ http.post '/glip/webhook', :callback_webhook
17
+ http.get '/glip/webhook', :callback_webhook
18
+
19
+ def initialize(robot)
20
+ @robot = robot
21
+ end
22
+
23
+ def log
24
+ Lita.logger
25
+ end
26
+
27
+ def callback_oauth(request, response)
28
+ pp request
29
+
30
+ response.finish
31
+ end
32
+
33
+ def callback_webhook(request, response)
34
+ Lita.logger.info 'Lita Glip Webhook called'
35
+ Lita.logger.info "Request Class #{request.class.name}"
36
+ Lita.logger.info "QSR #{request.query_string}"
37
+ params = CGI::parse(request.query_string)
38
+ message = {'type' => 'rc-oauth2', 'body' => params }
39
+ message = MultiJson.encode message
40
+ Lita.logger.info "QSJ #{MultiJson.encode(params)}"
41
+ code = params['code'][0]||''
42
+ #Lita.logger.info "QS #{params['code'][0]} #{params['code'][0].length}"
43
+ Lita.logger.info "QSF #{code} #{code.length}"
44
+
45
+ #source = Lita::Source.new(user: 'rc-oauth2')
46
+
47
+ user = Lita::User.create(
48
+ 'glip-oauth',
49
+ name: 'glip-oauth'
50
+ )
51
+
52
+ source = Lita::Source.new user: user #user#, room: room
53
+ message = Lita::Message.new(robot, message, source)
54
+ robot.receive(message)
55
+ =begin
56
+ client = RingCentralSdk::REST::Client.new do |config|
57
+ config.load_env = false
58
+ config.client_id = ENV['RC_CLIENT_ID']
59
+ config.client_secret = ENV['RC_CLIENT_SECRET']
60
+ config.server_url = RingCentralSdk::RC_SERVER_PRODUCTION
61
+ config.username = ENV['RC_USER_USERNAME']
62
+ config.extension = ENV['RC_USER_EXTENSION']
63
+ config.password = ENV['RC_USER_PASSWORD']
64
+ config.logger = log
65
+ end
66
+ =end
67
+ response.finish
68
+ end
69
+ end
70
+
71
+ Lita.register_handler(Glip)
72
+ end
73
+ end
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'lita-glip'
3
- spec.date = '2017-04-01'
4
- spec.version = '0.1.0'
3
+ spec.date = '2017-10-15'
4
+ spec.version = '0.2.0'
5
5
  spec.authors = ['John Wang']
6
6
  spec.email = ["johncwang@gmail.com"]
7
7
  spec.description = %q{A Glip adapter for Lita.}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-glip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Wang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-01 00:00:00.000000000 Z
11
+ date: 2017-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
@@ -214,6 +214,7 @@ files:
214
214
  - lib/lita/adapters/glip/message_handler.rb
215
215
  - lib/lita/adapters/glip/room_creator.rb
216
216
  - lib/lita/adapters/glip/user_creator.rb
217
+ - lib/lita/handlers/glip.rb
217
218
  - lita-glip.gemspec
218
219
  - locales/en.yml
219
220
  homepage: https://github.com/ringcentral-ruby/lita-glip
@@ -237,7 +238,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
237
238
  version: '0'
238
239
  requirements: []
239
240
  rubyforge_project:
240
- rubygems_version: 2.6.8
241
+ rubygems_version: 2.6.13
241
242
  signing_key:
242
243
  specification_version: 4
243
244
  summary: A Glip adapter for the Lita chat robot.