mymoip 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,6 +1,12 @@
1
1
  CHANGELOG
2
2
  =========
3
3
 
4
+ **0.2.3**
5
+ * Remove .rvmrc
6
+ * CreditCardPayment's initialization can now receive a hash of options
7
+ * lib/requests folder created
8
+ * Requests has methods to return its response id
9
+
4
10
  **0.2.2**
5
11
  * Explicitly require order for Requests classes
6
12
 
data/Gemfile CHANGED
@@ -15,4 +15,6 @@ group :development do
15
15
  gem "jeweler", "~> 1.8.4"
16
16
  gem "turn"
17
17
  gem "mocha", require: false
18
+ gem "vcr"
19
+ gem "webmock"
18
20
  end
data/Gemfile.lock CHANGED
@@ -1,8 +1,10 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ addressable (2.3.2)
4
5
  ansi (1.4.3)
5
6
  builder (3.0.0)
7
+ crack (0.3.1)
6
8
  git (1.2.5)
7
9
  httparty (0.8.3)
8
10
  multi_json (~> 1.0)
@@ -23,6 +25,10 @@ GEM
23
25
  json (~> 1.4)
24
26
  turn (0.9.6)
25
27
  ansi
28
+ vcr (2.2.5)
29
+ webmock (1.8.11)
30
+ addressable (>= 2.2.7)
31
+ crack (>= 0.1.7)
26
32
 
27
33
  PLATFORMS
28
34
  ruby
@@ -35,3 +41,5 @@ DEPENDENCIES
35
41
  mocha
36
42
  rdoc (~> 3.12)
37
43
  turn
44
+ vcr
45
+ webmock
data/README.md CHANGED
@@ -8,6 +8,8 @@ Provides a implementation of MoIP's transparent checkout.
8
8
  Contributing to MyMoip
9
9
  ----------------------
10
10
 
