Class: Effective::LogsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- Effective::LogsController
- Defined in:
- app/controllers/effective/logs_controller.rb
Instance Method Summary collapse
-
#create ⇒ Object
This is a post from our Javascript.
- #html_part ⇒ Object
-
#index ⇒ Object
This is the User index event.
-
#show ⇒ Object
This is the User show event.
Instance Method Details
#create ⇒ Object
This is a post from our Javascript
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'app/controllers/effective/logs_controller.rb', line 7 def create EffectiveLogging.(self, :create, Effective::Log.new) @log = Effective::Log.new.tap do |log| log. = log_params[:message] log.status = EffectiveLogging.statuses.find { |status| status == log_params[:status] } || 'info' log.user = EffectiveLogging.current_user || current_user count = -1 Array((JSON.parse(log_params[:details]) rescue [])).flatten(1).each do |obj| if obj.kind_of?(Hash) obj.each { |k, v| log.details[k] = v if v.present? } else log.details["param_#{(count += 1)}"] = obj if obj.present? end end # Match the referrer log.details[:ip] ||= request.ip log.details[:referrer] ||= request.referrer log.details[:user_agent] ||= request.user_agent log.save end render text: 'ok', status: :ok, json: {} end |
#html_part ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'app/controllers/effective/logs_controller.rb', line 58 def html_part @log = Effective::Log.find(params[:id]) EffectiveLogging.(self, :show, @log) value = @log.details[(params[:key] || '').to_sym].to_s open = value.index('<!DOCTYPE html') || value.index('<html') close = value.rindex('</html>') if open.present? if open.present? && close.present? render inline: value[open...(close+7)].html_safe else render inline: value.html_safe end end |
#index ⇒ Object
This is the User index event
36 37 38 39 40 |
# File 'app/controllers/effective/logs_controller.rb', line 36 def index EffectiveLogging.(self, :index, Effective::Log.new(user_id: current_user.id)) @datatable = EffectiveLogsDatatable.new(self, user_id: current_user.id) end |
#show ⇒ Object
This is the User show event
43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/controllers/effective/logs_controller.rb', line 43 def show @log = Effective::Log.includes(:logs).find(params[:id]) EffectiveLogging.(self, :show, @log) @log.next_log = Effective::Log.unscoped.order(:id).where(parent_id: @log.parent_id).where('id > ?', @log.id).first @log.prev_log = Effective::Log.unscoped.order(:id).where(parent_id: @log.parent_id).where('id < ?', @log.id).last @page_title = "Log ##{@log.to_param}" if @log.logs.present? @log.datatable = EffectiveLogsDatatable.new(self, log_id: @log.id) end end |