Class: Toggly::Rails::ContextBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/toggly/rails/context_builder.rb

Overview

Builds evaluation context from Rails request and user.

Extracts identity, groups, and traits from the current request and authenticated user.

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ ContextBuilder

Returns a new instance of ContextBuilder.

Parameters:



11
12
13
# File 'lib/toggly/rails/context_builder.rb', line 11

def initialize(config)
  @config = config
end

Instance Method Details

#build(request: nil, user: nil) ⇒ Toggly::Context

Build context from request and user

Parameters:

  • request (ActionDispatch::Request, nil) (defaults to: nil)

    Current request

  • user (Object, nil) (defaults to: nil)

    Current authenticated user

Returns:

  • (Toggly::Context)


20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/toggly/rails/context_builder.rb', line 20

def build(request: nil, user: nil)
  identity = extract_identity(user)
  groups = extract_groups(user)
  traits = extract_traits(request, user)

  Toggly::Context.new(
    identity: identity,
    groups: groups,
    traits: traits,
    entity: extract_entity(request, user)
  )
end