piggybak 0.4.10 → 0.4.11

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.10
1
+ 0.4.11
@@ -43,7 +43,8 @@ module Piggybak
43
43
  gateway_response = gateway.authorize(self.order.total_due*100, p_credit_card, :address => self.order.avs_address)
44
44
  if gateway_response.success?
45
45
  self.attributes = { :total => self.order.total_due,
46
- :transaction_id => payment_gateway.transaction_id(gateway_response) }
46
+ :transaction_id => payment_gateway.transaction_id(gateway_response),
47
+ :masked_number => mask_number(self.number) }
47
48
  gateway.capture(self.order.total_due*100, gateway_response.authorization, { :credit_card => p_credit_card } )
48
49
  return true
49
50
  else
@@ -55,6 +56,15 @@ module Piggybak
55
56
  end
56
57
  end
57
58
 
59
+ def mask_number(number)
60
+ masked_number = ''
61
+ if number.gsub(/\D+/i, '').match(/^(\d\d)(.+)(\d\d\d\d)$/)
62
+ masked_number = $1 + $2.length.times.inject('') { |s, i| "#{s}*" } + $3
63
+ end
64
+
65
+ masked_number
66
+ end
67
+
58
68
  # TODO: Add refund support at some point
59
69
  # Note: It is not added now, because for methods that do not store
60
70
  # user profiles, a credit card number must be passed
@@ -0,0 +1,9 @@
1
+ class AddMaskedCreditCardNumbers < ActiveRecord::Migration
2
+ def up
3
+ add_column :payments, :masked_number, :string, :nil => false
4
+ end
5
+
6
+ def down
7
+ remove_column :payments, :masked_number
8
+ end
9
+ end
@@ -66,16 +66,23 @@ module Piggybak
66
66
  field :payments
67
67
  end
68
68
  list do
69
- field :status
69
+ field :id
70
+ field :billing_address do
71
+ label "Billing Name"
72
+ pretty_value do
73
+ "#{value.lastname}, #{value.firstname}"
74
+ end
75
+ searchable [:firstname, :lastname]
76
+ end
70
77
  field :total do
71
78
  formatted_value do
72
79
  "$%.2f" % value
73
80
  end
74
81
  end
75
82
  field :created_at do
76
- #strftime_format "%d-%m-%Y"
83
+ strftime_format "%d-%m-%Y"
77
84
  end
78
- field :user
85
+ field :status
79
86
  end
80
87
  edit do
81
88
  field :details do
@@ -150,7 +157,9 @@ module Piggybak
150
157
 
151
158
  edit do
152
159
  field :shipping_method
153
- field :status
160
+ field :status do
161
+ label "Shipping Status"
162
+ end
154
163
  field :total do
155
164
  read_only true
156
165
  formatted_value do
@@ -171,6 +180,16 @@ module Piggybak
171
180
  !bindings[:object].new_record?
172
181
  end
173
182
  end
183
+ field :masked_number do
184
+ help "Required"
185
+ label "Number"
186
+ visible do
187
+ !bindings[:object].new_record?
188
+ end
189
+ read_only do
190
+ !bindings[:object].new_record?
191
+ end
192
+ end
174
193
  field :number do
175
194
  help "Required"
176
195
  visible do
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "piggybak"
8
- s.version = "0.4.10"
8
+ s.version = "0.4.11"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Steph Skardal", "Brian Buchalter"]
12
- s.date = "2012-07-13"
12
+ s.date = "2012-07-16"
13
13
  s.description = "Mountable ecommerce"
14
14
  s.email = "steph@endpoint.com"
