bipbop 0.4.0 → 0.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 76f3eb74882dd4c18ca1e8375d3752b40ad8d609
4
- data.tar.gz: 4dc532e2754b98ca036623542915ef3dbe4bd045
3
+ metadata.gz: 5a8ec406ba88e0c7415e8bcfead6064cc52f0d1b
4
+ data.tar.gz: 2ede692611125adc0278418d1e6b6e9d2517b878
5
5
  SHA512:
6
- metadata.gz: 129256e5981f7589bdaef461f5dda86702ca8bbc585d5c7be4855ffa8cf9ee1d394f056827b14d3b81e63dd30be5fe0909a09b9d49796ced07461c0e0194012d
7
- data.tar.gz: f3ae5820e884c0f389fce6be06752d510f6cd0c229348fc2445a5f3aca424e5044b18fe46aa0320d133b32ba1f040139e769de6c44e270f86b566579ba476a72
6
+ metadata.gz: 985c745f71f61b0a4e63be3bac5620546a57853226eb78bdb5151552c54a96564cac91f846ebdec81c1ac200b29f678c48f9adf85b8c06a1f880a796ec0db210
7
+ data.tar.gz: a3ab64458455c2f0d8469eba64b069ea109cf7e43d9b7e691a13aeffaa9e7f662e59a6bb18b75451bdf8631ee305dd266129ad8d5d612f27d11b2f0c92bb1657
data/README.md CHANGED
@@ -42,10 +42,8 @@ bipbop.cpfcnpj(documento: '99999999000100') # where 99999999000100 is the number
42
42
  bipbop = Bipbop.new('my api key')
43
43
  bipbop.social(documento: '99999999999', email: 'user@example.com')
44
44
  => {
45
- "name" => {
46
- "__content__" => "NAME OF PERSON",
47
- "gender" => "male"
48
- },
45
+ "name" => "NAME OF PERSON",
46
+ "gender" => "male"
49
47
  "approximate_age" => "30",
50
48
  "hash" => "6CzXsZA09xMgXrHmJHUNY5X0cu7fv5yXwPGVX/i7nVE6awYftn5LpsVvdeoqbuMfBGdKIm0t1F+jrdifMraoyA==",
51
49
  "criteria" => "A1",
@@ -58,6 +56,22 @@ bipbop.social(documento: '99999999999', email: 'user@example.com')
58
56
  }
