tomriley-active_merchant 1.4.2.6 → 1.4.2.7

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.
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "active_merchant"
3
- s.version = "1.4.2.6"
3
+ s.version = "1.4.2.7"
4
4
  s.date = "2009-01-12"
5
5
  s.summary = "Active Merchant is a simple payment abstraction library used in and sponsored by Shopify."
6
6
  s.homepage = "http://www.activemerchant.org/"
@@ -112,8 +112,17 @@ module ActiveMerchant #:nodoc:
112
112
  def before_validate #:nodoc:
113
113
  self.month = month.to_i
114
114
  self.year = year.to_i
115
- self.start_month = start_month.to_i unless start_month.nil?
116
- self.start_year = start_year.to_i unless start_year.nil?
115
+ # Set start date to nil unless user provided one
116
+ if !start_month.nil? && !start_month.blank?
117
+ self.start_month = start_month.to_i
118
+ else
119
+ self.start_month = nil
120
+ end
121
+ if !start_year.nil? && !start_year.blank?
122
+ self.start_year = start_year.to_i
123
+ else
124
+ self.start_year = nil
125
+ end
117
126
  self.number = number.to_s.gsub(/[^\d]/, "")
118
127
  self.type.downcase! if type.respond_to?(:downcase)
119
128
  self.type = self.class.type?(number) if type.blank?
@@ -140,12 +149,9 @@ module ActiveMerchant #:nodoc:
140
149
  end
141
150
 
142
151
  def validate_switch_or_solo_attributes #:nodoc:
143
- if %w[switch solo].include?(type)
144
- unless valid_month?(@start_month) && valid_start_year?(@start_year) || valid_issue_number?(@issue_number)
145
- errors.add :start_month, "is invalid" unless valid_month?(@start_month)
146
- errors.add :start_year, "is invalid" unless valid_start_year?(@start_year)
147
- errors.add :issue_number, "cannot be empty" unless valid_issue_number?(@issue_number)
148
- end
152
+ if @start_month && @start_year
153
+ errors.add :start_month, "is invalid" unless valid_month?(@start_month)
154
+ errors.add :start_year, "is invalid" unless valid_start_year?(@start_year)
149
155
  end
150
156
  end
151
157
 
@@ -245,19 +245,17 @@ module ActiveMerchant #:nodoc:
245
245
  add_pair(post, :ExpiryDate, format_date(credit_card.month, credit_card.year), :required => true)
246
246
 
247
247
  start_date = format_date(credit_card.start_month, credit_card.start_year)
248
- add_pair(post, :StartDate, start_date) if start_date
248
+ if start_date
249
+ print "Adding StartDate #{start_date}\n"
250
+ add_pair(post, :StartDate, start_date)
251
+ end
249
252
 
250
253
  unless credit_card.issue_number.blank?
251
254
  issue_number = sprintf("%02d", credit_card.issue_number.to_i)
255
+ print "Adding IssueNumber #{issue_number}\n"
252
256
  add_pair(post, :IssueNumber, issue_number)
253
257
  end
254
258
 
255
- #if requires_start_date_or_issue_number?(credit_card)
256
- if credit_card.start_month && credit_card.start_year
257
- add_pair(post, :StartDate, format_date(credit_card.start_month, credit_card.start_year))
258
- end
259
- add_pair(post, :IssueNumber, credit_card.issue_number) if credit_card.issue_number
260
- #end
261
259
  add_pair(post, :CardType, map_card_type(credit_card))
262
260
 
263
261
  add_pair(post, :CV2, credit_card.verification_value)
@@ -282,7 +280,7 @@ module ActiveMerchant #:nodoc:
282
280
 
283
281
  # MMYY format
284
282
  def format_date(month, year)
285
- return nil if year.blank? || month.blank?
283
+ return nil if year.nil? || month.nil? || year.blank? || month.blank?
286
284
 
287
285
  year = sprintf("%.4i", year)
288
286
  month = sprintf("%.2i", month)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tomriley-active_merchant
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2.6
4
+ version: 1.4.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Luetke