15
15
  s.extra_rdoc_files = [
@@ -89,6 +89,7 @@ Gem::Specification.new do |s|
89
89
  "db/migrate/20120111195534_drop_cc_fields.rb",
90
90
  "db/migrate/20120627144001_add_price_to_line_item.rb",
91
91
  "db/migrate/20120627173754_add_description_to_line_item.rb",
92
+ "db/migrate/20120716191225_add_masked_credit_card_numbers.rb",
92
93
  "lib/acts_as_orderer.rb",
93
94
  "lib/acts_as_variant.rb",
94
95
  "lib/currency.rb",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: piggybak
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.10
4
+ version: 0.4.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-07-13 00:00:00.000000000 Z
13
+ date: 2012-07-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: countries
17
- requirement: &24909740 !ruby/object:Gem::Requirement
17
+ requirement: &26335260 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *24909740
25
+ version_requirements: *26335260
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: bundler
28
- requirement: &24906780 !ruby/object:Gem::Requirement
28
+ requirement: &26334360 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.0.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *24906780
36
+ version_requirements: *26334360
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: jeweler
39
- requirement: &24921420 !ruby/object:Gem::Requirement
39
+ requirement: &26332760 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.6.4
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *24921420
47
+ version_requirements: *26332760
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rspec
50
- requirement: &24920000 !ruby/object:Gem::Requirement
50
+ requirement: &26332060 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *24920000
58
+ version_requirements: *26332060
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rspec-rails
61
- requirement: &24931620 !ruby/object:Gem::Requirement
61
+ requirement: &26331540 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 2.7.0
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *24931620
69
+ version_requirements: *26331540
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: factory_girl
72
- requirement: &24941620 !ruby/object:Gem::Requirement
72
+ requirement: &26330460 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: '0'
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *24941620
80
+ version_requirements: *26330460
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: diff-lcs
83
- requirement: &24935380 !ruby/object:Gem::Requirement
83
+ requirement: &26343900 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '0'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *24935380
91
+ version_requirements: *26343900
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: shoulda
94
- requirement: &24949200 !ruby/object:Gem::Requirement
94
+ requirement: &26342820 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *24949200
102
+ version_requirements: *26342820
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: simplecov
105
- requirement: &24960520 !ruby/object:Gem::Requirement
105
+ requirement: &26341260 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '0'
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *24960520
113
+ version_requirements: *26341260
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: tzinfo
116
- requirement: &25153760 !ruby/object:Gem::Requirement
116
+ requirement: &26339200 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: '0'
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *25153760
124
+ version_requirements: *26339200
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: devise
127
- requirement: &25152260 !ruby/object:Gem::Requirement
127
+ requirement: &26338160 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ! '>='
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *25152260
135
+ version_requirements: *26338160
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: rails_admin
138
- requirement: &25151060 !ruby/object:Gem::Requirement
138
+ requirement: &26337580 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ! '>='
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: '0'
144
144
  type: :runtime
145
145
  prerelease: false
146
- version_requirements: *25151060
146
+ version_requirements: *26337580
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: devise
149
- requirement: &25149780 !ruby/object:Gem::Requirement
149
+ requirement: &26352740 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ! '>='
@@ -154,10 +154,10 @@ dependencies:
154
154
  version: '0'
155
155
  type: :runtime
156
156
  prerelease: false
157
- version_requirements: *25149780
157
+ version_requirements: *26352740
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: activemerchant
160
- requirement: &25256700 !ruby/object:Gem::Requirement
160
+ requirement: &26352140 !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
163
  - - ! '>='
@@ -165,10 +165,10 @@ dependencies:
165
165
  version: '0'
166
166
  type: :runtime
167
167
  prerelease: false
168
- version_requirements: *25256700
168
+ version_requirements: *26352140
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: countries
171
- requirement: &25255240 !ruby/object:Gem::Requirement
171
+ requirement: &26351600 !ruby/object:Gem::Requirement
172
172
  none: false
173
173
  requirements:
174
174
  - - ! '>='
@@ -176,10 +176,10 @@ dependencies:
176
176
  version: '0'
177
177
  type: :runtime
178
178
  prerelease: false
179
- version_requirements: *25255240
179
+ version_requirements: *26351600
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: rspec
182
- requirement: &25252880 !ruby/object:Gem::Requirement
182
+ requirement: &26350880 !ruby/object:Gem::Requirement
183
183
  none: false
184
184
  requirements:
185
185
  - - ! '>='
@@ -187,10 +187,10 @@ dependencies:
187
187
  version: '0'
188
188
  type: :development
189
189
  prerelease: false
190
- version_requirements: *25252880
190
+ version_requirements: *26350880
191
191
  - !ruby/object:Gem::Dependency
192
192
  name: rspec-rails
193
- requirement: &25252040 !ruby/object:Gem::Requirement
193
+ requirement: &26350240 !ruby/object:Gem::Requirement
194
194
  none: false
195
195
  requirements:
196
196
  - - ! '>='
@@ -198,10 +198,10 @@ dependencies:
198
198
  version: '0'
199
199
  type: :development
200
200
  prerelease: false
201
- version_requirements: *25252040
201
+ version_requirements: *26350240
202
202
  - !ruby/object:Gem::Dependency
203
203
  name: diff-lcs
204
- requirement: &25250900 !ruby/object:Gem::Requirement
204
+ requirement: &26349660 !ruby/object:Gem::Requirement
205
205
  none: false
206
206
  requirements:
207
207
  - - ! '>='
@@ -209,10 +209,10 @@ dependencies:
209
209
  version: '0'
210
210
  type: :development
211
211
  prerelease: false
212
- version_requirements: *25250900
212
+ version_requirements: *26349660
213
213
  - !ruby/object:Gem::Dependency
214
214
  name: factory_girl
215
- requirement: &25327980 !ruby/object:Gem::Requirement
215
+ requirement: &26349160 !ruby/object:Gem::Requirement
216
216
  none: false
217
217
  requirements:
218
218
  - - ! '>='
@@ -220,10 +220,10 @@ dependencies:
220
220
  version: '0'
221
221
  type: :development
222
222
  prerelease: false
223
- version_requirements: *25327980
223
+ version_requirements: *26349160
224
224
  - !ruby/object:Gem::Dependency
225
225
  name: shoulda
226
- requirement: &25327000 !ruby/object:Gem::Requirement
226
+ requirement: &26348480 !ruby/object:Gem::Requirement
227
227
  none: false
228
228
  requirements:
229
229
  - - ! '>='
@@ -231,7 +231,7 @@ dependencies:
231
231
  version: '0'
232
232
  type: :development
233
233
  prerelease: false
234
- version_requirements: *25327000
234
+ version_requirements: *26348480
235
235
  description: Mountable ecommerce
236
236
  email: steph@endpoint.com
237
237
  executables: []
@@ -312,6 +312,7 @@ files:
312
312
  - db/migrate/20120111195534_drop_cc_fields.rb
313
313
  - db/migrate/20120627144001_add_price_to_line_item.rb
314
314
  - db/migrate/20120627173754_add_description_to_line_item.rb
315
+ - db/migrate/20120716191225_add_masked_credit_card_numbers.rb
315
316
  - lib/acts_as_orderer.rb
316
317
  - lib/acts_as_variant.rb
317
318
  - lib/currency.rb
@@ -389,7 +390,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
389
390
  version: '0'
390
391
  segments:
391
392
  - 0
392
- hash: -1229025810988730530
393
+ hash: 650660779448356910
393
394
  required_rubygems_version: !ruby/object:Gem::Requirement
394
395
  none: false
395
396
  requirements: