Class: RailsAi::WindowContext
- Inherits:
-
Object
- Object
- RailsAi::WindowContext
- Defined in:
- lib/rails_ai/window_context.rb
Instance Attribute Summary collapse
-
#action ⇒ Object
readonly
Returns the value of attribute action.
-
#controller ⇒ Object
readonly
Returns the value of attribute controller.
-
#cookies ⇒ Object
readonly
Returns the value of attribute cookies.
-
#params ⇒ Object
readonly
Returns the value of attribute params.
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#session ⇒ Object
readonly
Returns the value of attribute session.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(controller: nil, action: nil, params: {}, request: nil, session: {}, cookies: {}) ⇒ WindowContext
constructor
A new instance of WindowContext.
- #to_h ⇒ Object
Constructor Details
#initialize(controller: nil, action: nil, params: {}, request: nil, session: {}, cookies: {}) ⇒ WindowContext
Returns a new instance of WindowContext.
7 8 9 10 11 12 13 14 |
# File 'lib/rails_ai/window_context.rb', line 7 def initialize(controller: nil, action: nil, params: {}, request: nil, session: {}, cookies: {}) @controller = controller @action = action @params = params || {} @request = request @session = session || {} @cookies = || {} end |
Instance Attribute Details
#action ⇒ Object (readonly)
Returns the value of attribute action.
5 6 7 |
# File 'lib/rails_ai/window_context.rb', line 5 def action @action end |
#controller ⇒ Object (readonly)
Returns the value of attribute controller.
5 6 7 |
# File 'lib/rails_ai/window_context.rb', line 5 def controller @controller end |
#cookies ⇒ Object (readonly)
Returns the value of attribute cookies.
5 6 7 |
# File 'lib/rails_ai/window_context.rb', line 5 def @cookies end |
#params ⇒ Object (readonly)
Returns the value of attribute params.
5 6 7 |
# File 'lib/rails_ai/window_context.rb', line 5 def params @params end |
#request ⇒ Object (readonly)
Returns the value of attribute request.
5 6 7 |
# File 'lib/rails_ai/window_context.rb', line 5 def request @request end |
#session ⇒ Object (readonly)
Returns the value of attribute session.
5 6 7 |
# File 'lib/rails_ai/window_context.rb', line 5 def session @session end |
Class Method Details
.extract_params(controller) ⇒ Object
52 53 54 55 56 57 58 59 60 |
# File 'lib/rails_ai/window_context.rb', line 52 def self.extract_params(controller) if controller.params.respond_to?(:to_unsafe_h) controller.params.to_unsafe_h elsif controller.params.respond_to?(:to_h) controller.params.to_h else controller.params end end |
.from_controller(controller) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/rails_ai/window_context.rb', line 31 def self.from_controller(controller) new( controller: controller.class.name, action: controller.action_name, params: extract_params(controller), request: controller.request, session: controller.session.to_h, cookies: controller..to_h ) end |
Instance Method Details
#to_h ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rails_ai/window_context.rb', line 16 def to_h { controller: controller_name, action: action_name, route: route_info, params: sanitized_params, user_agent: user_agent, referer: referer, ip_address: ip_address, session_data: sanitized_session, cookies: , timestamp: current_time.iso8601 } end |