Module: GrapeRailsLogger
- Defined in:
- lib/grape_rails_logger.rb,
lib/grape_rails_logger/railtie.rb,
lib/grape_rails_logger/timings.rb,
lib/grape_rails_logger/version.rb,
lib/grape_rails_logger/subscriber.rb,
lib/grape_rails_logger/debug_tracer.rb,
lib/grape_rails_logger/endpoint_patch.rb,
lib/grape_rails_logger/endpoint_wrapper.rb,
lib/grape_rails_logger/status_extractor.rb,
sig/grape_rails_logger.rbs
Defined Under Namespace
Modules: EndpointPatch, StatusExtractor, Timings Classes: Config, DebugTracer, EndpointWrapper, GrapeRequestLogSubscriber, Railtie
Constant Summary collapse
- EFFECTIVE_CONFIG_ATTR_MISSING =
Distinguish "Rails config did not define this key" from a real nil/false value
Object.new.freeze
- VERSION =
"1.2.1"
Class Method Summary collapse
-
.config ⇒ Config
Global configuration instance (for non-Rails usage).
-
.configure {|config| ... } ⇒ void
Configure the logger (for non-Rails usage).
-
.effective_config ⇒ Config
Get the effective configuration (Rails-aware).
-
.subscriber_instance_for(subscriber_class) ⇒ GrapeRequestLogSubscriber
private
Reuse one subscriber instance per class — GrapeRequestLogSubscriber has no per-request ivars.
Class Method Details
.config ⇒ Config
Global configuration instance (for non-Rails usage)
44 45 46 |
# File 'lib/grape_rails_logger.rb', line 44 def self.config @config ||= Config.new end |
.configure {|config| ... } ⇒ void
This method returns an undefined value.
Configure the logger (for non-Rails usage)
55 56 57 |
# File 'lib/grape_rails_logger.rb', line 55 def self.configure yield config end |
.effective_config ⇒ Config
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/grape_rails_logger.rb', line 65 def self.effective_config if defined?(Rails) && Rails.application && Rails.application.config.respond_to?(:grape_rails_logger) rails_config = Rails.application.config.grape_rails_logger signature = rails_effective_config_signature(rails_config) if @rails_effective_config_signature == signature && @rails_effective_config @rails_effective_config else @rails_effective_config_signature = signature @rails_effective_config = build_effective_config_from_rails(rails_config) end else # Fall back to module-level config for non-Rails usage config end end |
.subscriber_instance_for(subscriber_class) ⇒ GrapeRequestLogSubscriber
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Reuse one subscriber instance per class — GrapeRequestLogSubscriber has no per-request ivars.
104 105 106 107 |
# File 'lib/grape_rails_logger.rb', line 104 def self.subscriber_instance_for(subscriber_class) @subscriber_instances ||= {} @subscriber_instances[subscriber_class] ||= subscriber_class.new end |