touggsl 0.4 → 0.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.
Binary file
@@ -1,31 +1,41 @@
1
1
  = Touggsl - Access Superlogica API through Ruby Code
2
2
 
3
- Até o momento essa gem fornece três operações sobre a API da Superlogica
3
+ Até o momento essa gem fornece seis operações sobre a API da Superlogica
4
4
 
5
5
  * Autenticação
6
6
  * Cadastro de cliente
7
7
  * Assinar um plano para um cliente
8
8
  * Buscar clientes inadimplentes
9
+ * Verifica se cliente específico está inadimplente
10
+ * Retorna link de 2ª via para um cliente inadimplente
9
11
 
10
12
  == Autenticação
11
13
 
12
- Touggsl.set_uri("http://sua_conta.superlogica.net/financeiro/atual/")
13
- @auth = Touggsl::Auth
14
- @auth.login("jack", "secret")
14
+ Touggsl.set_uri("http://sua_conta.superlogica.net/financeiro/atual/")
15
+ @auth = Touggsl::Auth
16
+ @auth.login("email", "password")
15
17
 
16
18
  == Criando um cliente
17
19
 
18
- cliente = Touggsl::Client.new(auth)
19
- client.create_new_client("0303030", "Jack", "Tougg") # retorna "200" para sucesso
20
+ client = Touggsl::Customer.new(@auth)
21
+ client.create_new_client("0303030", "Jack", "Tougg", "jack@tougg.com.br") # retorna "200" para sucesso
20
22
 
21
- == Vinculando um cliente a um plano
23
+ == Vinculando um plano a um cliente
22
24
 
23
- client.hiring_plan(plan_id, client_id, contract_id) #retorna "200" para sucesso.
25
+ client.hiring_plan(plan_id, client_id, contract_id) #retorna "200" para sucesso.
24
26
 
25
27
  == Buscando inadimplentes
26
28
 
27
- client.get_inadimplentes #retorna uma array de Client
29
+ client.get_all_inadimplentes #retorna uma array de Client
28
30
 
31
+ == Verifica se cliente está inadimplente
32
+
33
+ client.is_inadimplente(client_id)
34
+
35
+ == 2ª Via Boleto
36
+ Retorna link de 2ª via, caso cliente estiver inadimplente.
37
+
38
+ client.link_2via(client_id)
29
39
 
30
40
  Para maiores informações recomenda-se dar uma olhada nos testes e na documentação.
31
41
 
File without changes
@@ -1,5 +1,5 @@
1
1
  require 'touggsl/auth'
2
- require 'touggsl/client'
2
+ require 'touggsl/customer'
3
3
  ##
4
4
  # Main module, there is only one method
5
5
  # used to set your URL.
@@ -1,8 +1,8 @@
1
1
  require 'touggsl'
2
2
  require 'json'
3
3
  require 'touggsl/request_helpers'
4
- require 'touggsl/models/client'
5
- class Touggsl::Client
4
+ require 'touggsl/models/customer'
5
+ class Touggsl::Customer
6
6
  include Touggsl::RequestHelper
7
7
 
8
8
  attr_accessor :auth
@@ -64,7 +64,7 @@ class Touggsl::Client
64
64
  ##
65
65
  # Retorna todos os clientes que estão inadimplentes
66
66
  #
67
- def get_inadimplentes
67
+ def get_all_inadimplentes
68
68
  clients = []
69
69
  clients_json = JSON.parse(get_clients_inadimplementes)
70
70
  clients_json["data"].each do |j|
@@ -73,9 +73,32 @@ class Touggsl::Client
73
73
  dias_atraso = recebimento[0]["encargos"][0]["diasatraso"]
74
74
  id_client = j["id_sacado_sac"]
75
75
  segunda_via = recebimento[0]["link_2via"]
76
- clients << Client.new(id_client, name, dias_atraso, segunda_via)
76
+ clients << Customer.new(id_client, name, dias_atraso, segunda_via)
77
77
  end
78
78
  clients
79
79
  end
80
- end
81
-
80
+
81
+ ##
82
+ # Retorna boolean se cliente esta inadimplente
83
+ #
84
+ def is_inadimplente(client_id)
85
+ client = JSON.parse(checks_if_client_is_inadimplente(client_id))
86
+ if client['data'].length > 0
87
+ return true
88
+ else
89
+ return false
90
+ end
91
+ end
92
+
93
+ ##
94
+ # Retorna link de 2 via do boleto para cliente inadimplente
95
+ #
96
+ def link_2via(client_id)
97
+ link = JSON.parse(get_2via_link(client_id))
98
+ link['data'].each do |d|
99
+ d['recebimento'].each do |v|
100
+ return v['link_2via']
101
+ end
102
+ end
103
+ end
104
+ end
@@ -10,7 +10,7 @@
10
10
  # * <tt>segunda_via_cobranca</tt> - Link para a cobranca em atraso
11
11
  #
12
12
  ##
13
- class Client
13
+ class Customer
14
14
  attr_accessor :client_id, :name, :dias_atraso, :segunda_via_cobranca
15
15
 
16
16
  def initialize(client_id, name, dias_atraso, segunda_via)
