myfinance-rails 0.4.5 → 0.4.6

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: 6e1735e3dd9132665f12c10469b78c2c6133f051
4
- data.tar.gz: 922810fc3721c021937396772c9f94bf8b90e58c
3
+ metadata.gz: 358d3ebb84924f69546c77e26f18fd0d9cc4dcfd
4
+ data.tar.gz: 2f84365f90be4cee592f2e7a3720ffb33d4287d1
5
5
  SHA512:
6
- metadata.gz: 97940e757fb5d3d640ac84ebc250154e03b3f9d5602420dc5e48f1fc18d2bf1229b6b7f6e4e4f07dfcca956f681f1f0a8ace8e3a53333a21dcf6458d300d2ce3
7
- data.tar.gz: 8700f2158948320b3f05660d9198358db8dd6098e0eecccd3aaec428147c976dd4ab44db262db84faa063c9e5441a094e03ca6aff2dfa5e255c3a1eb37531048
6
+ metadata.gz: e8d77829d1e5f3a617bc0419fd92a6c3b829a8e7e469cc9868dd0fb65e055306c03e818faf6d9042c17dab10b4502e06e9ea422c8b5cc2732d0b7dd2f6a70b7a
7
+ data.tar.gz: 6f97183cffe953e9adb361274621e26ab9ea371e03e0f329a97d72a93cb1503dcc4395f83e5aea173a9ab715ee51fd1b1230540df3f3a7a5278bba990ae8fa00
@@ -1,36 +1,19 @@
1
1
  module Myfinance
2
2
 
3
3
  def self.pessoa_id(cnpj_ou_nome)
4
- @everyone ||= all_people
5
- mid = nil
6
- @everyone.each do | pessoa |
7
- if @account_id.to_i == pessoa['account_id']
8
- if pessoa['federation_subscription_number_only_numbers'] == cnpj_ou_nome or pessoa['federation_subscription_number'] == cnpj_ou_nome or pessoa['name'].casecmp(cnpj_ou_nome) == 0
9
- mid = pessoa['id']
10
- break
11
- end
12
- end
13
- end
14
- mid
4
+ person = pessoa(cnpj_ou_nome)
5
+ person.nil? ? nil : person["id"]
15
6
  end
16
7
 
17
- def self.all_people
18
- everyone = []
19
- response = lget "/people.json"
20
- total_pages = get_last_page(response)
21
- for page in 1..total_pages
22
- response = lget "/people.json?page=#{page}"
23
- response.each do | people |
24
- everyone << people['person']
25
- end
26
- end
27
- everyone
8
+ def self.pessoa(cnpj_ou_nome)
9
+ person = pesquisa_pessoa("federation_subscription_number", cnpj_ou_nome)
10
+ person ||= pesquisa_pessoa("name", cnpj_ou_nome)
11
+ person
28
12
  end
29
13
 
30
- def self.pessoa(cnpj_ou_nome)
31
- mid = pessoa_id(cnpj_ou_nome)
32
- response = lget "/people/#{mid}.json"
33
- response['person'] if response
14
+ def self.pesquisa_pessoa(campo, valor)
15
+ people = Myfinance.lget URI.encode("/people.json?search[#{campo}]=#{valor}")
16
+ people.empty? ? nil : people[0]["person"]
34
17
  end
35
18
 
36
19
  def self.cria_pessoa( pessoa )
@@ -46,18 +29,5 @@ module Myfinance
46
29
  @everyone = nil
47
30
  lput "/people/#{people_id}.json", pessoa
48
31
  end
49
-
50
-
51
- def self.get_last_page(response)
52
- total_pages = 1
53
- links = (response.header['link'].split(',') rescue [])
54
- link = links.find{ |l| l.include?('last') }
55
- if link
56
- total_pages = (link.split(";")[0].split('?')[1].gsub('page=','').to_i rescue 1)
57
- end
58
- total_pages
59
- end
60
-
61
-
62
32
  end
63
33
 
@@ -1,3 +1,3 @@
1
1
  module Myfinance
2
- VERSION = '0.4.5'
2
+ VERSION = '0.4.6'
3
3
  end
@@ -37,39 +37,75 @@ describe 'Manipulando Pessoas', type: :feature do
37
37
 
38
38
  end
39
39
 
40
- it 'Se procurar por um cnpj não cadastrado, deve voltar nulo' do
41
- Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277')
42
- id = Myfinance.pessoa_id('67977504999999')
43
- expect(id).to be_nil
44
- end
40
+ describe "#pessoa_id" do
41
+ it 'Se procurar por um cnpj não cadastrado, deve voltar nulo' do
42
+ Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277')
43
+ id = Myfinance.pessoa_id('67977504999999')
44
+ expect(id).to be_nil
45
+ end
45
46
 
