vpsa 0.0.8 → 0.0.9

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: b6eb04dae2d75343bbc1a8e358bfddb6e8e23b6c
4
- data.tar.gz: 87e5385337d27af96f20df30ab22c34721ad9d0c
3
+ metadata.gz: 03cd78da745990c1ac149242b249855294e82df3
4
+ data.tar.gz: 5a47b16ae4a96519ac5afe237fe1ff61ec1cc00e
5
5
  SHA512:
6
- metadata.gz: 2669691e066a6d5b09807634ce11d00e9c34d584a284550e6edd7c63bdcc64599354c507a0f399ccfa4add0564d1ddf6cd16d352787a9c96986da5d9565f7801
7
- data.tar.gz: b14635a7c8b38c4463a6821ae4eb49cf8418f994f1be8081ff77bc7ab0a39f14ff206052cda7f3139d42d19d12e877ecc4181a229dcd35d23ffc4bffaefc2c5d
6
+ metadata.gz: 3f236572b709fca6b8264dae274ac582f78b11f15b2bdcbf06405f6ef9a8e4dcfc020fb41b560be9e87855e8253c5b54743561c32ba2eb8c3096143d44242707
7
+ data.tar.gz: c843f2b6da979799acb8cea52861fa009beec8227e5abf7626c9b2a72fa6627e15725aa4f4a286463fba6436e352a5477ab68ea106fcde9cdef9cc2086306124
data/README.md CHANGED
@@ -35,6 +35,7 @@ With the client instance, you can access the following resources:
35
35
  * Lançamentos Padrões (client.default_entries) **Listing and finding**
36
36
  * Provisões (client.provisions) **Only Creation**
37
37
  * Dados Login (client.user_data)
38
+ * Classes de Clientes (client.client_classes) **Listing and finding**
38
39
 
39
40
  ## Using the resources
40
41
  ### Listing
@@ -47,6 +48,7 @@ Currently the following entities are implemented:
47
48
  * [Terceiros](lib/vpsa/searcher/administrative/third_party_searcher.rb)
48
49
  * [Entidades](lib/vpsa/searcher/administrative/entity_searcher.rb)
49
50
  * [Lançamentos Padrões](lib/vpsa/searcher/financial/default_entry_searcher.rb)
51
+ * [Classes de Clientes](lib/vpsa/searcher/operational/client_class_searcher.rb)
50
52
 
51
53
  ### Finding
52
54
  All resources implement a **find** method.
@@ -74,7 +76,7 @@ You can get the token owner information by calling the following method:
74
76
  ```
75
77
 
76
78
  ### Reading the response
77
- All methods return an Vpsa::Client::Response object. This objects contains the following attributes:
79
+ All methods return a Vpsa::Client::Response object. This objects contains the following attributes:
78
80
 
79
81
  ```ruby
80
82
  response = Vpsa.new(YOUR_ACCESS_TOKEN).third_parties.list
@@ -0,0 +1,20 @@
1
+ module Vpsa
2
+ module Api
3
+ class ClientClasses < Client
4
+ require_all 'vpsa/searcher/operational', 'client_class_searcher'
5
+
6
+ base_uri "https://www.vpsa.com.br/apps/api/classificacoes-clientes"
7
+
8
+ def list(searcher = nil)
9
+ raise ArgumentError unless searcher.nil? || searcher.is_a?(Vpsa::Searcher::Operational::ClientClassSearcher)
10
+
11
+ return parse_response(self.class.get("/", :body => build_body(searcher.as_parameter), :headers => header)) if searcher
12
+ return parse_response(self.class.get("/", :body => build_body, :headers => header)) unless searcher
13
+ end
14
+
15
+ def find(id)
16
+ return parse_response(self.class.get("/#{id}", :body => build_body, :headers => header))
17
+ end
18
+ end
19
+ end
20
+ end
data/lib/vpsa/client.rb CHANGED
@@ -8,7 +8,7 @@ module Vpsa
8
8
  default_options.update(verify: false)
9
9
  parser Proc.new {|b| JSON.parse(b) rescue b}
10
10
 
11
- require_all 'vpsa/api', 'third_parties', 'entities', 'default_entries', 'provisions', 'user_data', 'installments', 'credit_limits'
11
+ require_all 'vpsa/api', 'third_parties', 'entities', 'default_entries', 'provisions', 'user_data', 'installments', 'credit_limits', 'client_classes'
12
12
 
13
13
  attr_accessor :access_token
14
14
 
@@ -44,6 +44,10 @@ module Vpsa
44
44
  def credit_limits
45
45
  Vpsa::Api::CreditLimits.new(@access_token)
46
46
  end
47
+
48
+ def client_classes
49
+ Vpsa::Api::ClientClasses.new(@access_token)
50
+ end
47
51
 
48
52
  protected
49
53
  def header
@@ -0,0 +1,10 @@
1
+ require 'vpsa/searcher/base'
2
+
3
+ module Vpsa
4
+ module Searcher
5
+ module Operational
6
+ class ClientClassSearcher < Base
7
+ end
8
+ end
9
+ end
10
+ end
data/lib/vpsa/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Vpsa
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Vpsa::Api::ClientClasses do
4
+ let(:header) {{"Content-Type" => "application/json", "Accept" => "application/json"}}
5
+
6
+ describe "listing" do
7
+ before(:each) do
8
+ stub_request(:get, "https://www.vpsa.com.br/apps/api/classificacoes-clientes/").to_return(:status => 200)
9
+ end
10
+
11
+ it "should issue a get to the client classes url" do
12
+ expect(Vpsa::Api::ClientClasses).to receive(:get).with("/", :body => {:token => "abc"}.to_json, :headers => header).and_call_original
13
+
14
+ Vpsa.new("abc").client_classes.list()
15
+ end
16
+
17
+ it "should issue a get to the client classes url using the searcher" do
18
+ searcher = Vpsa::Searcher::Operational::ClientClassSearcher.new({:quantidade => 10, :inicio => 0})
19
+
20
+ expect(Vpsa::Api::ClientClasses).to receive(:get).with("/", :body => searcher.as_parameter.merge!({:token => "abc"}).to_json, :headers => header).and_call_original
21
+
22
+ Vpsa.new("abc").client_classes.list(searcher)
23
+ end
24
+
25
+ it "should raise ArgumentError if the parameter is not a ClientClassSearcher" do
26
+ expect{Vpsa.new("abc").client_classes.list(Array.new)}.to raise_error(ArgumentError)
27
+ end
28
+ end
29
+
30
+ describe "finding" do
31
+ before(:each) do
32
+ stub_request(:get, "https://www.vpsa.com.br/apps/api/classificacoes-clientes/5").to_return(:status => 200)
33
+ end
34
+
35
+ it "should issue a get to the client classes url" do
36
+ expect(Vpsa::Api::ClientClasses).to receive(:get).with("/5", :body => {:token => "abc"}.to_json, :headers => header).and_call_original
37
+
38
+ Vpsa.new("abc").client_classes.find(5)
39
+ end
40
+ end
41
+ end
@@ -28,4 +28,8 @@ RSpec.describe Vpsa::Client do
28
28
  it "should return a new Vpsa::Api::CreditLimits" do
29
29
  expect(Vpsa.new("abc").credit_limits.class).to eq(Vpsa::Api::CreditLimits)
30
30
  end
31
+
32
+ it "should return a new Vpsa::Api::ClientClasses" do
33
+ expect(Vpsa.new("abc").client_classes.class).to eq(Vpsa::Api::ClientClasses)
34
+ end
31
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vpsa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gustavo Berdugo
@@ -53,6 +53,7 @@ files:
53
53
  - README.md
54
54
  - Rakefile
55
55
  - lib/vpsa.rb
56
+ - lib/vpsa/api/client_classes.rb
56
57
  - lib/vpsa/api/credit_limits.rb
57
58
  - lib/vpsa/api/default_entries.rb
58
59
  - lib/vpsa/api/entities.rb
@@ -73,8 +74,10 @@ files:
73
74
  - lib/vpsa/searcher/base.rb
74
75
  - lib/vpsa/searcher/commercial/credit_limit_searcher.rb
75
76
  - lib/vpsa/searcher/financial/default_entry_searcher.rb
77
+ - lib/vpsa/searcher/operational/client_class_searcher.rb
76
78
  - lib/vpsa/version.rb
77
79
  - spec/spec_helper.rb
80
+ - spec/vpsa/api/client_classes_spec.rb
78
81
  - spec/vpsa/api/credit_limits_spec.rb
79
82
  - spec/vpsa/api/default_entries_spec.rb
80
83
  - spec/vpsa/api/entities_spec.rb
@@ -116,6 +119,7 @@ specification_version: 4
116
119
  summary: This gem provides integration with VPSA APIs (http://www.vpsa.com.br/)
117
120
  test_files:
118
121
  - spec/spec_helper.rb
122
+ - spec/vpsa/api/client_classes_spec.rb
119
123
  - spec/vpsa/api/credit_limits_spec.rb
120
124
  - spec/vpsa/api/default_entries_spec.rb
121
125
  - spec/vpsa/api/entities_spec.rb