upkey-chatterly-client 1.0.1 → 1.1.0
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 +4 -4
- data/README.md +2 -2
- data/lib/upkey/chatterly/client.rb +16 -0
- data/lib/upkey/chatterly/errors/chatterly_error.rb +9 -0
- data/lib/upkey/chatterly/urls/accessor.rb +30 -0
- data/lib/upkey/chatterly/urls/builder.rb +32 -0
- data/lib/upkey/chatterly/urls/response.rb +26 -0
- data/lib/upkey/chatterly/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38c3832e8406a454578d0e44b13e63142440ce47
|
4
|
+
data.tar.gz: 5aae37f1c8e9dc70521f79216aa17c6a7d840138
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c6b6334d11ad6bb1edcf89b1515602d7cde0f2caa31de08781737c050dc87417cf9e7ae005640d1ee12e53df1453beba9af30ed419de0079f2da087346462d4
|
7
|
+
data.tar.gz: 2f4b8361d0db4e11132454b6641eb3e2fc0e0d637da4a37aab6635b265313ab30bae82cbc089c3122ad3943bf6a4e278d4f07ceff0b4c8c2b3f098da00fb266c
|
data/README.md
CHANGED
@@ -33,10 +33,10 @@ This will create a useable client, saved in `$chatterly`. There are now two inst
|
|
33
33
|
|
34
34
|
```ruby
|
35
35
|
#Getting the Initial Message
|
36
|
-
$chatterly.respond(:topic, topic_id)
|
36
|
+
$chatterly.respond({ key: :topic, id: topic_id })
|
37
37
|
|
38
38
|
#Respoding to a User
|
39
|
-
$chatterly.respond(:response, response_id)
|
39
|
+
$chatterly.respond({ key: :response, id: response_id })
|
40
40
|
```
|
41
41
|
|
42
42
|
Both will respond with an `Upkey::Chatterly::Response` object, with two attributes: `message`, which will return the next message in the conversation (either the initial one for a topic or what the response linked to), and `responses`, which contains an array of options to respond to the given message.
|
@@ -1,8 +1,13 @@
|
|
1
1
|
require 'upkey/chatterly/accessor'
|
2
2
|
require 'upkey/chatterly/response'
|
3
3
|
|
4
|
+
require 'upkey/chatterly/urls/accessor'
|
5
|
+
require 'upkey/chatterly/urls/builder'
|
6
|
+
require 'upkey/chatterly/urls/response'
|
7
|
+
|
4
8
|
require 'upkey/chatterly/alerts/missing_argument'
|
5
9
|
require 'upkey/chatterly/errors/chatterly_argument_error'
|
10
|
+
require 'upkey/chatterly/errors/chatterly_error'
|
6
11
|
|
7
12
|
require 'faraday'
|
8
13
|
require 'json'
|
@@ -30,6 +35,17 @@ module Upkey
|
|
30
35
|
Upkey::Chatterly::Response.new(message, resp)
|
31
36
|
end
|
32
37
|
|
38
|
+
def method_missing(*args)
|
39
|
+
case args[0]
|
40
|
+
when :post_url
|
41
|
+
Upkey::Chatterly::Urls::Builder.post_url(args[1], self)
|
42
|
+
when :get_url
|
43
|
+
Upkey::Chatterly::Urls::Accessor.get_url(args[1], self)
|
44
|
+
else
|
45
|
+
raise NoMethodError
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
33
49
|
private
|
34
50
|
|
35
51
|
def set_up_faraday
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Upkey
|
2
|
+
module Chatterly
|
3
|
+
module Urls
|
4
|
+
module Accessor
|
5
|
+
def self.get_url(url, client)
|
6
|
+
@url = url
|
7
|
+
@client = client
|
8
|
+
|
9
|
+
access_chatterly
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
class << self
|
15
|
+
def access_chatterly
|
16
|
+
resp = @client.conn.get '/api/shortened_urls/0', url_params
|
17
|
+
Upkey::Chatterly::Urls::Response.new(resp)
|
18
|
+
end
|
19
|
+
|
20
|
+
def url_params
|
21
|
+
{
|
22
|
+
url: @url,
|
23
|
+
access_key: @client.access_key
|
24
|
+
}
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Upkey
|
2
|
+
module Chatterly
|
3
|
+
module Urls
|
4
|
+
module Builder
|
5
|
+
def self.post_url(url, client)
|
6
|
+
@url = url
|
7
|
+
@client = client
|
8
|
+
|
9
|
+
access_chatterly
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
class << self
|
15
|
+
def access_chatterly
|
16
|
+
resp = @client.conn.post '/api/shortened_urls', url_params
|
17
|
+
Upkey::Chatterly::Urls::Response.new(resp)
|
18
|
+
end
|
19
|
+
|
20
|
+
def url_params
|
21
|
+
{
|
22
|
+
shortened_url: {
|
23
|
+
url: @url
|
24
|
+
},
|
25
|
+
access_key: @client.access_key
|
26
|
+
}
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Upkey
|
2
|
+
module Chatterly
|
3
|
+
module Urls
|
4
|
+
class Response
|
5
|
+
attr_reader :contents, :status
|
6
|
+
|
7
|
+
def initialize(chatterly_response)
|
8
|
+
@status = chatterly_response.status
|
9
|
+
|
10
|
+
case status
|
11
|
+
when 200
|
12
|
+
@contents = JSON.parse(chatterly_response.body)
|
13
|
+
when 404
|
14
|
+
@contents = { message: 'Requested URL not found.' }
|
15
|
+
when 422
|
16
|
+
@contents = { message: JSON.parse(chatterly_response.body) }
|
17
|
+
when 401
|
18
|
+
@contents = { message: 'You are unauthorized to access this. Please check your access credentials and try again.' }
|
19
|
+
else
|
20
|
+
raise ChatterlyError
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: upkey-chatterly-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ElliottAYoung
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -102,7 +102,11 @@ files:
|
|
102
102
|
- lib/upkey/chatterly/alerts/missing_argument.rb
|
103
103
|
- lib/upkey/chatterly/client.rb
|
104
104
|
- lib/upkey/chatterly/errors/chatterly_argument_error.rb
|
105
|
+
- lib/upkey/chatterly/errors/chatterly_error.rb
|
105
106
|
- lib/upkey/chatterly/response.rb
|
107
|
+
- lib/upkey/chatterly/urls/accessor.rb
|
108
|
+
- lib/upkey/chatterly/urls/builder.rb
|
109
|
+
- lib/upkey/chatterly/urls/response.rb
|
106
110
|
- lib/upkey/chatterly/version.rb
|
107
111
|
- upkey-chatterly-client.gemspec
|
108
112
|
homepage: https://github.com/beupkey/upkey-chatterly-client.git
|