class Fnsapi::Ticket

Attributes

amount_cents[R]
fd[R]
fn[R]
pfd[R]
purchase_date[R]

Public Class Methods

new(object) click to toggle source
# File lib/fnsapi/ticket.rb, line 9
def initialize(object)
  %i[fn fd pfd amount_cents].each do |field_name|
    instance_variable_set("@#{field_name}", validated_field_value(object, field_name))
  end

  @purchase_date = validated_field_value(object, :purchase_date)
  @purchase_date = DateTime.parse(@purchase_date) if @purchase_date.is_a?(String)
  true
end

Private Instance Methods

validated_field_value(object, field) click to toggle source
# File lib/fnsapi/ticket.rb, line 22
def validated_field_value(object, field)
  value = if object.is_a?(Hash)
            object[field] || object[field.to_s]
          else
            object.public_send(field)
          end

  raise FieldNotSpecifiedError, "#{field} should be specified" if value.blank?

  value
end