46
- it 'Se procurar por um cnpj cadastrado, deve voltar id' do
47
- Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277')
48
- id = Myfinance.pessoa_id('27206831000170')
49
- expect(id).to_not be_nil
50
- end
47
+ it 'Se procurar por um cnpj cadastrado, deve voltar id' do
48
+ Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277')
49
+ id = Myfinance.pessoa_id('27206831000170')
50
+ expect(id).to_not be_nil
51
+ end
51
52
 
52
- it 'Se procurar por nome cadastrado, deve voltar id' do
53
- Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277')
54
- id = Myfinance.pessoa_id('Ciclano')
55
- expect(id).to_not be_nil
56
- end
53
+ it 'Se procurar por nome cadastrado, deve voltar id' do
54
+ Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277')
55
+ id = Myfinance.pessoa_id('Ciclano')
56
+ expect(id).to_not be_nil
57
+ end
57
58
 
58
- it 'Se procurar por nome cadastrado, mas em case diferente, deve voltar id' do
59
- Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277')
60
- id = Myfinance.pessoa_id('CiClAnO')
61
- expect(id).to_not be_nil
59
+ it 'Se procurar por nome cadastrado, mas em case diferente, deve voltar id' do
60
+ Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277')
61
+ id = Myfinance.pessoa_id('CiClAnO')
62
+ expect(id).to_not be_nil
63
+ end
64
+
65
+ it 'Se procurar por nome não cadastrado, deve voltar id nulo' do
66
+ Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277')
67
+ id = Myfinance.pessoa_id('Ciclano Ciclano')
68
+ expect(id).to be_nil
69
+ end
62
70
  end
63
71
 
64
- it 'Se procurar por nome não cadastrado, deve voltar id nulo' do
65
- Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277')
66
- id = Myfinance.pessoa_id('Ciclano Ciclano')
67
- expect(id).to be_nil
72
+ describe "#pessoa" do
73
+ let!(:person_double) { double("person") }
74
+ it "Retorna pessoa quando encontra cnpj" do
75
+ expect(Myfinance).to receive(:pesquisa_pessoa).with("federation_subscription_number", "67977504000137").and_return person_double
76
+ expect(Myfinance.pessoa("67977504000137")).to eql person_double
77
+ end
78
+ it "Retorna pessoa quando encontra nome" do
79
+ expect(Myfinance).to receive(:pesquisa_pessoa).with("federation_subscription_number", "nome").and_return nil
80
+ expect(Myfinance).to receive(:pesquisa_pessoa).with("name", "nome").and_return person_double
81
+ expect(Myfinance.pessoa("nome")).to eql person_double
82
+ end
83
+ it "Retorna nil quando não encontra pessoa" do
84
+ expect(Myfinance).to receive(:pesquisa_pessoa).with("federation_subscription_number", "nome").and_return nil
85
+ expect(Myfinance).to receive(:pesquisa_pessoa).with("name", "nome").and_return nil
86
+ expect(Myfinance.pessoa("nome")).to be_nil
87
+ end
68
88
  end
69
89
 
70
- it 'Se procurar por um cnpj cadastrado de outra conta, não deve voltar id' do
71
- Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277', false, 1)
72
- id = Myfinance.pessoa_id('27206831000170')
73
- expect(id).to be_nil
90
+ describe "#pesquisa_pessoa" do
91
+ before do
92
+ Myfinance.setup('2acecbb483842ebbfb2c638070bf019b70e757190166d277')
93
+ end
94
+ it "retorna pessoal quando encontra cnpj com pontuação" do
95
+ pessoa = Myfinance.pesquisa_pessoa("federation_subscription_number", "67.977.504/0001-37")
96
+ expect(pessoa["id"]).to eql 192058
97
+ end
98
+ it "retorna pessoal quando encontra cnpj sem pontuação" do
99
+ pessoa = Myfinance.pesquisa_pessoa("federation_subscription_number", "67977504000137")
100
+ expect(pessoa["id"]).to eql 192058
101
+ end
102
+ it "retorna pessoal quando encontra nome" do
103
+ pessoa = Myfinance.pesquisa_pessoa("name", "AGROPECUARIA POTENZA LTDA.")
104
+ expect(pessoa["id"]).to eql 192058
105
+ end
106
+ it "retorna nil quando não encontra cnpj" do
107
+ pessoa = Myfinance.pesquisa_pessoa("name", "AGROPECUARIA POTENZA")
108
+ expect(pessoa).to be_nil
109
+ end
74
110
  end
75
111
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: myfinance-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - José Lopes Neto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-24 00:00:00.000000000 Z
11
+ date: 2016-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler