wassenger_client 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: 1eca25b30e04c28070097a2ffc7532cfd6578c29b8931ba618da51f632250e86
4
- data.tar.gz: 940335cd1838cd43fbf7cf11e063f74aa95ad92c089fff70be57ef9517831fd1
3
+ metadata.gz: bdcdfee1a8472722bd7f6146b68c5d0c60a0d50abb279f8f89796721fa919e69
4
+ data.tar.gz: 4e8e38f8fac74d8a892d977084b619fd0b268eeb4dfec77d0acd14b16cbe5356
5
5
  SHA512:
6
- metadata.gz: d7140d8c838329d585aabbb2b4030855154f31ba75d6f967ea696994753e42ef278e6e91f22eac1a5de0e3ece224b208757870b00324f13f6ea8f89db6432adb
7
- data.tar.gz: 176acdd19ec58488f6a75370287d085362cc542c3f3df3c195f35dfee46fb8e45c53b131484daee3fee478e2a16bf675140602e428460e9b65cce4545dbd775c
6
+ metadata.gz: bbc29ebec8dd101a9617afd7af9ae59141b2c5596237cbcc6336c9fe889cfcc4682d2028b28c212a71f87375f134e2d1069223462aa69bf7af803a3fa61ceb8d
7
+ data.tar.gz: 0bde627b25a444fe9d668980aa24a7ad43e616746d943ab60ce4dd55d0b6c24ab6caa94166892f077126d8d79820292ac3f85724f219c4bd13c16653590c9528
@@ -18,13 +18,14 @@ module WassengerClient
18
18
  URI(base_url)
19
19
  end
20
20
 
21
- def request(type = :get, params = {})
21
+ def request(type = :get, params = {}, id = '0')
22
22
  request = Net::HTTP::Get.new(url) if type == :get
23
23
  request = Net::HTTP::Post.new(url) if type == :post
24
- request = Net::HTTP::Delete.new(url) if type == :delete
24
+ request = Net::HTTP::Delete.new(URI(base_url.concat("/#{id}"))) if type == :delete
25
+ request = Net::HTTP::Get.new(URI(base_url.concat("/#{id}"))) if type == :get_details
25
26
  request['content-type'] = 'application/json'
26
27
  request['token'] = ENV['WASSENGER_TOKEN']
27
- request.body = "#{params.to_json}"
28
+ request.body = "#{params.to_json}" if !params.blank?
28
29
  request
29
30
  end
30
31
 
@@ -38,8 +39,13 @@ module WassengerClient
38
39
  client.request(request).read_body
39
40
  end
40
41
 
41
- def delete(params = {})
42
- request = request(:delete, params)
42
+ def delete(id)
43
+ request = request(:delete, {}, id)
44
+ client.request(request).read_body
45
+ end
46
+
47
+ def get_details(id)
48
+ request = request(:get_details, {}, id)
43
49
  client.request(request).read_body
44
50
  end
45
51
 
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WassengerClient
4
+ class Device < WassengerClient::Client
5
+ class << self
6
+ def base_url
7
+ WassengerClient::Client.base_url + 'devices'
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,21 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WassengerClient
4
- class Event < WassengerClient::Client
5
- def message
6
- WassengerClient::Message.new(data)
7
- end
8
-
9
- def sent_message?
10
- event == 'message:out:sent'
11
- end
12
-
13
- def failed_message?
14
- event == 'message:out:failed'
15
- end
4
+ class Event < OpenStruct
5
+ class << self
16
6
 
17
- def in_new?
18
- event == 'message:in:new'
19
- end
7
+ def message
8
+ WassengerClient::Message.new(data)
9
+ end
10
+
11
+ def sent_message?
12
+ event == 'message:out:sent'
13
+ end
14
+
15
+ def failed_message?
16
+ event == 'message:out:failed'
17
+ end
18
+
19
+ def in_new?
20
+ event == 'message:in:new'
21
+ end
20
22
  end
21
23
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WassengerClient
4
+ class File < WassengerClient::Client
5
+ class << self
6
+ def base_url
7
+ WassengerClient::Client.base_url + 'files'
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WassengerClient
4
+ class Pricing < WassengerClient::Client
5
+ class << self
6
+ def base_url
7
+ WassengerClient::Client.base_url + 'pricing'
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'rails/all'
3
4
 
4
5
  module WassengerClient
@@ -11,4 +12,4 @@ module WassengerClient
11
12
  g.helper false
12
13
  end
13
14
  end
14
- end
15
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module WassengerClient
2
- VERSION = "0.1.0"
4
+ VERSION = '0.1.0'
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # require "wassenger_client/version"
2
4
  require 'wassenger_client/engine'
3
5
 
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'net/http'
2
4
  require 'json'
3
5
 
4
6
  RSpec.describe WassengerClient::Message, type: :model do
5
- it "it should connect with the api endpoint" do
7
+ it 'it should connect with the api endpoint' do
6
8
  response = Net::HTTP.get(URI.parse(WassengerClient::Message.base_url))
7
9
  expect(JSON.parse(response)['status']).to be_in([200, 403])
8
10
  end
9
- end
11
+ end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'net/http'
2
4
  require 'json'
3
5
 
4
6
  RSpec.describe WassengerClient::Webhook, type: :model do
5
- it "it should connect with the api endpoint" do
7
+ it 'it should connect with the api endpoint' do
6
8
  response = Net::HTTP.get(URI.parse(WassengerClient::Webhook.base_url))
7
9
  expect(JSON.parse(response)['status']).to be_in([200, 403])
8
10
  end
9
- end
11
+ end
data/spec/rails_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # require "action_controller/railtie"
2
4
  require 'rails/all'
3
5
  require 'rspec/rails'
@@ -9,7 +11,7 @@ RSpec.configure do |config|
9
11
  config.infer_base_class_for_anonymous_controllers = false
10
12
 
11
13
  # Enable flags like --only-failures and --next-failure
12
- config.example_status_persistence_file_path = ".rspec_status"
14
+ config.example_status_persistence_file_path = '.rspec_status'
13
15
 
14
16
  # Disable RSpec exposing methods globally on `Module` and `main`
15
17
  config.disable_monkey_patching!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wassenger_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Raí Gondim
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-10-23 00:00:00.000000000 Z
12
+ date: 2019-10-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -39,7 +39,7 @@ dependencies:
39
39
  - - '='
40
40
  - !ruby/object:Gem::Version
41
41
  version: 3.9.0
42
- description: Ruby client for wassenger.com
42
+ description: Ruby client for wassenger.com API
43
43
  email:
44
44
  - raicg2@gmail.com
45
45
  - wkelyson@gmail.com
@@ -49,8 +49,11 @@ extra_rdoc_files: []
49
49
  files:
50
50
  - Rakefile
51
51
  - app/models/wassenger_client/client.rb
52
+ - app/models/wassenger_client/device.rb
52
53
  - app/models/wassenger_client/event.rb
54
+ - app/models/wassenger_client/file.rb
53
55
  - app/models/wassenger_client/message.rb
56
+ - app/models/wassenger_client/pricing.rb
54
57
  - app/models/wassenger_client/webhook.rb
55
58
  - lib/wassenger_client.rb
56
59
  - lib/wassenger_client/engine.rb
@@ -117,7 +120,7 @@ requirements: []
117
120
  rubygems_version: 3.0.3
118
121
  signing_key:
119
122
  specification_version: 4
120
- summary: Ruby client for wassenger.com
123
+ summary: Ruby client for wassenger.com API
121
124
  test_files:
122
125
  - spec/rails_helper.rb
123
126
  - spec/dummy/Gemfile.lock