Module: Peek
- Defined in:
- lib/peek.rb,
lib/peek/railtie.rb,
lib/peek/version.rb,
lib/peek/views/view.rb,
lib/peek/adapters/base.rb,
lib/peek/adapters/redis.rb,
lib/peek/adapters/memory.rb,
lib/peek/adapters/memcache.rb,
lib/peek/controller_helpers.rb,
lib/peek/adapters/elasticsearch.rb,
app/controllers/peek/results_controller.rb
Defined Under Namespace
Modules: Adapters, ControllerHelpers, Views
Classes: Railtie, ResultsController
Constant Summary
collapse
- ALLOWED_ENVS =
['development', 'staging'].freeze
- VERSION =
'1.0.1'
Class Method Summary
collapse
Class Method Details
._request_id ⇒ Object
11
12
13
|
# File 'lib/peek.rb', line 11
def self._request_id
@_request_id ||= Concurrent::AtomicReference.new
end
|
.adapter ⇒ Object
23
24
25
|
# File 'lib/peek.rb', line 23
def self.adapter
@adapter
end
|
.adapter=(*adapter_options) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/peek.rb', line 27
def self.adapter=(*adapter_options)
adapter, *parameters = *Array.wrap(adapter_options).flatten
@adapter = case adapter
when Symbol
adapter_class_name = adapter.to_s.camelize
adapter_class =
begin
require "peek/adapters/#{adapter}"
rescue LoadError => e
raise "Could not find adapter for #{adapter} (#{e})"
else
Peek::Adapters.const_get(adapter_class_name)
end
adapter_class.new(*parameters)
when nil
Peek::Adapters::Memory.new
else
adapter
end
@adapter
end
|
.clear ⇒ Object
Hook that happens after every request. It is expected to reset any state that Peek managed throughout the requests lifecycle.
Returns nothing.
103
104
105
|
# File 'lib/peek.rb', line 103
def self.clear
_request_id.update { '' }
end
|
.enabled? ⇒ Boolean
51
52
53
|
# File 'lib/peek.rb', line 51
def self.enabled?
ALLOWED_ENVS.include?(env)
end
|
.env ⇒ Object
55
56
57
|
# File 'lib/peek.rb', line 55
def self.env
Rails.env
end
|
.into(klass, options = {}) ⇒ Object
86
87
88
89
|
# File 'lib/peek.rb', line 86
def self.into(klass, options = {})
@views ||= []
@views << [klass, options]
end
|
.request_id ⇒ Object
15
16
17
|
# File 'lib/peek.rb', line 15
def self.request_id
_request_id.get
end
|
.request_id=(id) ⇒ Object
19
20
21
|
# File 'lib/peek.rb', line 19
def self.request_id=(id)
_request_id.update { id }
end
|
.reset ⇒ Object
Clears out any and all views.
Returns nothing.
94
95
96
97
|
# File 'lib/peek.rb', line 94
def self.reset
@views = nil
@cached_views = nil
end
|
.results ⇒ Object
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/peek.rb', line 67
def self.results
results = {
context: {},
data: Hash.new { |h, k| h[k] = {} }
}
views.each do |view|
if view.context?
results[:context][view.key] = view.context
end
view.results.each do |key, value|
results[:data][view.key][key] = value
end
end
results
end
|
.setup ⇒ Object
107
108
109
|
# File 'lib/peek.rb', line 107
def self.setup
ActiveSupport::Deprecation.warn "'Peek.setup' is deprecated and does nothing.", caller
end
|
.views ⇒ Object
59
60
61
62
63
64
65
|
# File 'lib/peek.rb', line 59
def self.views
@cached_views ||= if @views && @views.any?
@views.collect { |klass, options| klass.new(options.dup) }.select(&:enabled?)
else
[]
end
end
|