Module: Yeller::Rails::ControllerMethods
- Defined in:
- lib/yeller/rails.rb
Constant Summary collapse
- YELLER_IGNORED_USER_ATTRIBUTES =
[ 'password', 'card', 'secret', ]
Instance Method Summary collapse
- #_yeller_custom_data ⇒ Object
- #_yeller_extract_user_attributes(current_user) ⇒ Object
- #yeller_user_data ⇒ Object
Instance Method Details
#_yeller_custom_data ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/yeller/rails.rb', line 34 def _yeller_custom_data out = { :params => params, :session => request.env.fetch('rack.session', {}), :"http-request" => Yeller::Rack.yeller_http_request_data(request), } out.merge!(yeller_user_data || {}) if respond_to?(:yeller_custom_data) out.merge!(yeller_custom_data || {}) end out end |
#_yeller_extract_user_attributes(current_user) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/yeller/rails.rb', line 53 def _yeller_extract_user_attributes(current_user) user = {} if current_user.respond_to?(:attributes) && current_user.attributes.is_a?(Hash) current_user.attributes.each do |k, v| unless YELLER_IGNORED_USER_ATTRIBUTES.any? {|a| k.to_s.include?(a) } user[k.to_s] = String(v) end end else {} end end |
#yeller_user_data ⇒ Object
66 67 68 69 70 71 72 73 74 75 |
# File 'lib/yeller/rails.rb', line 66 def yeller_user_data return {} unless respond_to?(:current_user) return {} unless current_user.respond_to?(:id) return {} if current_user.nil? id = current_user.id return {} unless id.is_a?(Integer) user = {"id" => id} user.merge!(_yeller_extract_user_attributes(user)) {"user" => user} end |