Module: LobbyBoy::Configuration

Included in:
LobbyBoy
Defined in:
lib/lobby_boy/configuration.rb

Defined Under Namespace

Modules: HashInit Classes: Client, Provider

Instance Method Summary collapse

Instance Method Details

#build_url(host, path) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/lobby_boy/configuration.rb', line 30

def build_url(host, path)
  if path =~ /^https?:\/\//
    path
  else
    URI.join(host, path).to_s
  end
end

#clientObject



68
69
70
# File 'lib/lobby_boy/configuration.rb', line 68

def client
  @client
end

#configure_client!(options) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/lobby_boy/configuration.rb', line 42

def configure_client!(options)
  opts = options.dup

  opts[:end_session_endpoint] = build_url opts[:host], opts[:end_session_endpoint]
  opts[:cookie_domain] ||=
    if opts[:host].is_a? Symbol # e.g. :all to allow all domains
      opts[:host]
    else
      host_name opts[:host]
    end
  opts[:refresh_offset] ||= 60.seconds
  opts[:refresh_interval] ||= 30.seconds
  opts[:logged_in] ||= lambda { false }

  @client = Client.new opts
end

#configure_provider!(options) ⇒ Object



59
60
61
62
63
64
65
66
# File 'lib/lobby_boy/configuration.rb', line 59

def configure_provider!(options)
  opts = options.dup

  opts[:end_session_endpoint] = build_url opts[:issuer], opts[:end_session_endpoint]
  opts[:check_session_iframe] = build_url opts[:issuer], opts[:check_session_iframe]

  @provider = Provider.new opts
end

#configured?Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/lobby_boy/configuration.rb', line 76

def configured?
  client && provider
end

#host_name(host_address) ⇒ Object



38
39
40
# File 'lib/lobby_boy/configuration.rb', line 38

def host_name(host_address)
  URI.parse(host_address).host
end

#providerObject



72
73
74
# File 'lib/lobby_boy/configuration.rb', line 72

def provider
  @provider
end