bottle_ruby 0.0.1 → 0.0.3

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: 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