@@ -93,5 +93,17 @@ module Touggsl
93
93
  :body => {'posicaoEm' => today}, :headers => {'Cookie' => auth.get_cookie})
94
94
 
95
95
  end
96
+
97
+ def checks_if_client_is_inadimplente(client_id)
98
+ today = Time.now.strftime("%m/%d/%Y")
99
+ HTTParty.post("#{Touggsl.get_uri}inadimplencia/index",
100
+ :body => {'identificador' => client_id, 'posicaoEm' => today}, :headers => {'Cookie' => auth.get_cookie})
101
+ end
102
+
103
+ def get_2via_link(client_id)
104
+ today = Time.now.strftime("%m/%d/%Y")
105
+ HTTParty.post("#{Touggsl.get_uri}inadimplencia/index",
106
+ :body => {'identificador' => client_id, 'posicaoEm' => today}, :headers => {'Cookie' => auth.get_cookie})
107
+ end
96
108
  end
97
109
  end
@@ -1,3 +1,3 @@
1
1
  module Touggsl
2
- VERSION = "0.4"
2
+ VERSION = "0.6"
3
3
  end
@@ -2,7 +2,7 @@ require 'helper'
2
2
  require 'json'
3
3
  require 'touggsl'
4
4
  require 'touggsl_helper'
5
- require './lib/touggsl/client'
5
+ require './lib/touggsl/customer'
6
6
  class TestClient < Test::Unit::TestCase
7
7
 
8
8
 
@@ -19,7 +19,7 @@ Time.stubs(:now).returns(Time.mktime(2013,11,03))
19
19
 
20
20
  auth = Touggsl::Auth
21
21
  auth.login("jack", "secret")
22
- @client = Touggsl::Client.new(auth)
22
+ @client = Touggsl::Customer.new(auth)
23
23
  end
24
24
 
25
25
  def test_client_should_have_a_auth
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "touggsl"
8
- s.version = "0.4"
8
+ s.version = "0.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Edipo Luis Federle", "Dyan Carlos Carra"]
12
- s.date = "2013-11-09"
12
+ s.date = "2013-11-23"
13
13
  s.description = "Ruby code to access superlogica API"
14
14
  s.email = ["edipofederle@gmail.com", "dyancarra@gmail.com"]
15
15
  s.executables = ["touggsl"]
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  "README.rdoc"
19
19
  ]
20
20
  s.files = [
21
+ ".DS_Store",
21
22
  "Gemfile",
22
23
  "Gemfile.lock",
23
24
  "LICENSE.txt",
@@ -26,15 +27,15 @@ Gem::Specification.new do |s|
26
27
  "bin/touggsl",
27
28
  "lib/touggsl.rb",
28
29
  "lib/touggsl/auth.rb",
29
- "lib/touggsl/client.rb",
30
- "lib/touggsl/models/client.rb",
30
+ "lib/touggsl/customer.rb",
31
+ "lib/touggsl/models/customer.rb",
31
32
  "lib/touggsl/request_helpers.rb",
32
33
  "lib/version.rb",
33
34
  "test/contratarplano.json",
34
35
  "test/helper.rb",
35
36
  "test/inadimplentes.json",
36
37
  "test/touggsl/test_auth.rb",
37
- "test/touggsl/test_client.rb",
38
+ "test/touggsl/test_customer.rb",
38
39
  "test/touggsl/test_touggsl.rb",
39
40
  "test/touggsl/test_version.rb",
40
41
  "test/touggsl_helper.rb",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: touggsl
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.4'
4
+ version: '0.6'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-11-09 00:00:00.000000000 Z
13
+ date: 2013-11-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: shoulda
@@ -151,6 +151,7 @@ extra_rdoc_files:
151
151
  - LICENSE.txt
152
152
  - README.rdoc
153
153
  files:
154
+ - .DS_Store
154
155
  - Gemfile
155
156
  - Gemfile.lock
156
157
  - LICENSE.txt
@@ -159,15 +160,15 @@ files:
159
160
  - bin/touggsl
160
161
  - lib/touggsl.rb
161
162
  - lib/touggsl/auth.rb
162
- - lib/touggsl/client.rb
163
- - lib/touggsl/models/client.rb
163
+ - lib/touggsl/customer.rb
164
+ - lib/touggsl/models/customer.rb
164
165
  - lib/touggsl/request_helpers.rb
165
166
  - lib/version.rb
166
167
  - test/contratarplano.json
167
168
  - test/helper.rb
168
169
  - test/inadimplentes.json
169
170
  - test/touggsl/test_auth.rb
170
- - test/touggsl/test_client.rb
171
+ - test/touggsl/test_customer.rb
171
172
  - test/touggsl/test_touggsl.rb
172
173
  - test/touggsl/test_version.rb
173
174
  - test/touggsl_helper.rb
@@ -187,7 +188,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
187
188
  version: '0'
188
189
  segments:
189
190
  - 0
190
- hash: -2138812775724009612
191
+ hash: 506723146345324378
191
192
  required_rubygems_version: !ruby/object:Gem::Requirement
192
193
  none: false
193
194
  requirements: