piggybak 0.4.10 → 0.4.11

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/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: