Class: ScoutMetrics::User

Inherits:
Object
  • Object
show all
Defined in:
lib/scoutmetrics/user.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ User

Returns a new instance of User.



12
13
14
15
16
17
# File 'lib/scoutmetrics/user.rb', line 12

def initialize(params)
  self.id = params[:id]
  self. = params[:signup_date]
  self.return_date = params[:return_date]
  self.active = params[:active]
end

Instance Attribute Details

#activeObject

Returns the value of attribute active.



5
6
7
# File 'lib/scoutmetrics/user.rb', line 5

def active
  @active
end

#idObject

Returns the value of attribute id.



5
6
7
# File 'lib/scoutmetrics/user.rb', line 5

def id
  @id
end

#return_dateObject

Returns the value of attribute return_date.



5
6
7
# File 'lib/scoutmetrics/user.rb', line 5

def return_date
  @return_date
end

#signup_dateObject

Returns the value of attribute signup_date.



5
6
7
# File 'lib/scoutmetrics/user.rb', line 5

def 
  @signup_date
end

Class Method Details

.find(id) ⇒ Object

Create a User record with the id passed in for posting to Scout Metrics



8
9
10
# File 'lib/scoutmetrics/user.rb', line 8

def self.find(id)
  new(id: id)
end

Instance Method Details

#activateObject

Activate an “AppUser” on Scout Metrics (Should we also reset their signup_date & return_date?)



38
39
40
41
# File 'lib/scoutmetrics/user.rb', line 38

def activate
  self.active = true
  save
end

#deactivateObject

Deactivate an “AppUser” on Scout Metrics



44
45
46
47
# File 'lib/scoutmetrics/user.rb', line 44

def deactivate
  self.active = false
  save
end

#report_login(return_date = nil) ⇒ Object

Tells Scout Metrics the latest login date for this “AppUser”



31
32
33
34
# File 'lib/scoutmetrics/user.rb', line 31

def (return_date=nil)
  self.return_date = return_date || Time.new
  save
end

#saveObject

Override save method to post the information to Scout Metrics



20
21
22
# File 'lib/scoutmetrics/user.rb', line 20

def save
  post_update(id, { signup_date: , return_date: return_date, active: active })
end

#signup(signup_date = nil) ⇒ Object

Posts signup date for this user (if it doesn’t exist yet the “AppUser” will be created)



25
26
27
28
# File 'lib/scoutmetrics/user.rb', line 25

def (=nil)
  self. =  || Time.new
  save
end