api-moip-assinaturas 0.1.6 → 0.1.8
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 +8 -8
- data/api_moip_assinaturas.gemspec +2 -2
- data/lib/moip.rb +1 -1
- data/lib/moip/models/{custumer.rb → customer.rb} +8 -8
- data/lib/moip/models/invoice.rb +7 -7
- data/lib/moip/webhooks.rb +49 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZWU4NGFkYTNhZTU5NjFmMzAxNzc5YTlkMjgyN2U1YmQ5ZGM5OGEyNw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
N2U4YjFkMWQ0ZjM3YWVlNWUxZGE4ZDVhOWRjYjkwNTQ5ZjJhNThkOA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZGNiNjgxMGVjNGEzMmViMTJkMTI1NWM0OGQ2ZDM4ZWIyZjA0OTViNjIzNGZj
|
10
|
+
NjNjOGFiOWE2ZjEzYmIzZjQ1NDQ4ODM3ZTI2Yzg3OGRlZDU5NzdkMDhlYjQ3
|
11
|
+
NmM0YjNiZTI2ZGQyNGIzZjNmNzlmMjVmZWI4OGVhZTJlZDhjNmY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NWIwN2M2N2Q1Nzc4NWY2OGM3YjRkY2M5NDM2NDQ2MWM0ZTM2NzY4YjMwMWYz
|
14
|
+
NGFjNzVkZGZjM2FkZTYwYzM1ZTFkMGVhYzk4ZWZiMDFlMTUzNTFmOWJiYTNk
|
15
|
+
YjhjYWE0ZjBhNmYxMDVlZGVlOGJhNzI1MTg4ZTUxYTVhMzhiNTg=
|
@@ -3,8 +3,8 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = 'api-moip-assinaturas'
|
6
|
-
s.version = '0.1.
|
7
|
-
s.date = '2013-06-
|
6
|
+
s.version = '0.1.8'
|
7
|
+
s.date = '2013-06-12'
|
8
8
|
s.summary = "Moip Assinaturas by Pixxel"
|
9
9
|
s.description = "Gem desenvolvida para atender aos requisitos do moip api de assinaturas"
|
10
10
|
s.authors = ["Douglas Rossignolli"]
|
data/lib/moip.rb
CHANGED
@@ -10,7 +10,7 @@ require 'moip/model'
|
|
10
10
|
require 'moip/webhooks'
|
11
11
|
require 'moip/models/address'
|
12
12
|
require 'moip/models/billing_info'
|
13
|
-
require 'moip/models/
|
13
|
+
require 'moip/models/customer'
|
14
14
|
require 'moip/models/invoice'
|
15
15
|
require 'moip/models/payment'
|
16
16
|
require 'moip/models/plan'
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
class Moip::
|
2
|
+
class Moip::Customer < Moip::Model
|
3
3
|
include HTTParty
|
4
4
|
include Moip::Header
|
5
5
|
|
6
6
|
# see http://moiplabs.github.io/assinaturas-docs/api.html#criar_cliente
|
7
7
|
attr_accessor :code, :email, :fullname, :cpf, :phone_area_code,
|
8
8
|
:phone_number, :birthdate_day, :birthdate_month,
|
9
|
-
:birthdate_year, :address, :billing_info, :
|
9
|
+
:birthdate_year, :address, :billing_info, :customers
|
10
10
|
|
11
11
|
validates :code, :email, :fullname, :cpf, :phone_area_code,
|
12
12
|
:phone_number, :birthdate_day, :birthdate_month,
|
@@ -72,14 +72,14 @@ class Moip::Custumer < Moip::Model
|
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
75
|
-
def
|
76
|
-
@
|
75
|
+
def customers= hash
|
76
|
+
@customers = []
|
77
77
|
hash.each do |e|
|
78
|
-
|
79
|
-
|
80
|
-
@
|
78
|
+
customer = self.class.new
|
79
|
+
customer.set_parameters e
|
80
|
+
@customers << customer
|
81
81
|
end
|
82
|
-
@
|
82
|
+
@customers
|
83
83
|
end
|
84
84
|
|
85
85
|
|
data/lib/moip/models/invoice.rb
CHANGED
@@ -4,7 +4,7 @@ class Moip::Invoice < Moip::Model
|
|
4
4
|
include Moip::Header
|
5
5
|
|
6
6
|
attr_accessor :id, :amount, :subscription_code, :occurrence,
|
7
|
-
|
7
|
+
:status, :items, :plan, :customer, :creation_date, :invoices
|
8
8
|
|
9
9
|
def attributes
|
10
10
|
{
|
@@ -32,11 +32,11 @@ class Moip::Invoice < Moip::Model
|
|
32
32
|
|
33
33
|
def full_status
|
34
34
|
status = case self.status
|
35
|
-
when 1 then
|
36
|
-
when 2 then
|
37
|
-
when 3 then
|
38
|
-
when 4 then
|
39
|
-
when 5 then
|
35
|
+
when 1 then "Em aberto" # A fatura foi gerada mas ainda não foi paga pelo assinante.
|
36
|
+
when 2 then "Aguardando Confirmação" # A fatura foi paga pelo assinante, mas o pagamento está em processo de análise de risco.
|
37
|
+
when 3 then "Pago" # A fatura foi paga pelo assinante e confirmada.
|
38
|
+
when 4 then "Não Pago" # O assinante tentou pagar a fatura, mas o pagamento foi negado pelo banco emissor do cartão de crédito ou a análise de risco detectou algum problema. Veja os motivos possíveis.
|
39
|
+
when 5 then "Atrasada" # O pagamento da fatura foi cancelado e serão feitas novas tentativas de cobrança de acordo com a configuração de retentativa automática.
|
40
40
|
end
|
41
41
|
status
|
42
42
|
end
|
@@ -56,7 +56,7 @@ class Moip::Invoice < Moip::Model
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def payments
|
59
|
-
|
59
|
+
@payments ||= Moip::Payment.build(:subscription_code => self.code).payments
|
60
60
|
end
|
61
61
|
|
62
62
|
end
|
data/lib/moip/webhooks.rb
CHANGED
@@ -1,4 +1,52 @@
|
|
1
1
|
module Moip
|
2
|
-
|
2
|
+
# see http://moiplabs.github.io/assinaturas-docs/webhooks.html
|
3
|
+
class Webhooks
|
4
|
+
attr_accessor :event, :date, :env, :resource
|
5
|
+
|
6
|
+
def events
|
7
|
+
@events ||= {}
|
8
|
+
end
|
9
|
+
|
10
|
+
def on event, kind, &block
|
11
|
+
self.events[event] = { :kind => kind, :runnable => block }
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
event = self.event.split(".")[0]
|
16
|
+
kind = self.event.split(".")[1]
|
17
|
+
action = nil
|
18
|
+
|
19
|
+
self.events.each do |key, hash|
|
20
|
+
if event == key.to_s and hash[:kind].to_s == kind
|
21
|
+
action = hash[:runnable]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
action.call if action.is_a? Proc
|
25
|
+
end
|
26
|
+
|
27
|
+
def resource= params
|
28
|
+
klass = "Moip::#{self.event.split(".")[0].capitalize}" # E.g Moip::Plan when event plan.created
|
29
|
+
klass = eval klass
|
30
|
+
@resource = klass.build params
|
31
|
+
end
|
32
|
+
|
33
|
+
class << self
|
34
|
+
def build params
|
35
|
+
object = new
|
36
|
+
|
37
|
+
params.each do |key, value|
|
38
|
+
object.send("#{key}=".to_sym, value) if object.respond_to? key.to_sym
|
39
|
+
end
|
40
|
+
|
41
|
+
object
|
42
|
+
end
|
43
|
+
|
44
|
+
def listen(json, &block)
|
45
|
+
hook = build json
|
46
|
+
yield hook
|
47
|
+
hook.run
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
3
51
|
end
|
4
52
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api-moip-assinaturas
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Douglas Rossignolli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
11
|
+
date: 2013-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -123,7 +123,7 @@ files:
|
|
123
123
|
- lib/moip/model.rb
|
124
124
|
- lib/moip/models/address.rb
|
125
125
|
- lib/moip/models/billing_info.rb
|
126
|
-
- lib/moip/models/
|
126
|
+
- lib/moip/models/customer.rb
|
127
127
|
- lib/moip/models/invoice.rb
|
128
128
|
- lib/moip/models/payment.rb
|
129
129
|
- lib/moip/models/plan.rb
|