59
57
  ```
60
58
 
59
+ ### PERFIL ECONÔMICO
60
+
61
+ ```ruby
62
+ bipbop = Bipbop.new('my api key')
63
+ bipbop.perfileconomico(documento: '99999999999')
64
+ => {
65
+ "name" => "NAME OF PERSON",
66
+ "gender" => "male"
67
+ "approximate_age" => "30",
68
+ "hash" => "6CzXsZA09xMgXrHmJHUNY5X0cu7fv5yXwPGVX/i7nVE6awYftn5LpsVvdeoqbuMfBGdKIm0t1F+jrdifMraoyA==",
69
+ "criteria" => "A1",
70
+ "buy_limit" => "10214.87",
71
+ "buy_avg" => "268.33",
72
+ }
73
+ ```
74
+
61
75
 
62
76
  ## LICENSE
63
77
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
data/bipbop.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: bipbop 0.4.0 ruby lib
5
+ # stub: bipbop 0.5.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "bipbop"
9
- s.version = "0.4.0"
9
+ s.version = "0.5.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
@@ -36,6 +36,8 @@ Gem::Specification.new do |s|
36
36
  "spec/fixtures/vcr_cassettes/bipbop/cpfcnpj/invalid.yml",
37
37
  "spec/fixtures/vcr_cassettes/bipbop/cpfcnpj/valid-cnpj.yml",
38
38
  "spec/fixtures/vcr_cassettes/bipbop/cpfcnpj/valid-cpf.yml",
39
+ "spec/fixtures/vcr_cassettes/bipbop/perfileconomico/invalid.yml",
40
+ "spec/fixtures/vcr_cassettes/bipbop/perfileconomico/valid-document.yml",
39
41
  "spec/fixtures/vcr_cassettes/bipbop/social/invalid.yml",
40
42
  "spec/fixtures/vcr_cassettes/bipbop/social/valid-document-and-email.yml",
41
43
  "spec/fixtures/vcr_cassettes/bipbop/social/valid-document.yml",
data/lib/bipbop.rb CHANGED
@@ -1,9 +1,16 @@
1
1
  require 'httparty'
2
+ require 'crack'
2
3
 
3
4
  class Bipbop
4
5
  include HTTParty
5
6
  base_uri 'irql.bipbop.com.br'
6
7
 
8
+ parser(
9
+ Proc.new do |body, format|
10
+ Crack::XML.parse(body)
11
+ end
12
+ )
13
+
7
14
  attr_reader :api_key
8
15
 
9
16
  def initialize(api_key = nil)
@@ -15,7 +22,13 @@ class Bipbop
15
22
  end
16
23
 
17
24
  def social(params)
18
- request(:social, :consulta, params)
25
+ response = request(:social, :consulta, params)
26
+ response.merge('gender' => response['name'].attributes['gender']) rescue response
27
+ end
28
+
29
+ def perfileconomico(params)
30
+ response = request(:ecommerce, :perfileconomico, params)
31
+ response.merge('gender' => response['name'].attributes['gender']) rescue response
19
32
  end
20
33
 
21
34
  private
@@ -29,8 +42,8 @@ class Bipbop
29
42
  end
30
43
 
31
44
  def request(database, table, params)
32
- response = self.class.get("/", query(irql(database, table, params)))
33
- (response.code == 200) ? response["IRQL"]['body'] : nil
45
+ @response = self.class.get("/", query(irql(database, table, params)))
46
+ (@response.code == 200) ? @response["IRQL"]['body'] : nil
34
47
  end
35
48
 
36
49
  def query(q)
data/spec/bipbop_spec.rb CHANGED
@@ -30,10 +30,18 @@ describe "Bipbop" do
30
30
  it { bipbop.social(documento: '9').should == {"influence"=>"20", "confidence"=>"42", "confidence_influence"=>"43", "confidence_criteria"=>"40"} }
31
31
  end
32
32
  context 'document', vcr: { cassette_name: 'bipbop/social/valid-document' } do
33
- it { bipbop.social(documento: '09116059751').should == {"name"=>{"__content__"=>"RAFAEL DE LIMA PAULA", "gender"=>"male"}, "approximate_age"=>"30", "hash"=>"6CzXsZA09xMgXrHmJHUNY5X0cu7fv5yXwPGVX/i7nVE6awYftn5LpsVvdeoqbuMfBGdKIm0t1F+jrdifMraoyA==", "criteria"=>"A1", "buy_limit"=>"10214.87", "buy_avg"=>"268.33", "influence"=>"52", "confidence"=>"57", "confidence_influence"=>"56", "confidence_criteria"=>"59"} }
33
+ it { bipbop.social(documento: '09116059751').should == {"name"=>"RAFAEL DE LIMA PAULA", "gender" => "male", "approximate_age"=>"30", "hash"=>"6CzXsZA09xMgXrHmJHUNY5X0cu7fv5yXwPGVX/i7nVE6awYftn5LpsVvdeoqbuMfBGdKIm0t1F+jrdifMraoyA==", "criteria"=>"A1", "buy_limit"=>"10214.87", "buy_avg"=>"268.33", "influence"=>"52", "confidence"=>"57", "confidence_influence"=>"56", "confidence_criteria"=>"59"} }
34
34
  end
35
35
  context 'document with email', vcr: { cassette_name: 'bipbop/social/valid-document-and-email' } do
36
- it { bipbop.social(documento: '09116059751', email: 'contato@rafael.adm.br').should == {"name"=>{"__content__"=>"RAFAEL DE LIMA PAULA", "gender"=>"male"}, "approximate_age"=>"30", "hash"=>"D9C1OOc/DF5kubLGgKxSDlGL3owYz9+eZx/Wz423G3U5lj+ZqfZF7fv3f2m4GNEHSkwFpEFuaX90fCB4Vug8EA==", "criteria"=>"A1", "buy_limit"=>"10214.87", "buy_avg"=>"268.33", "influence"=>"52", "confidence"=>"57", "confidence_influence"=>"56", "confidence_criteria"=>"59"} }
36
+ it { bipbop.social(documento: '09116059751', email: 'contato@rafael.adm.br').should == {"name"=>"RAFAEL DE LIMA PAULA", "gender" => "male", "approximate_age"=>"30", "hash"=>"D9C1OOc/DF5kubLGgKxSDlGL3owYz9+eZx/Wz423G3U5lj+ZqfZF7fv3f2m4GNEHSkwFpEFuaX90fCB4Vug8EA==", "criteria"=>"A1", "buy_limit"=>"10214.87", "buy_avg"=>"268.33", "influence"=>"52", "confidence"=>"57", "confidence_influence"=>"56", "confidence_criteria"=>"59"} }
37
+ end
38
+ end
39
+ describe 'perfileconomico' do
40
+ context 'invalid', vcr: { cassette_name: 'bipbop/perfileconomico/invalid' } do
41
+ it { bipbop.perfileconomico(documento: '9').should be_nil }
42
+ end
43
+ context 'document', vcr: { cassette_name: 'bipbop/perfileconomico/valid-document' } do
44
+ it { bipbop.perfileconomico(documento: '09116059751').should == {"name"=>"RAFAEL DE LIMA PAULA", "gender" => "male", "approximate_age"=>"30", "hash"=>"6CzXsZA09xMgXrHmJHUNY5X0cu7fv5yXwPGVX/i7nVE6awYftn5LpsVvdeoqbuMfBGdKIm0t1F+jrdifMraoyA==", "criteria"=>"A1", "buy_limit"=>"10214.87", "buy_avg"=>"268.33"} }
37
45
  end
38
46
  end
39
47
  end
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://irql.bipbop.com.br/?apiKey=BIPBOP_API_KEY&q=SELECT%20FROM%20'ECOMMERCE'.'PERFILECONOMICO'%20WHERE%20'DOCUMENTO'%20=%20'9'
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 500
13
+ message: Internal Server Error
14
+ headers:
15
+ Cache-Control:
16
+ - no-cache="set-cookie"
17
+ - public
18
+ Content-Type:
19
+ - text/xml
20
+ Date:
21
+ - Fri, 03 Oct 2014 03:52:04 GMT
22
+ Expires:
23
+ - Sat, 04 Oct 2014 03:52:04 GMT
24
+ Server:
25
+ - bipbop
26
+ Set-Cookie:
27
+ - AWSELB=AB014DFB0639528854AECF5F443FF4231F941D34070C60DB9436CE39A70DE73B27E54CADAE64AEB083A406D8BC20545C7EF0A812122A8B2F9155C493CB14894B2CE2B49520;PATH=/;MAX-AGE=86400
28
+ Content-Length:
29
+ - '286'
30
+ Connection:
31
+ - keep-alive
32
+ body:
33
+ encoding: ASCII-8BIT
34
+ string: !binary |-
35
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPElSUUw+
36
+ CiAgPGhlYWRlcj4KICAgIDxkZXNjcmlwdGlvbj5JbnRlcm5hbCBTZXJ2ZXIg
37
+ RXJyb3I8L2Rlc2NyaXB0aW9uPgogICAgPGRhdGUtdGltZT4wMy8xMC8yMDE0
38
+ IDAwOjUyOjA0PC9kYXRlLXRpbWU+CiAgICA8ZXhjZXB0aW9uIGNvZGU9IjAi
39
+ IHNvdXJjZT0iRXhjZXB0aW9uRGF0YWJhc2UiPk8gZG9jdW1lbnRvIG7Do28g
40
+ cGFyZWNlIHNlciB2w6FsaWRvPC9leGNlcHRpb24+CiAgPC9oZWFkZXI+CiAg
41
+ PGJvZHkvPgo8L0lSUUw+Cg==
42
+ http_version:
43
+ recorded_at: Fri, 03 Oct 2014 03:52:00 GMT
44
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,53 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://irql.bipbop.com.br/?apiKey=BIPBOP_API_KEY&q=SELECT%20FROM%20'ECOMMERCE'.'PERFILECONOMICO'%20WHERE%20'DOCUMENTO'%20=%20'09116059751'
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Cache-Control:
16
+ - no-cache="set-cookie"
17
+ - public
18
+ Content-Type:
19
+ - text/xml
20
+ Date:
21
+ - Fri, 03 Oct 2014 03:52:04 GMT
22
+ Expires:
23
+ - Sat, 04 Oct 2014 03:52:04 GMT
24
+ Server:
25
+ - bipbop
26
+ Set-Cookie:
27
+ - AWSELB=AB014DFB0639528854AECF5F443FF4231F941D34070C60DB9436CE39A70DE73B27E54CADAE64AEB083A406D8BC20545C7EF0A812122A8B2F9155C493CB14894B2CE2B49520;PATH=/;MAX-AGE=86400
28
+ Content-Length:
29
+ - '690'
30
+ Connection:
31
+ - keep-alive
32
+ body:
33
+ encoding: ASCII-8BIT
34
+ string: !binary |-
35
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPElSUUw+
36
+ CiAgPGhlYWRlcj4KICAgIDxkZXNjcmlwdGlvbj5DbGFzc2lmaWNhw6fDo28g
37
+ RWNvbsO0bWljYSBwYXJhIGUtQ29tbWVyY2U8L2Rlc2NyaXB0aW9uPgogICAg
38
+ PGRhdGUtdGltZT4wMy8xMC8yMDE0IDAwOjUyOjA0PC9kYXRlLXRpbWU+CiAg
39
+ ICA8ZXhlY3V0aW9uLXRpbWU+MDwvZXhlY3V0aW9uLXRpbWU+CiAgICA8cXVl
40
+ cnkgZGF0YWJhc2U9IkVDT01NRVJDRSIgdGFibGU9IlBFUkZJTEVDT05PTUlD
41
+ TyI+U0VMRUNUIEZST00gJ0VDT01NRVJDRScuJ1BFUkZJTEVDT05PTUlDTycg
42
+ V0hFUkUgJ0RPQ1VNRU5UTycgPSAnMDkxMTYwNTk3NTEnPC9xdWVyeT4KICA8
43
+ L2hlYWRlcj4KICA8Ym9keT4KICAgIDxuYW1lIGdlbmRlcj0ibWFsZSI+UkFG
44
+ QUVMIERFIExJTUEgUEFVTEE8L25hbWU+CiAgICA8YXBwcm94aW1hdGUtYWdl
45
+ PjMwPC9hcHByb3hpbWF0ZS1hZ2U+CiAgICA8aGFzaD42Q3pYc1pBMDl4TWdY
46
+ ckhtSkhVTlk1WDBjdTdmdjV5WHdQR1ZYL2k3blZFNmF3WWZ0bjVMcHNWdmRl
47
+ b3FidU1mQkdkS0ltMHQxRitqcmRpZk1yYW95QT09PC9oYXNoPgogICAgPGNy
48
+ aXRlcmlhPkExPC9jcml0ZXJpYT4KICAgIDxidXktbGltaXQ+MTAyMTQuODc8
49
+ L2J1eS1saW1pdD4KICAgIDxidXktYXZnPjI2OC4zMzwvYnV5LWF2Zz4KICA8
50
+ L2JvZHk+CjwvSVJRTD4K
51
+ http_version:
52
+ recorded_at: Fri, 03 Oct 2014 03:52:01 GMT
53
+ recorded_with: VCR 2.9.3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bipbop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rafael Lima
@@ -190,6 +190,8 @@ files:
190
190
  - spec/fixtures/vcr_cassettes/bipbop/cpfcnpj/invalid.yml
191
191
  - spec/fixtures/vcr_cassettes/bipbop/cpfcnpj/valid-cnpj.yml
192
192
  - spec/fixtures/vcr_cassettes/bipbop/cpfcnpj/valid-cpf.yml
193
+ - spec/fixtures/vcr_cassettes/bipbop/perfileconomico/invalid.yml
194
+ - spec/fixtures/vcr_cassettes/bipbop/perfileconomico/valid-document.yml
193
195
  - spec/fixtures/vcr_cassettes/bipbop/social/invalid.yml
194
196
  - spec/fixtures/vcr_cassettes/bipbop/social/valid-document-and-email.yml
195
197
  - spec/fixtures/vcr_cassettes/bipbop/social/valid-document.yml