Couldn't find Shop::Product with 'id'=a8e8bb94-6647-4e6f-b106-fa54105de3b0
Extracted source (around line #324):
322
323
324
325
326
327
|
end
raise RecordNotFound, error
end
private
|
Extracted source (around line #444):
442
443
444
445
446
447
|
record = relation.take
raise_record_not_found_exception!(id, 0, 1) unless record
record
end
|
Extracted source (around line #423):
421
422
423
424
425
426
|
raise RecordNotFound, "Couldn't find #{@klass.name} without an ID"
when 1
result = find_one(ids.first)
expects_array ? [ result ] : result
else
find_some(ids)
|
Extracted source (around line #71):
69
70
71
72
73
74
|
to_a.find(*args) { |*block_args| yield(*block_args) }
else
find_with_ids(*args)
end
end
|
Extracted source (around line #3):
1
2
3
4
5
6
|
module ActiveRecord
module Querying
delegate :find, :take, :take!, :first, :first!, :last, :last!, :exists?, :any?, :many?, to: :all
delegate :second, :second!, :third, :third!, :fourth, :fourth!, :fifth, :fifth!, :forty_two, :forty_two!, to: :all
delegate :first_or_create, :first_or_create!, :first_or_initialize, to: :all
delegate :find_or_create_by, :find_or_create_by!, :find_or_initialize_by, to: :all
|
Extracted source (around line #131):
129
130
131
132
133
134
|
# Allow symbols to super to maintain compatibility for deprecated finders until Rails 5
return super if ids.first.kind_of?(Symbol)
return super if block_given? ||
primary_key.nil? ||
default_scopes.any? ||
current_scope ||
|
Extracted source (around line #67):
65
66
67
68
69
70
|
def self.cached_find(id)
Rails.cache.fetch([name, id]) { find(id) }
end
def exclusive_offer?
|
Extracted source (around line #299):
297
298
299
300
301
302
|
get_entry_value(entry, name, options)
else
save_block_result_to_cache(name, options) { |_name| yield _name }
end
else
read(name, options)
|
Extracted source (around line #585):
583
584
585
586
587
588
|
def save_block_result_to_cache(name, options)
result = instrument(:generate, name, options) do |payload|
yield(name)
end
write(name, result, options)
|
Extracted source (around line #547):
545
546
547
548
549
550
|
payload = { :key => key }
payload.merge!(options) if options.is_a?(Hash)
ActiveSupport::Notifications.instrument("cache_#{operation}.active_support", payload){ yield(payload) }
end
def log(operation, key, options = nil)
|
Extracted source (around line #166):
164
165
166
167
168
169
|
instrumenter.instrument(name, payload) { yield payload if block_given? }
else
yield payload if block_given?
end
end
|
Extracted source (around line #547):
545
546
547
548
549
550
|
payload = { :key => key }
payload.merge!(options) if options.is_a?(Hash)
ActiveSupport::Notifications.instrument("cache_#{operation}.active_support", payload){ yield(payload) }
end
def log(operation, key, options = nil)
|
Extracted source (around line #584):
582
583
584
585
586
587
|
def save_block_result_to_cache(name, options)
result = instrument(:generate, name, options) do |payload|
yield(name)
end
|
Extracted source (around line #299):
297
298
299
300
301
302
|
get_entry_value(entry, name, options)
else
save_block_result_to_cache(name, options) { |_name| yield _name }
end
else
read(name, options)
|
Extracted source (around line #67):
65
66
67
68
69
70
|
def self.cached_find(id)
Rails.cache.fetch([name, id]) { find(id) }
end
def exclusive_offer?
|
Extracted source (around line #77):
75
76
77
78
79
80
|
# Use callbacks to share common setup or constraints between actions.
def set_shop_product
@shop_product = Shop::Product.cached_find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
|
Extracted source (around line #432):
430
431
432
433
434
435
|
case filter
when Symbol
lambda { |target, _, &blk| target.send filter, &blk }
when String
l = eval "lambda { |value| #{filter} }"
lambda { |target, value| target.instance_exec(value, &l) }
|
Extracted source (around line #145):
143
144
145
146
147
148
|
if !halted && user_conditions.all? { |c| c.call(target, value) }
result = user_callback.call target, value
env.halted = halted_lambda.call(target, result)
if env.halted
target.send :halted_callback_hook, filter
|
Extracted source (around line #504):
502
503
504
505
506
507
|
def call(*args)
@before.each { |b| b.call(*args) }
value = @call.call(*args)
@after.each { |a| a.call(*args) }
value
|
Extracted source (around line #504):
502
503
504
505
506
507
|
def call(*args)
@before.each { |b| b.call(*args) }
value = @call.call(*args)
@after.each { |a| a.call(*args) }
value
|
Extracted source (around line #504):
502
503
504
505
506
507
|
def call(*args)
@before.each { |b| b.call(*args) }
value = @call.call(*args)
@after.each { |a| a.call(*args) }
value
|
Extracted source (around line #498):
496
497
498
499
500
501
|
CallbackSequence.new do |*args|
around.call(*args) {
self.call(*args)
}
end
end
|
Extracted source (around line #313):
311
312
313
314
315
316
|
else
user_callback.call(target, value) {
env = run.call env
env.value
}
env
|
Extracted source (around line #27):
25
26
27
28
29
30
|
def store_controller_for_public_activity
PublicActivity.set_controller(self)
yield
ensure
PublicActivity.set_controller(nil)
end
|
Extracted source (around line #432):
430
431
432
433
434
435
|
case filter
when Symbol
lambda { |target, _, &blk| target.send filter, &blk }
when String
l = eval "lambda { |value| #{filter} }"
lambda { |target, value| target.instance_exec(value, &l) }
|
Extracted source (around line #312):
310
311
312
313
314
315
|
run.call env
else
user_callback.call(target, value) {
env = run.call env
env.value
}
|
Extracted source (around line #497):
495
496
497
498
499
500
|
def around(&around)
CallbackSequence.new do |*args|
around.call(*args) {
self.call(*args)
}
end
|
Extracted source (around line #505):
503
504
505
506
507
508
|
def call(*args)
@before.each { |b| b.call(*args) }
value = @call.call(*args)
@after.each { |a| a.call(*args) }
value
end
|
Extracted source (around line #92):
90
91
92
93
94
95
|
runner = callbacks.compile
e = Filters::Environment.new(self, false, nil, block)
runner.call(e).value
end
end
|
Extracted source (around line #778):
776
777
778
779
780
781
|
module_eval <<-RUBY, __FILE__, __LINE__ + 1
def _run_#{name}_callbacks(&block)
__run_callbacks__(_#{name}_callbacks, &block)
end
RUBY
end
|
Extracted source (around line #81):
79
80
81
82
83
84
|
# end
def run_callbacks(kind, &block)
send "_run_#{kind}_callbacks", &block
end
private
|
Extracted source (around line #19):
17
18
19
20
21
22
|
# process_action callbacks around the normal behavior.
def process_action(*args)
run_callbacks(:process_action) do
super
end
end
|
Extracted source (around line #29):
27
28
29
30
31
32
|
private
def process_action(*args)
super
rescue Exception => exception
request.env['action_dispatch.show_detailed_exceptions'] ||= show_detailed_exceptions?
rescue_with_handler(exception) || raise(exception)
|
Extracted source (around line #32):
30
31
32
33
34
35
|
ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload|
begin
result = super
payload[:status] = response.status
result
ensure
|
Extracted source (around line #164):
162
163
164
165
166
167
|
def instrument(name, payload = {})
if notifier.listening?(name)
instrumenter.instrument(name, payload) { yield payload if block_given? }
else
yield payload if block_given?
end
|
Extracted source (around line #20):
18
19
20
21
22
23
|
start name, payload
begin
yield payload
rescue Exception => e
payload[:exception] = [e.class.name, e.message]
raise e
|
Extracted source (around line #164):
162
163
164
165
166
167
|
def instrument(name, payload = {})
if notifier.listening?(name)
instrumenter.instrument(name, payload) { yield payload if block_given? }
else
yield payload if block_given?
end
|
Extracted source (around line #30):
28
29
30
31
32
33
|
ActiveSupport::Notifications.instrument("start_processing.action_controller", raw_payload.dup)
ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload|
begin
result = super
payload[:status] = response.status
|
Extracted source (around line #250):
248
249
250
251
252
253
|
request.filtered_parameters.merge! wrapped_filtered_hash
end
super
end
private
|
Extracted source (around line #18):
16
17
18
19
20
21
|
# and it won't be cleaned up by the method below.
ActiveRecord::LogSubscriber.reset_runtime
super
end
def cleanup_view_runtime
|
Extracted source (around line #137):
135
136
137
138
139
140
|
@_response_body = nil
process_action(action_name, *args)
end
# Delegates to the class' #controller_path
|
Extracted source (around line #30):
28
29
30
31
32
33
|
def process(*) #:nodoc:
old_config, I18n.config = I18n.config, I18nProxy.new(I18n.config, lookup_context)
super
ensure
I18n.config = old_config
end
|
Extracted source (around line #196):
194
195
196
197
198
199
|
@_env = request.env
@_env['action_controller.instance'] = self
process(name)
to_a
end
|
Extracted source (around line #13):
11
12
13
14
15
16
|
def dispatch(action, request)
set_response!(request)
super(action, request)
end
def response_body=(body)
|
Extracted source (around line #237):
235
236
237
238
239
240
|
end
else
lambda { |env| new.dispatch(name, klass.new(env)) }
end
end
end
|
Extracted source (around line #74):
72
73
74
75
76
77
|
def dispatch(controller, action, env)
controller.action(action).call(env)
end
def normalize_controller!(params)
|
Extracted source (around line #43):
41
42
43
44
45
46
|
end
dispatch(controller, params[:action], req.env)
end
def prepare_params!(params)
|
Extracted source (around line #43):
41
42
43
44
45
46
|
req.path_parameters = set_params.merge parameters
status, headers, body = route.app.serve(req)
if 'pass' == headers['X-Cascade']
req.script_name = script_name
|
Extracted source (around line #30):
28
29
30
31
32
33
|
def serve(req)
find_routes(req).each do |match, parameters, route|
set_params = req.path_parameters
path_info = req.path_info
script_name = req.script_name
|
Extracted source (around line #30):
28
29
30
31
32
33
|
def serve(req)
find_routes(req).each do |match, parameters, route|
set_params = req.path_parameters
path_info = req.path_info
script_name = req.script_name
|
Extracted source (around line #817):
815
816
817
818
819
820
|
req = request_class.new(env)
req.path_info = Journey::Router::Utils.normalize_path(req.path_info)
@router.serve(req)
end
def recognize_path(path, environment = {})
|
Extracted source (around line #43):
41
42
43
44
45
46
|
handle_callback
else
@app.call(env)
end
end
|
Extracted source (around line #43):
41
42
43
44
45
46
|
handle_callback
else
@app.call(env)
end
end
|
Extracted source (around line #28):
26
27
28
29
30
31
|
def call env
@ins << @app unless rack14? || @ins.include?(@app)
to_app.call(env)
end
end
end
|
Extracted source (around line #192):
190
191
192
193
194
195
|
return other_phase if respond_to?(:other_phase)
@app.call(env)
end
# Responds to an OPTIONS request.
|
Extracted source (around line #169):
167
168
169
170
171
172
|
# @param [Hash] The Rack environment.
def call(env)
dup.call!(env)
end
# The logic for dispatching any additional actions that need
|
Extracted source (around line #192):
190
191
192
193
194
195
|
return other_phase if respond_to?(:other_phase)
@app.call(env)
end
# Responds to an OPTIONS request.
|
Extracted source (around line #169):
167
168
169
170
171
172
|
# @param [Hash] The Rack environment.
def call(env)
dup.call!(env)
end
# The logic for dispatching any additional actions that need
|
Extracted source (around line #192):
190
191
192
193
194
195
|
return other_phase if respond_to?(:other_phase)
@app.call(env)
end
# Responds to an OPTIONS request.
|
Extracted source (around line #169):
167
168
169
170
171
172
|
# @param [Hash] The Rack environment.
def call(env)
dup.call!(env)
end
# The logic for dispatching any additional actions that need
|
Extracted source (around line #192):
190
191
192
193
194
195
|
return other_phase if respond_to?(:other_phase)
@app.call(env)
end
# Responds to an OPTIONS request.
|
Extracted source (around line #169):
167
168
169
170
171
172
|
# @param [Hash] The Rack environment.
def call(env)
dup.call!(env)
end
# The logic for dispatching any additional actions that need
|
Extracted source (around line #192):
190
191
192
193
194
195
|
return other_phase if respond_to?(:other_phase)
@app.call(env)
end
# Responds to an OPTIONS request.
|
Extracted source (around line #169):
167
168
169
170
171
172
|
# @param [Hash] The Rack environment.
def call(env)
dup.call!(env)
end
# The logic for dispatching any additional actions that need
|
Extracted source (around line #45):
43
44
45
46
47
48
|
def call(env)
to_app.call(env)
end
end
end
|
Extracted source (around line #192):
190
191
192
193
194
195
|
return other_phase if respond_to?(:other_phase)
@app.call(env)
end
# Responds to an OPTIONS request.
|
Extracted source (around line #169):
167
168
169
170
171
172
|
# @param [Hash] The Rack environment.
def call(env)
dup.call!(env)
end
# The logic for dispatching any additional actions that need
|
Extracted source (around line #45):
43
44
45
46
47
48
|
def call(env)
to_app.call(env)
end
end
end
|
Extracted source (around line #24):
22
23
24
25
26
27
|
def call(env)
status, headers, body = @app.call(env)
if etag_status?(status) && etag_body?(body) && !skip_caching?(headers)
original_body = body
|
Extracted source (around line #25):
23
24
25
26
27
28
|
case env[REQUEST_METHOD]
when "GET", "HEAD"
status, headers, body = @app.call(env)
headers = Utils::HeaderHash.new(headers)
if status == 200 && fresh?(env, headers)
status = 304
|
Extracted source (around line #13):
11
12
13
14
15
16
|
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
|
Extracted source (around line #27):
25
26
27
28
29
30
|
end
@app.call(env)
end
private
|
Extracted source (around line #260):
258
259
260
261
262
263
|
def call(env)
@app.call(env)
ensure
session = Request::Session.find(env) || {}
flash_hash = env[KEY]
|
Extracted source (around line #252):
250
251
252
253
254
255
|
def context(env, app=@app)
prepare_session(env)
status, headers, body = app.call(env)
commit_session(env, status, headers, body)
end
|
Extracted source (around line #247):
245
246
247
248
249
250
|
def call(env)
context(env)
end
def context(env, app=@app)
|
Extracted source (around line #560):
558
559
560
561
562
563
|
def call(env)
status, headers, body = @app.call(env)
if cookie_jar = env['action_dispatch.cookies']
unless cookie_jar.committed?
|
Extracted source (around line #36):
34
35
36
37
38
39
|
connection.enable_query_cache!
response = @app.call(env)
response[2] = Rack::BodyProxy.new(response[2]) do
restore_query_cache_settings(connection_id, enabled)
end
|
Extracted source (around line #34):
32
33
34
35
36
37
|
begin
response = @app.call(env)
rescue Exception => ex # rubocop:disable Lint/RescueException
notify_airbrake(ex)
raise ex
|
Extracted source (around line #23):
21
22
23
24
25
26
|
# @see https://github.com/airbrake/airbrake/issues/904
def call(env)
dup.call!(env)
end
# Rescues any exceptions, sends them to Airbrake and re-raises the
|
Extracted source (around line #653):
651
652
653
654
655
656
|
testing = env['rack.test']
response = @app.call(env)
response[2] = ::Rack::BodyProxy.new(response[2]) do
ActiveRecord::Base.clear_active_connections! unless testing
end
|
Extracted source (around line #29):
27
28
29
30
31
32
|
result = run_callbacks :call do
begin
@app.call(env)
rescue => error
end
end
|
Extracted source (around line #88):
86
87
88
89
90
91
|
def __run_callbacks__(callbacks, &block)
if callbacks.empty?
yield if block_given?
else
runner = callbacks.compile
e = Filters::Environment.new(self, false, nil, block)
|
Extracted source (around line #778):
776
777
778
779
780
781
|
module_eval <<-RUBY, __FILE__, __LINE__ + 1
def _run_#{name}_callbacks(&block)
__run_callbacks__(_#{name}_callbacks, &block)
end
RUBY
end
|
Extracted source (around line #81):
79
80
81
82
83
84
|
# end
def run_callbacks(kind, &block)
send "_run_#{kind}_callbacks", &block
end
private
|
Extracted source (around line #27):
25
26
27
28
29
30
|
def call(env)
error = nil
result = run_callbacks :call do
begin
@app.call(env)
rescue => error
|
Extracted source (around line #78):
76
77
78
79
80
81
|
def call(env)
env["action_dispatch.remote_ip"] = GetIp.new(env, self)
@app.call(env)
end
# The GetIp class exists as a way to defer processing of the request data
|
Extracted source (around line #17):
15
16
17
18
19
20
|
def call(env)
_, headers, body = response = @app.call(env)
if headers['X-Cascade'] == 'pass'
body.close if body.respond_to?(:close)
|
Extracted source (around line #30):
28
29
30
31
32
33
|
def call(env)
@app.call(env)
rescue Exception => exception
if env['action_dispatch.show_exceptions'] == false
raise exception
|
Extracted source (around line #38):
36
37
38
39
40
41
|
instrumenter.start 'request.action_dispatch', request: request
logger.info { started_request_message(request) }
resp = @app.call(env)
resp[2] = ::Rack::BodyProxy.new(resp[2]) { finish(request) }
resp
rescue Exception
|
Extracted source (around line #22):
20
21
22
23
24
25
|
logger.tagged(compute_tags(request)) { call_app(request, env) }
else
call_app(request, env)
end
end
|
Extracted source (around line #19):
17
18
19
20
21
22
|
RequestStore.begin!
status, headers, body = @app.call(env)
body = Rack::BodyProxy.new(body) do
RequestStore.end!
|
Extracted source (around line #21):
19
20
21
22
23
24
|
def call(env)
env["action_dispatch.request_id"] = external_request_id(env) || internal_request_id
@app.call(env).tap { |_status, headers, _body| headers["X-Request-Id"] = env["action_dispatch.request_id"] }
end
private
|
Extracted source (around line #22):
20
21
22
23
24
25
|
end
@app.call(env)
end
def method_override(env)
|
Extracted source (around line #18):
16
17
18
19
20
21
|
def call(env)
start_time = clock_time
status, headers, body = @app.call(env)
request_time = clock_time - start_time
if !headers.has_key?(@header_name)
|
Extracted source (around line #28):
26
27
28
29
30
31
|
def call(env)
LocalCacheRegistry.set_cache_for(local_cache_key, LocalStore.new)
response = @app.call(env)
response[2] = ::Rack::BodyProxy.new(response[2]) do
LocalCacheRegistry.set_cache_for(local_cache_key, nil)
end
|
Extracted source (around line #120):
118
119
120
121
122
123
|
end
@app.call(env)
end
end
end
|
Extracted source (around line #113):
111
112
113
114
115
116
|
def call(env)
status, headers, body = @app.call(env)
if body.respond_to?(:to_path)
case type = variation(env)
when 'X-Accel-Redirect'
|
Extracted source (around line #10):
8
9
10
11
12
13
|
begin
transaction = Opbeat.transaction "Rack", "app.rack.request"
resp = @app.call env
resp[2] = BodyProxy.new(resp[2]) { transaction.submit(resp[0]) } if transaction
rescue Error
raise # Don't report Opbeat errors
|
Extracted source (around line #518):
516
517
518
519
520
521
|
env["ROUTES_#{routes.object_id}_SCRIPT_NAME"] = env['SCRIPT_NAME'].dup
end
app.call(env)
end
# Defines additional Rack env configuration that is added on each call.
|
Extracted source (around line #165):
163
164
165
166
167
168
|
env["ORIGINAL_FULLPATH"] = build_original_fullpath(env)
env["ORIGINAL_SCRIPT_NAME"] = env["SCRIPT_NAME"]
super(env)
end
# Reload application routes regardless if they changed or not.
|
Extracted source (around line #15):
13
14
15
16
17
18
|
def call(env)
status, headers, body = @app.call(env)
headers = HeaderHash.new(headers)
if !STATUS_WITH_NO_ENTITY_BODY.include?(status.to_i) &&
|
Extracted source (around line #86):
84
85
86
87
88
89
|
catch(:async) do
# Process the request calling the Rack adapter
response = @app.call(@request.env)
end
response
rescue Exception => e
|
Extracted source (around line #84):
82
83
84
85
86
87
|
# in removing this.
response = AsyncResponse
catch(:async) do
# Process the request calling the Rack adapter
response = @app.call(@request.env)
end
|
Extracted source (around line #84):
82
83
84
85
86
87
|
# in removing this.
response = AsyncResponse
catch(:async) do
# Process the request calling the Rack adapter
response = @app.call(@request.env)
end
|
Extracted source (around line #53):
51
52
53
54
55
56
|
else
@request.threaded = false
post_process(pre_process)
end
end
|
Extracted source (around line #39):
37
38
39
40
41
42
|
@idle = false
trace data
process if @request.parse(data)
rescue InvalidRequest => e
log_error("Invalid request", e)
post_process Response::BAD_REQUEST
|
Extracted source (around line #195):
193
194
195
196
197
198
|
while run_machine_once; end
else
run_machine
end
ensure
|
Extracted source (around line #195):
193
194
195
196
197
198
|
while run_machine_once; end
else
run_machine
end
ensure
|
Extracted source (around line #75):
73
74
75
76
77
78
|
else
@started_reactor = true
EventMachine.run(&starter)
end
end
|
Extracted source (around line #162):
160
161
162
163
164
165
|
log_info "Listening on #{@backend}, CTRL+C to stop"
@backend.start { setup_signals if @setup_signals }
end
alias :start! :start
|
Extracted source (around line #22):
20
21
22
23
24
25
|
yield server if block_given?
server.start
end
def self.valid_options
|
Extracted source (around line #287):
285
286
287
288
289
290
|
end
server.run wrapped_app, options, &blk
end
def server
|
Extracted source (around line #80):
78
79
80
81
82
83
|
log_to_stdout if options[:log_stdout]
super
ensure
# The '-h' option calls exit before @options is set.
# If we call 'options' with it unset, we get double help banners.
|
Extracted source (around line #80):
78
79
80
81
82
83
|
require APP_PATH
Dir.chdir(Rails.application.root)
server.start
end
end
|
Extracted source (around line #75):
73
74
75
76
77
78
|
require_command!("server")
Rails::Server.new.tap do |server|
# We need to require application after the server sets environment,
# otherwise the --environment option given to the server won't propagate.
require APP_PATH
|
Extracted source (around line #75):
73
74
75
76
77
78
|
require_command!("server")
Rails::Server.new.tap do |server|
# We need to require application after the server sets environment,
# otherwise the --environment option given to the server won't propagate.
require APP_PATH
|
Extracted source (around line #39):
37
38
39
40
41
42
|
command = parse_command(command)
if COMMAND_WHITELIST.include?(command)
send(command)
else
write_error_message(command)
end
|
Extracted source (around line #17):
15
16
17
|
require 'rails/commands/commands_tasks'
Rails::CommandsTasks.new(ARGV).run_command!(command)
|
Extracted source (around line #4):
2
3
4
|
APP_PATH = File.expand_path('../../config/application', __FILE__)
require_relative '../config/boot'
require 'rails/commands'
|
Extracted source (around line #4):
2
3
4
|
APP_PATH = File.expand_path('../../config/application', __FILE__)
require_relative '../config/boot'
require 'rails/commands'
|
Rails.root: /app
Request
Parameters:
{"id"=>"a8e8bb94-6647-4e6f-b106-fa54105de3b0"}
GATEWAY_INTERFACE: "CGI/1.2"
HTTP_ACCEPT: "*/*"
HTTP_ACCEPT_ENCODING: "gzip, br"
REMOTE_ADDR: "10.1.34.49"
SERVER_NAME: "digiramp.com"
SERVER_PROTOCOL: "HTTP/1.1"
Response
Headers:
None