myfinance-rails 0.4.5 → 0.4.6
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 +4 -4
- data/lib/myfinance/pessoa.rb +9 -39
- data/lib/myfinance/version.rb +1 -1
- data/spec/features/pessoas_spec.rb +63 -27
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 358d3ebb84924f69546c77e26f18fd0d9cc4dcfd
|
4
|
+
data.tar.gz: 2f84365f90be4cee592f2e7a3720ffb33d4287d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8d77829d1e5f3a617bc0419fd92a6c3b829a8e7e469cc9868dd0fb65e055306c03e818faf6d9042c17dab10b4502e06e9ea422c8b5cc2732d0b7dd2f6a70b7a
|
7
|
+
data.tar.gz: 6f97183cffe953e9adb361274621e26ab9ea371e03e0f329a97d72a93cb1503dcc4395f83e5aea173a9ab715ee51fd1b1230540df3f3a7a5278bba990ae8fa00
|
data/lib/myfinance/pessoa.rb
CHANGED
@@ -1,36 +1,19 @@
|
|
1
1
|
module Myfinance
|
2
2
|
|
3
3
|
def self.pessoa_id(cnpj_ou_nome)
|
4
|
-
|
5
|
-
|
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.
|
18
|
-
|
19
|
-
|
20
|
-
|
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.
|
31
|
-
|
32
|
-
|
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
|
|
data/lib/myfinance/version.rb
CHANGED
@@ -37,39 +37,75 @@ describe 'Manipulando Pessoas', type: :feature do
|
|
37
37
|
|
38
38
|
end
|
39
39
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
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
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
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
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
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
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
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
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
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
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
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.
|
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-
|
11
|
+
date: 2016-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|