class IronBank::User
A Zuora user, only available if the user data has been exported and provided to IronBank
through the `users_file` configuration option.
Constants
- FIELDS
- US_DATE_FORMAT
Attributes
attributes[R]
Public Class Methods
all()
click to toggle source
# File lib/iron_bank/user.rb, line 35 def all store.values end
find(user_id)
click to toggle source
# File lib/iron_bank/user.rb, line 39 def find(user_id) store[user_id] || raise(IronBank::NotFoundError, "user id: #{user_id}") end
load_records()
click to toggle source
# File lib/iron_bank/user.rb, line 29 def load_records CSV.foreach(users_file, headers: true).with_object({}) do |row, store| store[row["User ID"]] = new(row.to_h.compact) end end
new(attributes)
click to toggle source
# File lib/iron_bank/user.rb, line 76 def initialize(attributes) @attributes = attributes end
store()
click to toggle source
# File lib/iron_bank/user.rb, line 16 def store return {} unless users_file @store ||= begin if File.exist?(users_file) load_records else IronBank.logger.warn "File does not exist: #{users_file}" {} end end end
Public Instance Methods
created_on()
click to toggle source
# File lib/iron_bank/user.rb, line 90 def created_on @created_on ||= Date.strptime(attributes["Created On"], US_DATE_FORMAT) end
inspect()
click to toggle source
# File lib/iron_bank/user.rb, line 80 def inspect ruby_id = "#{self.class.name}:0x#{(object_id << 1).to_s(16)} id=\"#{id}\"" "#<#{ruby_id} user_name=\"#{user_name}\">" end
last_login()
click to toggle source
# File lib/iron_bank/user.rb, line 86 def last_login @last_login ||= Date.strptime(attributes["Last Login"], US_DATE_FORMAT) end