11
+ [![Build Status](https://secure.travis-ci.org/Irio/mymoip.png)](http://travis-ci.org/Irio/mymoip)
12
+
11
13
  What would you do if you could make your own implementation of MoIP?
12
14
 
13
15
  Any patch are welcome, even removing extra blank spaces.
@@ -73,7 +75,7 @@ credit_card = MyMoip::CreditCard.new(
73
75
  owner_rg: "1010202030"
74
76
  )
75
77
 
76
- credit_card_payment = MyMoip::CreditCardPayment.new(credit_card, 1)
78
+ credit_card_payment = MyMoip::CreditCardPayment.new(credit_card, installments: 1)
77
79
  payment_request = MyMoip::PaymentRequest.new("your_own_id")
78
80
  payment_request.api_call(credit_card_payment, token: transparent_request.token)
79
81
  ```
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.2
1
+ 0.2.3
@@ -1,9 +1,15 @@
1
1
  module MyMoip
2
2
  class CreditCardPayment
3
- attr_accessor :credit_card, :tranches
3
+ attr_accessor :credit_card, :installments
4
4
 
5
- def initialize(credit_card, tranches = 1)
6
- @credit_card, @tranches = credit_card, tranches
5
+ def initialize(credit_card, opts = {})
6
+ @credit_card = credit_card
7
+ # Backward compatibility. See 0.2.3 CHANGELOG
8
+ @installments = if opts.kind_of?(Integer)
9
+ opts
10
+ else
11
+ opts[:installments] || 1
12
+ end
7
13
  end
8
14
 
9
15
  def to_json
@@ -11,7 +17,7 @@ module MyMoip
11
17
 
12
18
  json = {
13
19
  Forma: "CartaoCredito",
14
- Parcelas: @tranches,
20
+ Parcelas: @installments,
15
21
  CartaoCredito: {
16
22
  Numero: credit_card.card_number,
17
23
  Expiracao: credit_card.expiration_date,
@@ -41,7 +47,7 @@ module MyMoip
41
47
  end
42
48
 
43
49
  def cash?
44
- @tranches == 1
50
+ @installments == 1
45
51
  end
46
52
  end
47
53
  end
@@ -24,3 +24,6 @@ module MyMoip
24
24
  end
25
25
  end
26
26
  end
27
+
28
+ requests = Dir[File.dirname(__FILE__) + "/requests/*.rb"]
29
+ requests.each { |f| require f }
@@ -1,5 +1,3 @@
1
- require 'request'
2
-
3
1
  module MyMoip
4
2
  class PaymentRequest < Request
5
3
 
@@ -36,5 +34,11 @@ module MyMoip
36
34
  @response && @response["StatusPagamento"] == "Sucesso"
37
35
  end
38
36
 
37
+ def code
38
+ @response["CodigoMoIP"]
39
+ rescue NoMethodError => e
40
+ nil
41
+ end
42
+
39
43
  end
40
44
  end
@@ -1,5 +1,3 @@
1
- require "request"
2
-
3
1
  module MyMoip
4
2
  class TransparentRequest < Request
5
3
 
@@ -31,5 +29,11 @@ module MyMoip
31
29
  nil
32
30
  end
33
31
 
32
+ def id
33
+ @response["EnviarInstrucaoUnicaResponse"]["Resposta"]["ID"]
34
+ rescue NoMethodError => e
35
+ nil
36
+ end
37
+
34
38
  end
35
39
  end
data/lib/mymoip.rb CHANGED
@@ -19,12 +19,8 @@ end
19
19
 
20
20
  $LOAD_PATH << "./lib/mymoip"
21
21
 
22
- require 'mymoip/request'
23
-
24
22
  files = Dir[File.dirname(__FILE__) + "/mymoip/*.rb"]
25
- after_request = files.reject! { |f| f.include?('/request.rb') }
23
+ files.each { |f| require f }
26
24
 
27
- after_request.each { |f| require f }
28
-
29
25
  MyMoip.environment = "sandbox"
30
26
  MyMoip.logger = Logger.new(STDOUT)
data/mymoip.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "mymoip"
8
- s.version = "0.2.2"
8
+ s.version = "0.2.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Irio Irineu Musskopf Junior"]
12
- s.date = "2012-10-17"
12
+ s.date = "2012-10-18"
13
13
  s.description = "Provides a implementation of MoIP's transparent checkout."
14
14
  s.email = "irio.musskopf@caixadeideias.com.br"
15
15
  s.extra_rdoc_files = [
@@ -18,7 +18,6 @@ Gem::Specification.new do |s|
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".rvmrc",
22
21
  "CHANGELOG.md",
23
22
  "Gemfile",
24
23
  "Gemfile.lock",
@@ -32,12 +31,15 @@ Gem::Specification.new do |s|
32
31
  "lib/mymoip/instruction.rb",
33
32
  "lib/mymoip/json_parser.rb",
34
33
  "lib/mymoip/payer.rb",
35
- "lib/mymoip/payment_request.rb",
36
34
  "lib/mymoip/request.rb",
37
- "lib/mymoip/transparent_request.rb",
35
+ "lib/mymoip/requests/payment_request.rb",
36
+ "lib/mymoip/requests/transparent_request.rb",
38
37
  "mymoip.gemspec",
39
- "test/fixture.rb",
38
+ "test/fixtures/fixture.rb",
39
+ "test/fixtures/vcr_cassettes/payment_request.yml",
40
+ "test/fixtures/vcr_cassettes/transparent_request.yml",
40
41
  "test/helper.rb",
42
+ "test/live_test.rb",
41
43
  "test/test_credit_card_payment.rb",
42
44
  "test/test_creditcard.rb",
43
45
  "test/test_instruction.rb",
@@ -64,6 +66,8 @@ Gem::Specification.new do |s|
64
66
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
65
67
  s.add_development_dependency(%q<turn>, [">= 0"])
66
68
  s.add_development_dependency(%q<mocha>, [">= 0"])
69
+ s.add_development_dependency(%q<vcr>, [">= 0"])
70
+ s.add_development_dependency(%q<webmock>, [">= 0"])
67
71
  else
68
72
  s.add_dependency(%q<builder>, [">= 0"])
69
73
  s.add_dependency(%q<httparty>, [">= 0"])
@@ -72,6 +76,8 @@ Gem::Specification.new do |s|
72
76
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
73
77
  s.add_dependency(%q<turn>, [">= 0"])
74
78
  s.add_dependency(%q<mocha>, [">= 0"])
79
+ s.add_dependency(%q<vcr>, [">= 0"])
80
+ s.add_dependency(%q<webmock>, [">= 0"])
75
81
  end
76
82
  else
77
83
  s.add_dependency(%q<builder>, [">= 0"])
@@ -81,6 +87,8 @@ Gem::Specification.new do |s|
81
87
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
82
88
  s.add_dependency(%q<turn>, [">= 0"])
83
89
  s.add_dependency(%q<mocha>, [">= 0"])
90
+ s.add_dependency(%q<vcr>, [">= 0"])
91
+ s.add_dependency(%q<webmock>, [">= 0"])
84
92
  end
85
93
  end
86
94
 
@@ -1,24 +1,24 @@
1
1
  class Fixture
2
2
  def self.payer
3
3
  MyMoip::Payer.new(
4
- id: "some id",
5
- name: "some name",
6
- email: "some email",
7
- address_street: "some address_street",
8
- address_street_number: "some address_street_number",
9
- address_street_extra: "some address_street_extra",
10
- address_neighbourhood: "some address_neighbourhood",
11
- address_city: "some address_city",
12
- address_state: "some address_state",
13
- address_country: "some address_country",
14
- address_cep: "some address_cep",
15
- address_phone: "some address_phone"
4
+ id: "your_own_payer_id",
5
+ name: "Juquinha da Rocha",
6
+ email: "juquinha@rocha.com",
7
+ address_street: "Felipe Neri",
8
+ address_street_number: "406",
9
+ address_street_extra: "Sala 501",
10
+ address_neighbourhood: "Auxiliadora",
11
+ address_city: "Porto Alegre",
12
+ address_state: "RS",
13
+ address_country: "BRA",
14
+ address_cep: "90440-150",
15
+ address_phone: "(51)3040-5060"
16
16
  )
17
17
  end
18
18
 
19
19
  def self.instruction(payer)
20
20
  MyMoip::Instruction.new(
21
- id: "some id",
21
+ id: "your_own_instruction_id",
22
22
  payment_reason: "some payment_reason",
23
23
  values: [100.0, 200.0],
24
24
  payer: payer
@@ -0,0 +1,37 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://YOUR_MOIP_TOKEN:YOUR_MOIP_KEY@desenvolvedor.moip.com.br/sandbox/rest/pagamento?callback=?&pagamentoWidget=%7B%22pagamentoWidget%22:%7B%22referer%22:%22http://localhost/default%22,%22token%22:%22M2F021Z2U1O0C1X761K1S1N8C5D0J1V1S0O0F0Y0Q0B0V0A1J1O0C2P6Z965%22,%22dadosPagamento%22:%7B%22Forma%22:%22CartaoCredito%22,%22Parcelas%22:1,%22CartaoCredito%22:%7B%22Numero%22:%224916654211627608%22,%22Expiracao%22:%2206/15%22,%22CodigoSeguranca%22:%22000%22,%22Portador%22:%7B%22Nome%22:%22Juquinha%20da%20Rocha%22,%22DataNascimento%22:%2203/11/1984%22,%22Telefone%22:%22(51)3040-5060%22,%22Identidade%22:%221010202030%22%7D%7D,%22Instituicao%22:%22Visa%22,%22Recebimento%22:%22AVista%22%7D%7D%7D
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Date:
16
+ - Wed, 17 Oct 2012 18:23:26 GMT
17
+ Server:
18
+ - Apache/2.2.23 (CentOS)
19
+ Content-Length:
20
+ - '271'
21
+ Vary:
22
+ - Accept-Encoding
23
+ Content-Type:
24
+ - application/json
25
+ body:
26
+ encoding: ASCII-8BIT
27
+ string: !binary |-
28
+ Pyh7IlN0YXR1cyI6IkVtQW5hbGlzZSIsIkNvZGlnbyI6MCwiQ29kaWdvUmV0
29
+ b3JubyI6IiIsIlRheGFNb0lQIjoiMTUuMTkiLCJTdGF0dXNQYWdhbWVudG8i
30
+ OiJTdWNlc3NvIiwiQ2xhc3NpZmljYWNhbyI6eyJDb2RpZ28iOjk5OSwiRGVz
31
+ Y3JpY2FvIjoiTsOjbyBzdXBvcnRhZG8gbm8gYW1iaWVudGUgU2FuZGJveCJ9
32
+ LCJDb2RpZ29Nb0lQIjo5NTY5NSwiTWVuc2FnZW0iOiJSZXF1aXNpw6fDo28g
33
+ cHJvY2Vzc2FkYSBjb20gc3VjZXNzbyIsIlRvdGFsUGFnbyI6IjIwMC4wMCJ9
34
+ KQ==
35
+ http_version:
36
+ recorded_at: Wed, 17 Oct 2012 18:21:35 GMT
37
+ recorded_with: VCR 2.2.5
@@ -0,0 +1,33 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://YOUR_MOIP_TOKEN:YOUR_MOIP_KEY@desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica
6
+ body:
7
+ encoding: US-ASCII
8
+ string: <EnviarInstrucao><InstrucaoUnica TipoValidacao="Transparente"><Razao>some
9
+ payment_reason</Razao><Valores><Valor moeda="BRL">100.00</Valor><Valor moeda="BRL">200.00</Valor></Valores><IdProprio>your_own_instruction_id</IdProprio><Pagador><Nome>Juquinha da Rocha</Nome><Email>juquinha@rocha.com</Email><IdPagador>your_own_payer_id</IdPagador><EnderecoCobranca><Logradouro>Felipe
10
+ Neri</Logradouro><Numero>406</Numero><Complemento>Sala 501</Complemento><Bairro>Auxiliadora</Bairro><Cidade>Porto
11
+ Alegre</Cidade><Estado>RS</Estado><Pais>BRA</Pais><CEP>90440-150</CEP><TelefoneFixo>(51)3040-5060</TelefoneFixo></EnderecoCobranca></Pagador></InstrucaoUnica></EnviarInstrucao>
12
+ headers: {}
13
+ response:
14
+ status:
15
+ code: 200
16
+ message: OK
17
+ headers:
18
+ Date:
19
+ - Wed, 17 Oct 2012 14:18:49 GMT
20
+ Server:
21
+ - Apache/2.2.23 (CentOS)
22
+ Content-Length:
23
+ - '273'
24
+ Vary:
25
+ - Accept-Encoding
26
+ Content-Type:
27
+ - text/xml;charset=UTF-8
28
+ body:
29
+ encoding: US-ASCII
30
+ string: <ns1:EnviarInstrucaoUnicaResponse xmlns:ns1="http://www.moip.com.br/ws/alpha/"><Resposta><ID>201210171118501100000001102691</ID><Status>Sucesso</Status><Token>M2F021Z2U1O0C1X761K1S1N8C5D0J1V1S0O0F0Y0Q0B0V0A1J1O0C2P6Z965</Token></Resposta></ns1:EnviarInstrucaoUnicaResponse>
31
+ http_version:
32
+ recorded_at: Wed, 17 Oct 2012 14:16:59 GMT
33
+ recorded_with: VCR 2.2.5
data/test/helper.rb CHANGED
@@ -10,8 +10,16 @@ end
10
10
  require 'test/unit'
11
11
  require 'turn/autorun'
12
12
  require 'mocha'
13
+ require 'vcr'
13
14
 
14
- require 'fixture'
15
+ VCR.configure do |c|
16
+ c.cassette_library_dir = 'test/fixtures/vcr_cassettes'
17
+ c.hook_into :webmock
18
+ end
19
+
20
+ require 'live_test'
21
+
22
+ require 'fixtures/fixture'
15
23
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
16
24
  $LOAD_PATH.unshift(File.dirname(__FILE__))
17
25
 
data/test/live_test.rb ADDED
@@ -0,0 +1,4 @@
1
+ require './lib/mymoip'
2
+
3
+ MyMoip.token = 'YOUR_MOIP_TOKEN'
4
+ MyMoip.key = 'YOUR_MOIP_KEY'
@@ -6,7 +6,14 @@ class TestCreditCardPayment < Test::Unit::TestCase
6
6
  credit_card = Fixture.credit_card
7
7
  subject = MyMoip::CreditCardPayment.new(credit_card, 1)
8
8
  assert_equal credit_card, subject.credit_card
9
- assert_equal 1, subject.tranches
9
+ assert_equal 1, subject.installments
10
+ end
11
+
12
+ def test_allow_initialization_with_a_hash_of_options
13
+ credit_card = Fixture.credit_card
14
+ subject = MyMoip::CreditCardPayment.new(credit_card, installments: 2)
15
+ assert_equal credit_card, subject.credit_card
16
+ assert_equal 2, subject.installments
10
17
  end
11
18
 
12
19
  def test_cash_method_with_one_tranch
@@ -15,7 +22,7 @@ class TestCreditCardPayment < Test::Unit::TestCase
15
22
  assert_equal true, subject.cash?
16
23
  end
17
24
 
18
- def test_cash_method_with_more_than_one_tranches
25
+ def test_cash_method_with_more_than_one_installments
19
26
  credit_card = Fixture.credit_card
20
27
  subject = MyMoip::CreditCardPayment.new(credit_card, 3)
21
28
  assert_equal false, subject.cash?
@@ -24,6 +31,25 @@ class TestCreditCardPayment < Test::Unit::TestCase
24
31
  def test_default_initialization_with_one_tranch
25
32
  credit_card = Fixture.credit_card
26
33
  subject = MyMoip::CreditCardPayment.new(credit_card)
27
- assert_equal 1, subject.tranches
34
+ assert_equal 1, subject.installments
28
35
  end
36
+
37
+ def test_json_format
38
+ payment = MyMoip::CreditCardPayment.new(Fixture.credit_card)
39
+ assert_equal "CartaoCredito", payment.to_json[:Forma]
40
+ assert payment.to_json[:Parcelas].kind_of?(Integer), "'Parcelas' must be a kind of integer."
41
+ end
42
+
43
+ def test_json_credit_card_format
44
+ payment = MyMoip::CreditCardPayment.new(Fixture.credit_card)
45
+ assert_match /\A\d+\z/, payment.to_json[:CartaoCredito][:Numero]
46
+ assert_match /\A((0[1-9])|(1[02]))\/\d{2}\z/, payment.to_json[:CartaoCredito][:Expiracao]
47
+ assert_match /\A\d{3}\z/, payment.to_json[:CartaoCredito][:CodigoSeguranca]
48
+ original_date = Date.new(1980, 11, 3)
49
+ MyMoip::CreditCard.any_instance.stubs(:owner_birthday).returns(original_date)
50
+ assert_equal original_date.strftime("%d/%m/%Y"), payment.to_json[:CartaoCredito][:Portador][:DataNascimento]
51
+ assert_match /\A\(\d{2}\)\d{4,5}-\d{4}/, payment.to_json[:CartaoCredito][:Portador][:Telefone]
52
+ assert_match /\A\d+\z/, payment.to_json[:CartaoCredito][:Portador][:Identidade]
53
+ end
54
+
29
55
  end
@@ -25,4 +25,13 @@ class TestInstruction < Test::Unit::TestCase
25
25
  assert_equal String, instruction.to_xml.class
26
26
  end
27
27
 
28
+ def test_xml_format
29
+ payer = Fixture.payer
30
+ instruction = Fixture.instruction(payer)
31
+ expected_format = <<XML
32
+ <EnviarInstrucao><InstrucaoUnica TipoValidacao=\"Transparente\"><Razao>some payment_reason</Razao><Valores><Valor moeda=\"BRL\">100.00</Valor><Valor moeda=\"BRL\">200.00</Valor></Valores><IdProprio>your_own_instruction_id</IdProprio><Pagador><Nome>Juquinha da Rocha</Nome><Email>juquinha@rocha.com</Email><IdPagador>your_own_payer_id</IdPagador><EnderecoCobranca><Logradouro>Felipe Neri</Logradouro><Numero>406</Numero><Complemento>Sala 501</Complemento><Bairro>Auxiliadora</Bairro><Cidade>Porto Alegre</Cidade><Estado>RS</Estado><Pais>BRA</Pais><CEP>90440-150</CEP><TelefoneFixo>(51)3040-5060</TelefoneFixo></EnderecoCobranca></Pagador></InstrucaoUnica></EnviarInstrucao>
33
+ XML
34
+ assert_equal expected_format.rstrip, instruction.to_xml
35
+ end
36
+
28
37
  end
data/test/test_mymoip.rb CHANGED
@@ -1,13 +1,23 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestMymoip < Test::Unit::TestCase
4
+ def setup
5
+ @default_env = MyMoip.environment
6
+ @default_token = MyMoip.token
7
+ @default_key = MyMoip.key
8
+ end
9
+
10
+ def teardown
11
+ MyMoip.environment = @default_env
12
+ MyMoip.token = @default_token
13
+ MyMoip.key = @default_key
14
+ end
4
15
 
5
16
  def test_default_environment_is_sandbox
6
17
  assert_equal "sandbox", MyMoip.environment
7
18
  end
8
19
 
9
20
  def test_set_auth_configuration
10
- default_env = MyMoip.environment
11
21
  MyMoip.token = "my_token"
12
22
  MyMoip.key = "my_key"
13
23
  MyMoip.environment = "production"
@@ -17,8 +27,6 @@ class TestMymoip < Test::Unit::TestCase
17
27
  assert_equal "my_key", MyMoip.key
18
28
  assert_equal "production", MyMoip.environment
19
29
  assert_equal "http://localhost", MyMoip.default_referer_url
20
-
21
- MyMoip.environment = default_env
22
30
  end
23
31
 
24
32
  def test_choose_right_api_url_by_sandbox_environment
@@ -70,4 +70,29 @@ class TestPaymentRequest < Test::Unit::TestCase
70
70
  assert !request.success?
71
71
  end
72
72
 
73
+ def test_method_to_get_moip_code
74
+ instruction = Fixture.instruction(Fixture.payer)
75
+ transparent_request = MyMoip::TransparentRequest.new("your_own_id")
76
+ VCR.use_cassette('transparent_request') do
77
+ transparent_request.api_call(instruction)
78
+ end
79
+ credit_card_payment = MyMoip::CreditCardPayment.new(Fixture.credit_card, 1)
80
+ payment_request = MyMoip::PaymentRequest.new("your_own_id")
81
+ VCR.use_cassette('payment_request') do
82
+ payment_request.api_call(credit_card_payment, token: transparent_request.token)
83
+ end
84
+ assert_equal 95695, payment_request.code
85
+ end
86
+
87
+ def test_code_method_should_return_nil_with_blank_response
88
+ instruction = Fixture.instruction(Fixture.payer)
89
+ transparent_request = MyMoip::TransparentRequest.new("your_own_id")
90
+ VCR.use_cassette('transparent_request') do
91
+ transparent_request.api_call(instruction)
92
+ end
93
+ credit_card_payment = MyMoip::CreditCardPayment.new(Fixture.credit_card, 1)
94
+ payment_request = MyMoip::PaymentRequest.new("your_own_id")
95
+ assert_nil payment_request.code
96
+ end
97
+
73
98
  end
@@ -53,4 +53,12 @@ class TestTransparentRequest < Test::Unit::TestCase
53
53
  request = MyMoip::TransparentRequest.new("some_id")
54
54
  assert_equal nil, request.token
55
55
  end
56
+
57
+ def test_should_provide_the_transaction_id_get_by_the_request
58
+ request = MyMoip::TransparentRequest.new("some_id")
59
+ VCR.use_cassette('transparent_request') do
60
+ request.api_call(Fixture.instruction(Fixture.payer))
61
+ end
62
+ assert_equal "201210171118501100000001102691", request.id
63
+ end
56
64
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mymoip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-17 00:00:00.000000000 Z
12
+ date: 2012-10-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder
@@ -123,6 +123,38 @@ dependencies:
123
123
  - - ! '>='
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: vcr
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: webmock
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
126
158
  description: Provides a implementation of MoIP's transparent checkout.
127
159
  email: irio.musskopf@caixadeideias.com.br
128
160
  executables: []
@@ -132,7 +164,6 @@ extra_rdoc_files:
132
164
  - README.md
133
165
  files:
134
166
  - .document
135
- - .rvmrc
136
167
  - CHANGELOG.md
137
168
  - Gemfile
138
169
  - Gemfile.lock
@@ -146,12 +177,15 @@ files:
146
177
  - lib/mymoip/instruction.rb
147
178
  - lib/mymoip/json_parser.rb
148
179
  - lib/mymoip/payer.rb
149
- - lib/mymoip/payment_request.rb
150
180
  - lib/mymoip/request.rb
151
- - lib/mymoip/transparent_request.rb
181
+ - lib/mymoip/requests/payment_request.rb
182
+ - lib/mymoip/requests/transparent_request.rb
152
183
  - mymoip.gemspec
153
- - test/fixture.rb
184
+ - test/fixtures/fixture.rb
185
+ - test/fixtures/vcr_cassettes/payment_request.yml
186
+ - test/fixtures/vcr_cassettes/transparent_request.yml
154
187
  - test/helper.rb
188
+ - test/live_test.rb
155
189
  - test/test_credit_card_payment.rb
156
190
  - test/test_creditcard.rb
157
191
  - test/test_instruction.rb
@@ -175,7 +209,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
175
209
  version: '0'
176
210
  segments:
177
211
  - 0
178
- hash: 3414008061361615587
212
+ hash: 2414227471847759887
179
213
  required_rubygems_version: !ruby/object:Gem::Requirement
180
214
  none: false
181
215
  requirements:
data/.rvmrc DELETED
@@ -1,40 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # This is an RVM Project .rvmrc file, used to automatically load the ruby
4
- # development environment upon cd'ing into the directory
5
-
6
- # Specify our desired <ruby>[@<gemset>]
7
- environment_id="ruby-1.9.3-p194@mymoip"
8
-
9
- # First we attempt to load the desired environment directly from the environment
10
- # file. This is very fast and efficient compared to running through the entire
11
- # CLI and selector. If you want feedback on which environment was used then
12
- # insert the word 'use' after --create as this triggers verbose mode.
13
-
14
- if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
15
- && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
16
- then
17
- \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
18
-
19
- if [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]]
20
- then
21
- . "${rvm_path:-$HOME/.rvm}/hooks/after_use"
22
- fi
23
- else
24
- # If the environment file has not yet been created, use the RVM CLI to select.
25
- if ! rvm --create "$environment_id"
26
- then
27
- echo "Failed to create RVM environment '${environment_id}'."
28
- return 1
29
- fi
30
- fi
31
-
32
- # User feedback
33
-
34
- if [[ $- == *i* ]] # check for interactive shells
35
- then
36
- echo "Using: $(tput setaf 2)$GEM_HOME$(tput sgr0)" # show the user the ruby and gemset they are using in green
37
- else
38
- echo "Using: $GEM_HOME" # don't use colors in interactive shells
39
- fi
40
-