Module: DebugBundle::Rails
- Defined in:
- lib/debugbundle/rails/railtie.rb,
lib/debugbundle/rails/relay_endpoint.rb
Defined Under Namespace
Classes: Railtie, RelayEndpoint
Class Method Summary collapse
- .build_relay_handler(app) ⇒ Object
- .relay_durable_write(options) ⇒ Object
- .relay_environment_name(options) ⇒ Object
- .relay_option(options, name, default) ⇒ Object
- .relay_option_present?(options, name) ⇒ Boolean
- .relay_options(app) ⇒ Object
- .relay_path(app) ⇒ Object
- .relay_rate_limit(options) ⇒ Object
- .relay_route_enabled?(app) ⇒ Boolean
- .relay_service_name(app, options) ⇒ Object
Class Method Details
.build_relay_handler(app) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/debugbundle/rails/relay_endpoint.rb', line 22 def self.build_relay_handler(app) = (app) return .relay_handler if relay_option_present?(, :relay_handler) Relay::Handler.new( project_mode: relay_option(, :project_mode, :connected), project_token: relay_option(, :project_token, ENV.fetch('DEBUGBUNDLE_TOKEN', nil)), endpoint: relay_option(, :endpoint, DebugBundle::Config::DEFAULT_ENDPOINT), local_events_dir: relay_option(, :local_events_dir, DebugBundle::Config::DEFAULT_LOCAL_EVENTS_DIR), spool_dir: relay_option(, :spool_dir, DebugBundle::Config::DEFAULT_SPOOL_DIR), durable_write: relay_durable_write(), service: relay_service_name(app, ), environment: relay_environment_name(), allowed_origins: relay_option(, :relay_allowed_origins, nil), max_body_bytes: relay_option(, :relay_max_body_bytes, Relay::DEFAULT_MAX_BODY_BYTES), rate_limit_per_minute: relay_rate_limit(), rate_limit_store: relay_option(, :relay_rate_limit_store, nil), forward_transport: relay_option(, :relay_forward_transport, nil) ) end |
.relay_durable_write(options) ⇒ Object
61 62 63 |
# File 'lib/debugbundle/rails/relay_endpoint.rb', line 61 def self.relay_durable_write() relay_option(, :relay_durable_write, true) != false end |
.relay_environment_name(options) ⇒ Object
81 82 83 84 85 86 87 |
# File 'lib/debugbundle/rails/relay_endpoint.rb', line 81 def self.relay_environment_name() environment_name = relay_option(, :environment, nil) return environment_name if environment_name && !environment_name.to_s.empty? return ::Rails.env if defined?(::Rails) Client::DEFAULT_ENVIRONMENT end |
.relay_option(options, name, default) ⇒ Object
89 90 91 92 93 94 |
# File 'lib/debugbundle/rails/relay_endpoint.rb', line 89 def self.relay_option(, name, default) return default if .nil? || !.respond_to?(name) value = .public_send(name) value.nil? ? default : value end |
.relay_option_present?(options, name) ⇒ Boolean
96 97 98 |
# File 'lib/debugbundle/rails/relay_endpoint.rb', line 96 def self.relay_option_present?(, name) !.nil? && .respond_to?(name) && !.public_send(name).nil? end |
.relay_options(app) ⇒ Object
54 55 56 57 58 59 |
# File 'lib/debugbundle/rails/relay_endpoint.rb', line 54 def self.(app) return nil unless app.respond_to?(:config) return nil unless app.config.respond_to?(:debugbundle) app.config.debugbundle end |
.relay_path(app) ⇒ Object
48 49 50 51 52 |
# File 'lib/debugbundle/rails/relay_endpoint.rb', line 48 def self.relay_path(app) = (app) path = relay_option(, :relay_path, '').to_s path.empty? ? '/debugbundle/browser' : path end |
.relay_rate_limit(options) ⇒ Object
65 66 67 |
# File 'lib/debugbundle/rails/relay_endpoint.rb', line 65 def self.relay_rate_limit() relay_option(, :relay_rate_limit_per_minute, Relay::DEFAULT_RATE_LIMIT_PER_MINUTE) end |
.relay_route_enabled?(app) ⇒ Boolean
43 44 45 46 |
# File 'lib/debugbundle/rails/relay_endpoint.rb', line 43 def self.relay_route_enabled?(app) = (app) relay_option(, :relay_enabled, true) != false end |
.relay_service_name(app, options) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/debugbundle/rails/relay_endpoint.rb', line 69 def self.relay_service_name(app, ) service_name = relay_option(, :service, nil) return service_name if service_name && !service_name.to_s.empty? if app.class.respond_to?(:module_parent_name) app_name = app.class.module_parent_name.to_s return app_name.underscore.tr('_', '-') unless app_name.empty? end Client::DEFAULT_SERVICE_NAME end |