class ScoutMetrics::User
Attributes
active[RW]
id[RW]
return_date[RW]
signup_date[RW]
Public Class Methods
find(id)
click to toggle source
Create a User
record with the id passed in for posting to Scout Metrics
# File lib/scoutmetrics/user.rb, line 8 def self.find(id) new(id: id) end
new(params)
click to toggle source
# File lib/scoutmetrics/user.rb, line 12 def initialize(params) self.id = params[:id] self.signup_date = params[:signup_date] self.return_date = params[:return_date] self.active = params[:active] end
Public Instance Methods
activate()
click to toggle source
Activate an “AppUser” on Scout Metrics (Should we also reset their signup_date
& return_date
?)
# File lib/scoutmetrics/user.rb, line 42 def activate self.active = true save end
deactivate()
click to toggle source
Deactivate an “AppUser” on Scout Metrics
# File lib/scoutmetrics/user.rb, line 48 def deactivate self.active = false save end
report_login(return_date=nil)
click to toggle source
Tells Scout Metrics the latest login date for this “AppUser”
# File lib/scoutmetrics/user.rb, line 35 def report_login(return_date=nil) self.return_date = return_date || Time.new save end
save()
click to toggle source
Override save method to post the information to Scout Metrics
# File lib/scoutmetrics/user.rb, line 20 def save params = {} params[:signup_date] = signup_date if field_present?(signup_date) params[:return_date] = return_date if field_present?(return_date) params[:active] = active if field_present?(active) post_update(id, params) end
signup(signup_date=nil)
click to toggle source
Posts signup date for this user (if it doesn’t exist yet the “AppUser” will be created)
# File lib/scoutmetrics/user.rb, line 29 def signup(signup_date=nil) self.signup_date = signup_date || Time.new save end
Private Instance Methods
field_blank?(field)
click to toggle source
# File lib/scoutmetrics/user.rb, line 55 def field_blank?(field) field.nil?# || field.empty? end
field_present?(field)
click to toggle source
# File lib/scoutmetrics/user.rb, line 59 def field_present?(field) !field_blank?(field) end
post_update(id, params)
click to toggle source
@return [Json] Returns a msg for the transaction and the status of the request @return msg explanation of outcome
# File lib/scoutmetrics/user.rb, line 65 def post_update(id, params) ScoutMetrics::Request.new(:put, "/app_users/#{id}", { app_user: params }) end