class Moip::BillingInfo
Attributes
expiration_month[RW]
expiration_year[RW]
holder_name[RW]
number[RW]
Public Instance Methods
attributes()
click to toggle source
# File lib/moip/models/billing_info.rb, line 62 def attributes { "holder_name" => holder_name, "number" => number, "expiration_month" => expiration_month, "expiration_year" => expiration_year } end
build_update()
click to toggle source
# File lib/moip/models/billing_info.rb, line 71 def build_update { :credit_card => self.serializable_hash } end
patterns()
click to toggle source
pattens validates kind of cards where is invalid in some cases like: E.g.: 4444 5555 4444 6666, 1111 8888 4444 5555, 5555 6666 9999 7777 has 10000 combinations
# File lib/moip/models/billing_info.rb, line 44 def patterns @@patterns ||= [] if @@patterns.size == 0 for i in 0..9 for j in 0..9 for k in 0..9 for l in 0..9 @@patterns << Regexp.new("[#{i}]{4}[#{j}]{4}[#{k}]{4}[#{l}]{4}") end end end end end @@patterns end
to_hash()
click to toggle source
# File lib/moip/models/billing_info.rb, line 80 def to_hash { :credit_card => self.serializable_hash } end
to_json()
click to toggle source
# File lib/moip/models/billing_info.rb, line 75 def to_json hash = { :credit_card => self.serializable_hash } hash.to_json end
valida_numero_cartao()
click to toggle source
# File lib/moip/models/billing_info.rb, line 34 def valida_numero_cartao patterns.each do |pattern| self.errors.add :number, I18n.t("moip.errors.invalid_card_number") and return if @number.to_s.match pattern false end end
validates_format_of_expiration_month()
click to toggle source
# File lib/moip/models/billing_info.rb, line 26 def validates_format_of_expiration_month if self.expiration_month.to_s.match /[0-9]{2}/ true else self.errors.add :expiration_month, I18n.t("moip.errors.invalid_expiration_month") end end
validates_format_of_expiration_year()
click to toggle source
# File lib/moip/models/billing_info.rb, line 18 def validates_format_of_expiration_year if self.expiration_year.to_s.match /[0-9]{2}/ true else self.errors.add :expiration_year, I18n.t("moip.errors.invalid_expiration_year") end end
validates_format_of_number()
click to toggle source
# File lib/moip/models/billing_info.rb, line 10 def validates_format_of_number if self.number.to_s.match /[0-9]{16}/ true else self.errors.add :number, I18n.t("moip.errors.invalid_card_number") end end