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?)



42
43
44
45
# File 'lib/scoutmetrics/user.rb', line 42

def activate
  self.active = true
  save
end

#deactivateObject

Deactivate an “AppUser” on Scout Metrics



48
49
50
51
# File 'lib/scoutmetrics/user.rb', line 48

def deactivate
  self.active = false
  save
end

#report_login(return_date = nil) ⇒ Object

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



35
36
37
38
# File 'lib/scoutmetrics/user.rb', line 35

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
23
24
25
26
# File 'lib/scoutmetrics/user.rb', line 20

def save
  params = {}
  params[:signup_date] =  if field_present?()
  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) ⇒ Object

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



29
30
31
32
# File 'lib/scoutmetrics/user.rb', line 29

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