class ElectricProfile::Reward
Constants
- TYPES
Attributes
amount[RW]
autoClaim[RW]
autoDeliver[RW]
currency[RW]
customerId[RW]
delivered[RW]
deliveryErrors[RW]
error[RW]
id[RW]
recipientEmail[RW]
recipientId[RW]
rewardProfileId[RW]
transactionId[RW]
type[RW]
Public Class Methods
all()
click to toggle source
# File lib/electric_profile_ruby/reward.rb, line 99 def self.all client = Client.new if client.fetch_rewards client.data["Items"].map { |atts| new atts } else raise StandardError, client.error end end
find(id)
click to toggle source
# File lib/electric_profile_ruby/reward.rb, line 90 def self.find(id) client = Client.new if client.fetch_reward(id) new client.data else raise StandardError, client.error end end
new(atts)
click to toggle source
# File lib/electric_profile_ruby/reward.rb, line 7 def initialize(atts) atts = atts.inject({}){ |memo, (k, v) | memo[k.to_sym] = v; memo } @id = atts[:id] @customerId = atts[:customerId] @rewardProfileId = atts[:rewardProfileId] @amount = atts[:amount] @currency = atts[:currency] @type = atts[:type] @recipientEmail = atts[:recipientEmail] @recipientId = atts[:recipientId] @autoClaim = atts[:autoClaim] @autoDeliver = atts[:autoDeliver] @delivered = atts[:delivered] @deliveryErrors = atts[:deliveryErrors] @transactionId = atts[:transactionId] end
Public Instance Methods
initialize_client()
click to toggle source
# File lib/electric_profile_ruby/reward.rb, line 108 def initialize_client @client ||= Client.new end
queue_delivery()
click to toggle source
# File lib/electric_profile_ruby/reward.rb, line 80 def queue_delivery initialize_client if @client.queue_reward_delivery(@id) true else @error = @client.error false end end
save()
click to toggle source
# File lib/electric_profile_ruby/reward.rb, line 24 def save if @id save_existing else save_new end end
save_existing()
click to toggle source
# File lib/electric_profile_ruby/reward.rb, line 55 def save_existing initialize_client attributes = { id: @id, customerId: @customerId, rewardProfileId: @rewardProfileId, amount: @amount, currency: @currency, type: @type, recipientEmail: @recipientEmail, recipientId: @recipientId, autoClaim: @autoClaim, autoDeliver: @autoDeliver, delivered: @delivered, deliveryErrors: @deliveryErrors, transactionId: @transactionId } if @client.update_reward(attributes) true else @error = @client.error false end end
save_new()
click to toggle source
# File lib/electric_profile_ruby/reward.rb, line 32 def save_new initialize_client attributes = { rewardProfileId: @rewardProfileId, amount: @amount, currency: @currency, type: @type, recipientEmail: @recipientEmail, recipientId: @recipientId, autoClaim: @autoClaim, autoDeliver: @autoDeliver } attributes = attributes.delete_if { |k, v| v.nil? } if @client.create_reward(attributes) @id = @client.data["data"]["id"] @customerId = @client.data["data"]["customerId"] true else @error = @client.error false end end