pagseguro_catcher 0.0.3 → 0.0.4

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.
data/README.textile CHANGED
@@ -6,6 +6,22 @@ h2. Soon
6
6
 
7
7
  I'll describe how to use this one, but it's easy :-)
8
8
 
9
+ h2. TODO
10
+
11
+ h3. 0.1.0
12
+
13
+ * parse correctly all the sections of the return (items, sender, shipping are missing);
14
+ * implement a @method_missing@ in @::Transaction::Base@ to delegate to @#[]@
15
+
16
+ h3. 0.2.0
17
+
18
+ * implement a nice way to rescue the @::Checker#check@ method, when the request isn't successfull or the return is invalid
19
+
20
+ h3. 0.3.0:
21
+
22
+ * maybe some nice logs?
23
+
24
+
9
25
  h2. Contributing to pagseguro_catcher
10
26
 
11
27
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.4
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  module PagseguroCatcher
3
- #maybe YML?... this doesn't seem right...
3
+ XML_CHARSET = "ISO-8859-1"
4
4
 
5
5
  TRANSACTION_TYPES = {
6
6
  1 => "Pagamento",
@@ -0,0 +1,5 @@
1
+ class String
2
+ def utf8
3
+ Iconv.conv(PagseguroCatcher::XML_CHARSET, "UTF-8", self)
4
+ end
5
+ end
@@ -1,31 +1,30 @@
1
1
  module PagseguroCatcher
2
2
  module Transaction
3
3
 
4
- class Amount
5
- attr_accessor :body
4
+ class Amount < Transaction::Body
6
5
 
7
6
  def initialize(body)
8
7
  self.body = body
9
8
  end
10
9
 
11
10
  def gross
12
- self.body[:grossAmount].to_f
11
+ self[:grossAmount].to_f
13
12
  end
14
13
 
15
14
  def discount
16
- self.body[:discountAmount].to_f
15
+ self[:discountAmount].to_f
17
16
  end
18
17
 
19
18
  def fee
20
- self.body[:feeAmount].to_f
19
+ self[:feeAmount].to_f
21
20
  end
22
21
 
23
22
  def net
24
- self.body[:netAmount].to_f
23
+ self[:netAmount].to_f
25
24
  end
26
25
 
27
26
  def extra
28
- self.body[:extraAmount].to_f
27
+ self[:extraAmount].to_f
29
28
  end
30
29
 
31
30
  end
@@ -1,8 +1,8 @@
1
+ #p = PagseguroCatcher::Transaction::Base.new(File.open('spec/support/return.xml').read)
1
2
  module PagseguroCatcher
2
3
  module Transaction
3
4
 
4
- class Base
5
- attr_accessor :body
5
+ class Base < Transaction::Body
6
6
 
7
7
  def initialize(xml)
8
8
  self.body = Hash.from_xml(xml)["transaction"]
@@ -14,8 +14,23 @@ module PagseguroCatcher
14
14
  @amount
15
15
  end
16
16
 
17
- def [](param)
18
- self.body[param.to_sym]
17
+ def sender
18
+ @sender ||= PagseguroCatcher::Transaction::Sender.new(self.body)
19
+ @sender
20
+ end
21
+
22
+ def items
23
+ @items = []
24
+
25
+ self[:items][:item].each do |item|
26
+ @items << PagseguroCatcher::Transaction::Item.new(item)
27
+ end
28
+
29
+ @items
30
+ end
31
+
32
+ def each_item
33
+ self.items.each { |item| yield item }
19
34
  end
20
35
 
21
36
  def date
@@ -42,7 +57,7 @@ module PagseguroCatcher
42
57
  PAYMENT_CODES[self[:paymentMethod][:code].to_i]
43
58
  end
44
59
 
45
- #TODO - method missing
60
+ #TODO - items, shipping
46
61
 
47
62
  end
48
63
 
@@ -0,0 +1,16 @@
1
+ module PagseguroCatcher
2
+ module Transaction
3
+
4
+ class Item < Transaction::Body
5
+
6
+ def initialize(body)
7
+ self.body = body
8
+ end
9
+
10
+ def amount
11
+ self[:amount].to_f
12
+ end
13
+ end
14
+
15
+ end
16
+ end
@@ -0,0 +1,25 @@
1
+ module PagseguroCatcher
2
+ module Transaction
3
+
4
+ class Sender < Transaction::Body
5
+
6
+ def initialize(body)
7
+ self.body = body[:sender]
8
+ end
9
+
10
+ def name
11
+ self[:name]
12
+ end
13
+
14
+ def email
15
+ self[:email]
16
+ end
17
+
18
+ def phone
19
+ { :area => self[:phone][:areaCode], :number => self[:phone][:number] }
20
+ end
21
+
22
+ end
23
+
24
+ end
25
+ end
@@ -1,6 +1,23 @@
1
1
  module PagseguroCatcher
2
2
  module Transaction
3
+
4
+ class Body
5
+ attr_accessor :body
6
+
7
+ def [](param)
8
+ self.body[param.to_sym]
9
+ end
10
+
11
+ def method_missing(name, *args)
12
+ return self[name] if self.body.has_key?(name.to_sym)
13
+ super
14
+ end
15
+
16
+ end
17
+
3
18
  autoload :Base, 'pagseguro_catcher/transaction/base'
4
19
  autoload :Amount, 'pagseguro_catcher/transaction/amount'
20
+ autoload :Sender, 'pagseguro_catcher/transaction/sender'
21
+ autoload :Item, 'pagseguro_catcher/transaction/item'
5
22
  end
6
23
  end
@@ -3,6 +3,7 @@
3
3
 
4
4
  require "active_support/core_ext"
5
5
  require "pagseguro_catcher/core_ext/Hash"
6
+ require "pagseguro_catcher/core_ext/string"
6
7
  require "pagseguro_catcher/constants"
7
8
  require "pagseguro_catcher/transaction"
8
9
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{pagseguro_catcher}
8
- s.version = "0.0.3"
8
+ s.version = "0.0.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = [%q{Matias H. Leidemer}]
12
- s.date = %q{2011-10-11}
11
+ s.authors = ["Matias H. Leidemer"]
12
+ s.date = %q{2011-10-15}
13
13
  s.description = %q{This gem provides a simple way to check and parse the PagSeguro transaction notification.}
14
14
  s.email = %q{matiasleidemer@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -30,24 +30,30 @@ Gem::Specification.new do |s|
30
30
  "lib/pagseguro_catcher/checker.rb",
31
31
  "lib/pagseguro_catcher/constants.rb",
32
32
  "lib/pagseguro_catcher/core_ext/Hash.rb",
33
+ "lib/pagseguro_catcher/core_ext/string.rb",
33
34
  "lib/pagseguro_catcher/transaction.rb",
34
35
  "lib/pagseguro_catcher/transaction/amount.rb",
35
36
  "lib/pagseguro_catcher/transaction/base.rb",
37
+ "lib/pagseguro_catcher/transaction/item.rb",
38
+ "lib/pagseguro_catcher/transaction/sender.rb",
36
39
  "pagseguro_catcher.gemspec",
37
40
  "spec/checker_spec.rb",
38
41
  "spec/pagseguro_catcher_spec.rb",
39
42
  "spec/spec_helper.rb",
40
43
  "spec/support/return.xml",
41
44
  "spec/transaction/amount_spec.rb",
42
- "spec/transaction/base_spec.rb"
45
+ "spec/transaction/base_spec.rb",
46
+ "spec/transaction/item_spec.rb",
47
+ "spec/transaction/sender_spec.rb"
43
48
  ]
44
49
  s.homepage = %q{http://github.com/matiasleidemer/pagseguro_catcher}
45
- s.licenses = [%q{MIT}]
46
- s.require_paths = [%q{lib}]
47
- s.rubygems_version = %q{1.8.6}
50
+ s.licenses = ["MIT"]
51
+ s.require_paths = ["lib"]
52
+ s.rubygems_version = %q{1.3.7}
48
53
  s.summary = %q{A simple gem to parse PagSeguro transaction notification.}
49
54
 
50
55
  if s.respond_to? :specification_version then
56
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
51
57
  s.specification_version = 3
52
58
 
53
59
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
@@ -1,4 +1,4 @@
1
- <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
1
+ <?xml version="1.0" standalone="yes"?>
2
2
  <transaction>
3
3
  <date>2011-02-10T16:13:41.000-03:00</date>
4
4
  <code>9E884542-81B3-4419-9A75-BCC6FB495EF1</code>
@@ -14,38 +14,32 @@ describe "Amount" do
14
14
 
15
15
  describe "#gross" do
16
16
  it "returns the gross amount as a float" do
17
- amount.body[:grossAmount] = "49900.00"
18
17
  amount.gross.should == 49900.00
19
18
  end
20
19
  end
21
20
 
22
21
  describe "#discount" do
23
22
  it "returns the discount amount as a float" do
24
- amount.body[:discountAmount] = "900.00"
25
- amount.discount.should == 900.00
23
+ amount.discount.should == 0.00
26
24
  end
27
25
  end
28
26
 
29
27
  describe "#fee" do
30
28
  it "returns the fee amount as a float" do
31
- amount.body[:feeAmount] = "150.00"
32
- amount.fee.should == 150.00
29
+ amount.fee.should == 0.00
33
30
  end
34
31
  end
35
32
 
36
33
  describe "#net" do
37
34
  it "returns the net amount as a float" do
38
- amount.body[:netAmount] = "160.00"
39
- amount.net.should == 160.00
35
+ amount.net.should == 49900.00
40
36
  end
41
37
  end
42
38
 
43
39
  describe "#extra" do
44
40
  it "returns the extra amount as a float" do
45
- amount.body[:extraAmount] = "170.00"
46
- amount.extra.should == 170.00
41
+ amount.extra.should == 0.00
47
42
  end
48
43
  end
49
-
50
44
 
51
45
  end
@@ -25,6 +25,27 @@ describe "Transaction" do
25
25
  end
26
26
  end
27
27
 
28
+ describe "#sender" do
29
+ it "returns an Sender object" do
30
+ transaction.sender.should be_a(PagseguroCatcher::Transaction::Sender)
31
+ end
32
+ end
33
+
34
+ describe "#items" do
35
+ it "returns an array of items objects" do
36
+ transaction.items.should be_a(Array)
37
+ transaction.items.first.should be_a(PagseguroCatcher::Transaction::Item)
38
+ end
39
+ end
40
+
41
+ describe "#each_item" do
42
+ it "yields each item" do
43
+ transaction.each_item do |item|
44
+ item.should be_a(PagseguroCatcher::Transaction::Item)
45
+ end
46
+ end
47
+ end
48
+
28
49
  describe "#date" do
29
50
  it "returns the date response as a DateTime object" do
30
51
  transaction.body[:date] = "2011-02-10T16:13:41.000-03:00"
@@ -32,7 +53,7 @@ describe "Transaction" do
32
53
  end
33
54
  end
34
55
 
35
- describe "#last_even_date" do
56
+ describe "#last_event_date" do
36
57
  it "returns the last event date response as a DateTime object" do
37
58
  transaction.body[:lastEventDate] = "2011-10-04T15:48:59.000-03:00"
38
59
  transaction.last_event_date.should == DateTime.new(2011, 10, 04, 15, 48, 59, "-03:00")
@@ -54,17 +75,29 @@ describe "Transaction" do
54
75
  end
55
76
 
56
77
  describe "#payment_method_type" do
57
- it "return the human value for the payment method" do
78
+ it "returns the human value for the payment method" do
58
79
  transaction.body[:paymentMethod][:type] = "1"
59
80
  transaction.payment_method_type.should == "Cartão de crédito"
60
81
  end
61
82
  end
62
83
 
63
84
  describe "#payment_method_code" do
64
- it "return the human value for the payment method" do
85
+ it "returns the human value for the payment method" do
65
86
  transaction.body[:paymentMethod][:code] = "101"
66
87
  transaction.payment_method_code.should == "Cartão de crédito Visa"
67
88
  end
68
89
  end
69
90
 
91
+ describe "#method_missing" do
92
+ it "tries to run #[] with the method name" do
93
+ transaction.should_not respond_to :installmentCount
94
+ transaction.installmentCount.should == "1"
95
+ end
96
+
97
+ it "raises exception if the parameter does not exist" do
98
+ transaction.should_not respond_to :non_existant_method
99
+ lambda { transaction.non_existant_method }.should raise_error(NoMethodError)
100
+ end
101
+ end
102
+
70
103
  end
@@ -0,0 +1,21 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe "Item" do
4
+
5
+ let(:xml) { File.open(File.expand_path(File.dirname(__FILE__) + '/../support/return.xml')).read }
6
+ let(:transaction) { PagseguroCatcher::Transaction::Base.new(xml) }
7
+ let(:item) { PagseguroCatcher::Transaction::Item.new(transaction[:items][:item].first) }
8
+
9
+ describe ".initialize" do
10
+ it "assigns the body" do
11
+ item.body.should be_a(Hash)
12
+ end
13
+ end
14
+
15
+ describe "#amount" do
16
+ it "returns the amount as a float" do
17
+ item.amount.should == 24300.00
18
+ end
19
+ end
20
+
21
+ end
@@ -0,0 +1,36 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
3
+
4
+ describe "Sender" do
5
+
6
+ let(:xml) { File.open(File.expand_path(File.dirname(__FILE__) + '/../support/return.xml')).read }
7
+ let(:transaction) { PagseguroCatcher::Transaction::Base.new(xml) }
8
+ let(:sender) { PagseguroCatcher::Transaction::Sender.new(transaction.body) }
9
+
10
+ describe ".initialize" do
11
+ it "assigns the body" do
12
+ sender.body.should be_a(Hash)
13
+ end
14
+ end
15
+
16
+ describe "#name" do
17
+ it "returns the senders name" do
18
+ sender.name.should eql "José Comprador"
19
+ end
20
+ end
21
+
22
+ describe "#email" do
23
+ it "returns the senders email" do
24
+ sender.email.should eql "comprador@uol.com.br"
25
+ end
26
+ end
27
+
28
+ describe "#phone" do
29
+ it "returns the senders phone" do
30
+ phone = sender.phone
31
+ phone.should == { :area => "11", :number => "56273440" }
32
+ end
33
+ end
34
+
35
+
36
+ end
metadata CHANGED
@@ -1,113 +1,151 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: pagseguro_catcher
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 4
10
+ version: 0.0.4
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Matias H. Leidemer
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2011-10-11 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2011-10-15 00:00:00 -03:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ type: :runtime
23
+ prerelease: false
15
24
  name: httparty
16
- requirement: &70216239563300 !ruby/object:Gem::Requirement
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
17
26
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
22
36
  type: :runtime
23
37
  prerelease: false
24
- version_requirements: *70216239563300
25
- - !ruby/object:Gem::Dependency
26
38
  name: activesupport
27
- requirement: &70216239562580 !ruby/object:Gem::Requirement
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
28
40
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ requirement: *id002
49
+ - !ruby/object:Gem::Dependency
33
50
  type: :runtime
34
51
  prerelease: false
35
- version_requirements: *70216239562580
36
- - !ruby/object:Gem::Dependency
37
52
  name: i18n
38
- requirement: &70216239561880 !ruby/object:Gem::Requirement
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
39
54
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
44
- type: :runtime
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ requirement: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ type: :development
45
65
  prerelease: false
46
- version_requirements: *70216239561880
47
- - !ruby/object:Gem::Dependency
48
66
  name: rspec
49
- requirement: &70216239561360 !ruby/object:Gem::Requirement
67
+ version_requirements: &id004 !ruby/object:Gem::Requirement
50
68
  none: false
51
- requirements:
69
+ requirements:
52
70
  - - ~>
53
- - !ruby/object:Gem::Version
71
+ - !ruby/object:Gem::Version
72
+ hash: 3
73
+ segments:
74
+ - 2
75
+ - 3
76
+ - 0
54
77
  version: 2.3.0
78
+ requirement: *id004
79
+ - !ruby/object:Gem::Dependency
55
80
  type: :development
56
81
  prerelease: false
57
- version_requirements: *70216239561360
58
- - !ruby/object:Gem::Dependency
59
82
  name: bundler
60
- requirement: &70216239560820 !ruby/object:Gem::Requirement
83
+ version_requirements: &id005 !ruby/object:Gem::Requirement
61
84
  none: false
62
- requirements:
85
+ requirements:
63
86
  - - ~>
64
- - !ruby/object:Gem::Version
87
+ - !ruby/object:Gem::Version
88
+ hash: 23
89
+ segments:
90
+ - 1
91
+ - 0
92
+ - 0
65
93
  version: 1.0.0
94
+ requirement: *id005
95
+ - !ruby/object:Gem::Dependency
66
96
  type: :development
67
97
  prerelease: false
68
- version_requirements: *70216239560820
69
- - !ruby/object:Gem::Dependency
70
98
  name: jeweler
71
- requirement: &70216239560220 !ruby/object:Gem::Requirement
99
+ version_requirements: &id006 !ruby/object:Gem::Requirement
72
100
  none: false
73
- requirements:
101
+ requirements:
74
102
  - - ~>
75
- - !ruby/object:Gem::Version
103
+ - !ruby/object:Gem::Version
104
+ hash: 7
105
+ segments:
106
+ - 1
107
+ - 6
108
+ - 4
76
109
  version: 1.6.4
110
+ requirement: *id006
111
+ - !ruby/object:Gem::Dependency
77
112
  type: :development
78
113
  prerelease: false
79
- version_requirements: *70216239560220
80
- - !ruby/object:Gem::Dependency
81
114
  name: rcov
82
- requirement: &70216239559400 !ruby/object:Gem::Requirement
115
+ version_requirements: &id007 !ruby/object:Gem::Requirement
83
116
  none: false
84
- requirements:
85
- - - ! '>='
86
- - !ruby/object:Gem::Version
87
- version: '0'
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ hash: 3
121
+ segments:
122
+ - 0
123
+ version: "0"
124
+ requirement: *id007
125
+ - !ruby/object:Gem::Dependency
88
126
  type: :development
89
127
  prerelease: false
90
- version_requirements: *70216239559400
91
- - !ruby/object:Gem::Dependency
92
128
  name: fakeweb
93
- requirement: &70216239558560 !ruby/object:Gem::Requirement
129
+ version_requirements: &id008 !ruby/object:Gem::Requirement
94
130
  none: false
95
- requirements:
96
- - - ! '>='
97
- - !ruby/object:Gem::Version
98
- version: '0'
99
- type: :development
100
- prerelease: false
101
- version_requirements: *70216239558560
102
- description: This gem provides a simple way to check and parse the PagSeguro transaction
103
- notification.
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ hash: 3
135
+ segments:
136
+ - 0
137
+ version: "0"
138
+ requirement: *id008
139
+ description: This gem provides a simple way to check and parse the PagSeguro transaction notification.
104
140
  email: matiasleidemer@gmail.com
105
141
  executables: []
142
+
106
143
  extensions: []
107
- extra_rdoc_files:
144
+
145
+ extra_rdoc_files:
108
146
  - LICENSE.txt
109
147
  - README.textile
110
- files:
148
+ files:
111
149
  - .document
112
150
  - .rspec
113
151
  - .travis.yml
@@ -121,9 +159,12 @@ files:
121
159
  - lib/pagseguro_catcher/checker.rb
122
160
  - lib/pagseguro_catcher/constants.rb
123
161
  - lib/pagseguro_catcher/core_ext/Hash.rb
162
+ - lib/pagseguro_catcher/core_ext/string.rb
124
163
  - lib/pagseguro_catcher/transaction.rb
125
164
  - lib/pagseguro_catcher/transaction/amount.rb
126
165
  - lib/pagseguro_catcher/transaction/base.rb
166
+ - lib/pagseguro_catcher/transaction/item.rb
167
+ - lib/pagseguro_catcher/transaction/sender.rb
127
168
  - pagseguro_catcher.gemspec
128
169
  - spec/checker_spec.rb
129
170
  - spec/pagseguro_catcher_spec.rb
@@ -131,32 +172,41 @@ files:
131
172
  - spec/support/return.xml
132
173
  - spec/transaction/amount_spec.rb
133
174
  - spec/transaction/base_spec.rb
175
+ - spec/transaction/item_spec.rb
176
+ - spec/transaction/sender_spec.rb
177
+ has_rdoc: true
134
178
  homepage: http://github.com/matiasleidemer/pagseguro_catcher
135
- licenses:
179
+ licenses:
136
180
  - MIT
137
181
  post_install_message:
138
182
  rdoc_options: []
139
- require_paths:
183
+
184
+ require_paths:
140
185
  - lib
141
- required_ruby_version: !ruby/object:Gem::Requirement
186
+ required_ruby_version: !ruby/object:Gem::Requirement
142
187
  none: false
143
- requirements:
144
- - - ! '>='
145
- - !ruby/object:Gem::Version
146
- version: '0'
147
- segments:
188
+ requirements:
189
+ - - ">="
190
+ - !ruby/object:Gem::Version
191
+ hash: 3
192
+ segments:
148
193
  - 0
149
- hash: -4499129393277897347
150
- required_rubygems_version: !ruby/object:Gem::Requirement
194
+ version: "0"
195
+ required_rubygems_version: !ruby/object:Gem::Requirement
151
196
  none: false
152
- requirements:
153
- - - ! '>='
154
- - !ruby/object:Gem::Version
155
- version: '0'
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ hash: 3
201
+ segments:
202
+ - 0
203
+ version: "0"
156
204
  requirements: []
205
+
157
206
  rubyforge_project:
158
- rubygems_version: 1.8.6
207
+ rubygems_version: 1.3.7
159
208
  signing_key:
160
209
  specification_version: 3
161
210
  summary: A simple gem to parse PagSeguro transaction notification.
162
211
  test_files: []
212
+