Module: Metric::Rails::ControllerMethods

Defined in:
lib/metric/rails/controller_methods.rb

Instance Method Summary collapse

Instance Method Details

#metric_current_userObject



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/metric/rails/controller_methods.rb', line 9

def metric_current_user
  user = current_user
  return {} if current_user.nil?

  parameters = {}
  [:id, :name, :username, :email].each do |attribute|
    parameters[attribute.to_s] = user.send(attribute) if user.respond_to?(attribute)
  end
  parameters
rescue NoMethodError, NameError
  {}
end

#track_metric(metric, options = {}) ⇒ Object



4
5
6
7
# File 'lib/metric/rails/controller_methods.rb', line 4

def track_metric(metric, options = {})
  options[:customer] ||= metric_current_user
  Metric.track(metric, options)
end