bottle_ruby 0.0.1 → 0.0.3

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: f8f3cf1b6e5c5304023d968c1314bbc394679025
4
- data.tar.gz: f4c05cb3889e38aa1b84371e9303eb049d27fe28
3
+ metadata.gz: dc97ccad11e672b02923db1f7295ba6dc3648561
4
+ data.tar.gz: 3ff2ac18c9894226ccc0b7f52d0451b99daf4f9d
5
5
  SHA512:
6
- metadata.gz: ab1214c5b405f9bb73a61c560f97827401a376f80e0e83a9def3b25718c796af7cf41a6e7dc2523e253537ce2f450e70dd47d6b7f897fdd7644e5b25d14208a9
7
- data.tar.gz: 25cc0d26921b87c3e145889f2020f2f66df243bc4587b3987b9a13f78c33c84294e75cd593d976da9472ca4b7689aa59c6f9f53c5f77a00563bc82b318e74f26
6
+ metadata.gz: 298b71faf9d4874657a8089d497387c94f8d869ac59b5b79a066600b7d1e3bcc54f7d7e552e2eccb3632d981825f7481b81cd24ec9e36e4cbb4b98acc7fff551
7
+ data.tar.gz: 1ae9d2b17d473bbcd659f59c9319a507c8f5b291f76a26bde3e7c85e5dac7904253c2cb13d41aedb72809a6c51541bcd9275318e1502509583b79ce725a893c8
@@ -0,0 +1,47 @@
1
+ module Bottle
2
+ class Message
3
+
4
+ attr_accessor :to, :name, :body, :file, :tags,
5
+ :id, :from_number, :to_number, :delivered_at, :viewed_at, :created_at, :updated_at, :direction, :conversation_id, :origin, :object_name, :object_key, :user_id, :created_from_rule_id, :body_decoded, :attachments
6
+
7
+
8
+ def initialize(to=nil, name=nil, body=nil, file=nil, tags=nil)
9
+ @url_extension = 'messages'
10
+ if to.is_a?(Hash)
11
+ attributes = to.convert_keys_to_symbols
12
+ @to = attributes[:to]
13
+ @name = attributes[:name]
14
+ @body = attributes[:body]
15
+ @file = attributes[:file]
16
+ @tags = attributes[:tags]
17
+ @id = attributes[:id]
18
+ @from_number = attributes[:from_number]
19
+ @to_number = attributes[:to_number]
20
+ @delivered_at = attributes[:delivered_at]
21
+ @viewed_at = attributes[:viewed_at]
22
+ @created_at = attributes[:created_at]
23
+ @updated_at = attributes[:updated_at]
24
+ @direction = attributes[:direction]
25
+ @conversation_id = attributes[:conversation_id]
26
+ @origin = attributes[:origin]
27
+ @object_name = attributes[:object_name]
28
+ @object_key = attributes[:object_key]
29
+ @user_id = attributes[:user_id]
30
+ @created_from_rule_id = attributes[:created_from_rule_id]
31
+ @body_decoded = attributes[:body_decoded]
32
+ @attachments = attributes[:attachments]
33
+ else
34
+ @to = to
35
+ @name = name
36
+ @body = body
37
+ @file = file
38
+ @tags = tags
39
+ end
40
+ end
41
+
42
+ def send(client)
43
+ client.post(@url_extension, {message: {to: self.to, name: self.name, text: self.body, file: self.file}, conversation: {tags: self.tags}})
44
+ end
45
+
46
+ end
47
+ end
data/lib/bottle_ruby.rb CHANGED
@@ -0,0 +1,27 @@
1
+ require 'faraday'
2
+ require 'json'
3
+
4
+ require 'api_objects/message'
5
+ require 'client/rest_calls'
6
+ require 'extensions/hash'
7
+
8
+ module Bottle
9
+
10
+ class Client
11
+
12
+ def initialize(uid, token)
13
+ @uid = uid
14
+ @token = token
15
+ end
16
+
17
+ def uid
18
+ @uid
19
+ end
20
+
21
+ def token
22
+ @token
23
+ end
24
+
25
+ end
26
+
27
+ end
@@ -0,0 +1,16 @@
1
+ API_URL = "https://sendbottles.com/api/v1/"
2
+ # API_URL = "https://mercyapp-staging.herokuapp.com/api/v1/"
3
+
4
+ class Bottle::Client
5
+
6
+ def request()
7
+ end
8
+
9
+ def post(url_extension, params)
10
+ connection = Faraday.new(url: API_URL)
11
+ response = connection.post(url_extension, params.merge({uid: self.uid, token: self.token}))
12
+ message_attributes = JSON.parse(response.body)
13
+ return Bottle::Message.new(message_attributes)
14
+ end
15
+
16
+ end
@@ -0,0 +1,7 @@
1
+ class Hash
2
+
3
+ def convert_keys_to_symbols
4
+ return self.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
5
+ end
6
+
7
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bottle_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Will Schreiber
@@ -10,14 +10,45 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
  date: 2017-06-07 00:00:00.000000000 Z
13
- dependencies: []
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: faraday
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: json
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
14
42
  description: Interact with the Bottle API in ruby.
15
43
  email: will@sendbottles.com
16
44
  executables: []
17
45
  extensions: []
18
46
  extra_rdoc_files: []
19
47
  files:
48
+ - lib/api_objects/message.rb
20
49
  - lib/bottle_ruby.rb
50
+ - lib/client/rest_calls.rb
51
+ - lib/extensions/hash.rb
21
52
  homepage: https://rubygems.org/gems/bottle_ruby
22
53
  licenses:
23
54
  - MIT