Module: Archipelago
- Defined in:
- lib/archipelago.rb,
lib/archipelago/action.rb,
lib/archipelago/engine.rb,
lib/archipelago/context.rb,
lib/archipelago/registry.rb,
lib/archipelago/resolver.rb,
lib/archipelago/response.rb,
lib/archipelago/broadcasts.rb,
lib/archipelago/params_dsl.rb,
lib/archipelago/view_helper.rb,
lib/archipelago/test_helpers.rb,
lib/archipelago/configuration.rb,
lib/archipelago/cancan_adapter.rb,
lib/archipelago/pundit_adapter.rb,
lib/archipelago/security/origin_validator.rb,
lib/archipelago/security/redirect_validator.rb,
app/controllers/archipelago/islands_controller.rb,
app/controllers/archipelago/application_controller.rb,
lib/generators/archipelago/island/island_generator.rb,
lib/generators/archipelago/install/install_generator.rb,
lib/generators/archipelago/install/react/react_generator.rb
Defined Under Namespace
Modules: Broadcasts, CanCanAdapter, Generators, ParamsDSL, PunditAdapter, Response, Security, TestHelpers, ViewHelper
Classes: Action, ApplicationController, Configuration, Context, Engine, Error, Forbidden, InvalidOrigin, InvalidRedirect, IslandsController, MissingAuthorization, Registry, ResolutionError, Resolver
Class Method Summary
collapse
Class Method Details
.authorize_stream?(connection:, stream_name:, params: {}) ⇒ Boolean
48
49
50
51
52
53
54
55
|
# File 'lib/archipelago.rb', line 48
def authorize_stream?(connection:, stream_name:, params: {})
authorizer = configuration.stream_authorizer
return true unless configuration.require_stream_authorization || authorizer
return false if configuration.require_stream_authorization && authorizer.nil?
authorizer.call(connection: connection, stream_name: stream_name, params: params)
end
|
.broadcast(stream_name, props:, version: next_version) ⇒ Object
44
45
46
|
# File 'lib/archipelago.rb', line 44
def broadcast(stream_name, props:, version: next_version)
Broadcasts.broadcast(stream_name, props: props, version: version)
end
|
.configuration ⇒ Object
24
25
26
|
# File 'lib/archipelago.rb', line 24
def configuration
@configuration ||= Configuration.new
end
|
20
21
22
|
# File 'lib/archipelago.rb', line 20
def configure
yield(configuration)
end
|
.instrument(event, payload = {}, &block) ⇒ Object
57
58
59
|
# File 'lib/archipelago.rb', line 57
def instrument(event, payload = {}, &block)
ActiveSupport::Notifications.instrument(event, payload, &block)
end
|
.map(mapping) ⇒ Object
36
37
38
|
# File 'lib/archipelago.rb', line 36
def map(mapping)
mapping.each { |key, value| registry.map(key, value) }
end
|
.next_version ⇒ Object
40
41
42
|
# File 'lib/archipelago.rb', line 40
def next_version
configuration.version_source.call
end
|
.registry ⇒ Object
32
33
34
|
# File 'lib/archipelago.rb', line 32
def registry
@registry ||= Registry.new
end
|
.reset_configuration! ⇒ Object
28
29
30
|
# File 'lib/archipelago.rb', line 28
def reset_configuration!
@configuration = Configuration.new
end
|