Showing /home/blogoosfero/noosfero/app/views/profile/sitemap.html.erb where line #3 raised:
The single-table inheritance mechanism failed to locate the subclass: 'WebODFPlugin::Document'. This error is raised because the column 'type' is reserved for storing the class in case of inheritance. Please rename this column if you didn't intend it to be used for storing the inheritance class or overwrite Article.inheritance_column to use another column for that information.
Extracted source (around line #186):
184
185
186
187
188
189
|
end
rescue NameError
raise SubclassNotFound,
"The single-table inheritance mechanism failed to locate the subclass: '#{type_name}'. " +
"This error is raised because the column '#{inheritance_column}' is reserved for storing the class in case of inheritance. " +
"Please rename this column if you didn't intend it to be used for storing the inheritance class " +
|
Extracted source (around line #180):
178
179
180
181
182
183
|
def find_sti_class(type_name)
if store_full_sti_class
ActiveSupport::Dependencies.constantize(type_name)
else
compute_type(type_name)
|
Extracted source (around line #169):
167
168
169
170
171
172
|
def discriminate_class_for_record(record)
if using_single_table_inheritance?(record)
find_sti_class(record[inheritance_column])
else
super
end
|
Extracted source (around line #67):
65
66
67
68
69
70
|
# how this "single-table" inheritance mapping is implemented.
def instantiate(attributes, column_types = {})
klass = discriminate_class_for_record(attributes)
attributes = klass.attributes_builder.build_from_database(attributes, column_types)
klass.allocate.init_with('attributes' => attributes, 'new_record' => false)
end
|
Extracted source (around line #50):
48
49
50
51
52
53
|
message_bus.instrument('instantiation.active_record', payload) do
result_set.map { |record| instantiate(record, column_types) }
end
end
|
Extracted source (around line #51):
49
50
51
52
53
54
|
def each
if block_given?
hash_rows.each { |row| yield row }
else
hash_rows.to_enum { @rows.size }
end
|
Extracted source (around line #51):
49
50
51
52
53
54
|
def each
if block_given?
hash_rows.each { |row| yield row }
else
hash_rows.to_enum { @rows.size }
end
|
Extracted source (around line #51):
49
50
51
52
53
54
|
def each
if block_given?
hash_rows.each { |row| yield row }
else
hash_rows.to_enum { @rows.size }
end
|
Extracted source (around line #50):
48
49
50
51
52
53
|
message_bus.instrument('instantiation.active_record', payload) do
result_set.map { |record| instantiate(record, column_types) }
end
end
|
Extracted source (around line #50):
48
49
50
51
52
53
|
message_bus.instrument('instantiation.active_record', payload) do
result_set.map { |record| instantiate(record, column_types) }
end
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 #49):
47
48
49
50
51
52
|
}
message_bus.instrument('instantiation.active_record', payload) do
result_set.map { |record| instantiate(record, column_types) }
end
end
|
Extracted source (around line #639):
637
638
639
640
641
642
|
def exec_queries
@records = eager_loading? ? find_with_associations : @klass.find_by_sql(arel, arel.bind_values + bind_values)
preload = preload_values
preload += includes_values unless eager_loading?
|
Extracted source (around line #515):
513
514
515
516
517
518
|
# Post.where(published: true).load # => #
def load
exec_queries unless loaded?
self
end
|
Extracted source (around line #243):
241
242
243
244
245
246
|
# Converts relation objects to Array.
def to_a
load
@records
end
|
Extracted source (around line #251):
249
250
251
252
253
254
|
def select(*fields)
if block_given?
to_a.select { |*block_args| yield(*block_args) }
else
raise ArgumentError, 'Call this with at least one field' if fields.empty?
spawn._select!(*fields)
|
Extracted source (around line #20):
18
19
20
21
22
23
|
def available_articles(articles, user)
articles.select {|article| article.display_to?(user)}
end
def display_content_icon(content_item)
|
Extracted source (around line #3):
1
2
3
|
<%= _("%s: site map") % profile.name %>
<%= list_contents :contents=>available_articles(@articles, user), :list_type=>:sitemap %>
|
Extracted source (around line #145):
143
144
145
146
147
148
|
instrument("!render_template") do
compile!(view)
view.send(method_name, locals, buffer, &block)
end
rescue => e
handle_render_error(view, 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 #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 #333):
331
332
333
334
335
336
|
def instrument(action, &block)
payload = { virtual_path: @virtual_path, identifier: @identifier }
ActiveSupport::Notifications.instrument("#{action}.action_view", payload, &block)
end
end
end
|
Extracted source (around line #143):
141
142
143
144
145
146
|
# consume this in production. This is only slow if it's being listened to.
def render(view, locals, buffer=nil, &block)
instrument("!render_template") do
compile!(view)
view.send(method_name, locals, buffer, &block)
end
|
Extracted source (around line #54):
52
53
54
55
56
57
|
render_with_layout(layout_name, locals) do |layout|
instrument(:template, :identifier => template.identifier, :layout => layout.try(:virtual_path)) do
template.render(view, locals) { |*name| view._layout_for(*name) }
end
end
end
|
Extracted source (around line #39):
37
38
39
40
41
42
|
def instrument(name, options={})
ActiveSupport::Notifications.instrument("render_#{name}.action_view", options){ yield }
end
def prepend_formats(formats)
|
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 #39):
37
38
39
40
41
42
|
def instrument(name, options={})
ActiveSupport::Notifications.instrument("render_#{name}.action_view", options){ yield }
end
def prepend_formats(formats)
|
Extracted source (around line #53):
51
52
53
54
55
56
|
render_with_layout(layout_name, locals) do |layout|
instrument(:template, :identifier => template.identifier, :layout => layout.try(:virtual_path)) do
template.render(view, locals) { |*name| view._layout_for(*name) }
end
end
|
Extracted source (around line #61):
59
60
61
62
63
64
|
def render_with_layout(path, locals) #:nodoc:
layout = path && find_layout(path, locals.keys)
content = yield(layout)
if layout
view = @view
|
Extracted source (around line #52):
50
51
52
53
54
55
|
view, locals = @view, locals || {}
render_with_layout(layout_name, locals) do |layout|
instrument(:template, :identifier => template.identifier, :layout => layout.try(:virtual_path)) do
template.render(view, locals) { |*name| view._layout_for(*name) }
end
|
Extracted source (around line #14):
12
13
14
15
16
17
|
@lookup_context.rendered_format ||= (template.formats.first || formats.first)
render_template(template, options[:layout], options[:locals])
end
private
|
Extracted source (around line #46):
44
45
46
47
48
49
|
# Direct accessor to template rendering.
def render_template(context, options) #:nodoc:
TemplateRenderer.new(@lookup_context).render(context, options)
end
# Direct access to partial rendering.
|
Extracted source (around line #27):
25
26
27
28
29
30
|
render_partial(context, options)
else
render_template(context, options)
end
end
|
Extracted source (around line #100):
98
99
100
101
102
103
|
lookup_context.variants = variant if variant
view_renderer.render(view_context, options)
end
# Assign the rendered format to lookup context.
|
Extracted source (around line #217):
215
216
217
218
219
220
|
Rack::Chunked::Body.new view_renderer.render_body(view_context, options)
else
super
end
end
end
|
Extracted source (around line #83):
81
82
83
84
85
86
|
def render_to_body(options = {})
_process_options(options)
_render_template(options)
end
def rendered_format
|
Extracted source (around line #32):
30
31
32
33
34
35
|
def render_to_body(options = {})
super || _render_in_priorities(options) || ' '
end
private
|
Extracted source (around line #37):
35
36
37
38
39
40
|
def render_to_body(options)
_render_to_body_with_renderer(options) || super
end
def _render_to_body_with_renderer(options)
|
Extracted source (around line #25):
23
24
25
26
27
28
|
def render(*args, &block)
options = _normalize_render(*args, &block)
self.response_body = render_to_body(options)
_process_format(rendered_format, options) if rendered_format
self.response_body
end
|
Extracted source (around line #16):
14
15
16
17
18
19
|
def render(*args) #:nodoc:
raise ::AbstractController::DoubleRenderError if self.response_body
super
end
# Overwrite render_to_string because body can now be set to a rack body.
|
Extracted source (around line #44):
42
43
44
45
46
47
|
render_output = nil
self.view_runtime = cleanup_view_runtime do
Benchmark.ms { render_output = super }
end
render_output
end
|
Extracted source (around line #12):
10
11
12
13
14
|
# # => 0.074
def ms
1000 * realtime { yield }
end
end
|
Extracted source (around line #308):
306
307
308
309
310
311
|
def realtime # :yield:
r0 = Process.clock_gettime(Process::CLOCK_MONOTONIC)
yield
Process.clock_gettime(Process::CLOCK_MONOTONIC) - r0
end
|
Extracted source (around line #12):
10
11
12
13
14
|
# # => 0.074
def ms
1000 * realtime { yield }
end
end
|
Extracted source (around line #44):
42
43
44
45
46
47
|
render_output = nil
self.view_runtime = cleanup_view_runtime do
Benchmark.ms { render_output = super }
end
render_output
end
|
Extracted source (around line #87):
85
86
87
88
89
90
|
# :api: plugin
def cleanup_view_runtime #:nodoc:
yield
end
# Every time after an action is processed, this method is invoked
|
Extracted source (around line #25):
23
24
25
26
27
28
|
db_rt_before_render = ActiveRecord::LogSubscriber.reset_runtime
self.db_runtime = (db_runtime || 0) + db_rt_before_render
runtime = super
db_rt_after_render = ActiveRecord::LogSubscriber.reset_runtime
self.db_runtime += db_rt_after_render
runtime - db_rt_after_render
|
Extracted source (around line #43):
41
42
43
44
45
46
|
def render(*args)
render_output = nil
self.view_runtime = cleanup_view_runtime do
Benchmark.ms { render_output = super }
end
render_output
|
Extracted source (around line #10):
8
9
10
11
12
13
|
def default_render(*args)
render(*args)
end
def method_for_action(action_name)
|
Extracted source (around line #5):
3
4
5
6
7
8
|
def send_action(method, *args)
ret = super
default_render unless performed?
ret
end
|
Extracted source (around line #198):
196
197
198
199
200
201
|
# which is *not* necessarily the same as the action name.
def process_action(method_name, *args)
send_action(method_name, *args)
end
# Actually call the method associated with the action. Override
|
Extracted source (around line #10):
8
9
10
11
12
13
|
def process_action(*) #:nodoc:
self.formats = request.formats.map(&:ref).compact
super
end
# Check for double render errors and set the content_type after rendering.
|
Extracted source (around line #20):
18
19
20
21
22
23
|
def process_action(*args)
run_callbacks(:process_action) do
super
end
end
|
Extracted source (around line #117):
115
116
117
118
119
120
|
def call(env)
block = env.run_block
env.value = !env.halted && (!block || block.call)
env
end
end
|
Extracted source (around line #555):
553
554
555
556
557
558
|
def compile
@callbacks || @mutex.synchronize do
final_sequence = CallbackSequence.new { |env| Filters::ENDING.call(env) }
@callbacks ||= @chain.reverse.inject(final_sequence) do |callback_sequence, callback|
callback.apply callback_sequence
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 #498):
496
497
498
499
500
501
|
CallbackSequence.new do |*args|
around.call(*args) {
self.call(*args)
}
end
end
|
Extracted source (around line #292):
290
291
292
293
294
295
|
if !halted && user_conditions.all? { |c| c.call(target, value) }
user_callback.call(target, value) {
env = run.call env
env.value
}
|
Extracted source (around line #21):
19
20
21
22
23
24
|
type: 'around_filter', options: {}, block: -> &block do
request_started_at = Time.now
block.call
request_finished_at = Time.now
return if @analytics_skip_page_view
|
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 #291):
289
290
291
292
293
294
|
if !halted && user_conditions.all? { |c| c.call(target, value) }
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 #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 #39):
37
38
39
40
41
42
|
def set_time_zone
return yield unless (utc_offset = cookies['browser.tzoffset']).present?
utc_offset = utc_offset.to_i
gmt_offset = if utc_offset == 0 then nil elsif utc_offset > 0 then -utc_offset else "+#{-utc_offset}" end
Time.use_zone("Etc/GMT#{gmt_offset}"){ yield }
|
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 #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 #48):
46
47
48
49
50
51
|
def user_set_current
User.current = current_user
yield
ensure
# to address the thread variable leak issues in Puma/Thin webserver
User.current = nil
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #10):
8
9
10
11
12
13
|
def call(env)
Rakismet.set_request_vars(env)
response = @app.call(env)
Rakismet.clear_request
response
end
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #11):
9
10
11
12
13
14
|
@cache = nil
verify_locale_files!
@app.call(env)
end
private
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #28):
26
27
28
29
30
31
|
def call(env)
@app.call(env)
rescue Exception => exception
if ExceptionNotifier.notify_exception(exception, :env => env)
env['exception_notifier.delivered'] = true
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #30):
28
29
30
31
32
33
|
def traced_call(env)
@app.call(env)
end
end
end
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #32):
30
31
32
33
34
35
|
def traced_call(env)
result = @app.call(env) # [status, headers, response]
js_to_inject = NewRelic::Agent.browser_timing_header
if (js_to_inject != "") && should_instrument?(env, result[0], result[1])
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #31):
29
30
31
32
33
34
|
request = Rack::Request.new(env)
Noosfero::MultiTenancy.setup!(request.host)
@app.call(env)
end
end
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #27):
25
26
27
28
29
30
|
end
@app.call(env)
end
private
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #60):
58
59
60
61
62
63
|
def call(env)
return @app.call(env) unless env['PATH_INFO'] =~ /^\/message-bus\//
# special debug/test route
if @bus.allow_broadcast? && env['PATH_INFO'] == '/message-bus/broadcast'.freeze
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #225):
223
224
225
226
227
228
|
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 #220):
218
219
220
221
222
223
|
def call(env)
context(env)
end
def context(env, app=@app)
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #38):
36
37
38
39
40
41
|
end
def call(env)
status, headers, body = @app.call(env)
if headers['X-Noosfero-Auth'] == 'false'
headers['Set-Cookie'] = remove_unwanted_cookies(headers['Set-Cookie'])
headers.delete('Set-Cookie') if headers['Set-Cookie'].blank?
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #20):
18
19
20
21
22
23
|
if logger.respond_to?(:tagged)
logger.tagged(compute_tags(request)) { call_app(request, env) }
else
call_app(request, env)
end
|
Extracted source (around line #68):
66
67
68
69
70
71
|
def tagged(*tags)
formatter.tagged(*tags) { yield self }
end
def flush
|
Extracted source (around line #26):
24
25
26
27
28
29
|
def tagged(*tags)
new_tags = push_tags(*tags)
yield self
ensure
pop_tags(new_tags.size)
end
|
Extracted source (around line #68):
66
67
68
69
70
71
|
def tagged(*tags)
formatter.tagged(*tags) { yield self }
end
def flush
|
Extracted source (around line #20):
18
19
20
21
22
23
|
if logger.respond_to?(:tagged)
logger.tagged(compute_tags(request)) { call_app(request, env) }
else
call_app(request, env)
end
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #22):
20
21
22
23
24
25
|
end
@app.call(env)
end
def method_override(env)
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #18):
16
17
18
19
20
21
|
def call(env)
start_time = Time.now
status, headers, body = @app.call(env)
request_time = Time.now - start_time
if !headers.has_key?(@header_name)
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #120):
118
119
120
121
122
123
|
end
@app.call(env)
end
end
end
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #103):
101
102
103
104
105
106
|
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 #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #21):
19
20
21
22
23
24
|
def call(env)
@app.call(sanitize_env(env))
end
private
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
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 #194):
192
193
194
195
196
197
|
def method_missing(name, *args, &block)
if instance.respond_to?(name)
instance.public_send(name, *args, &block)
else
super
end
|
Extracted source (around line #194):
192
193
194
195
196
197
|
def method_missing(name, *args, &block)
if instance.respond_to?(name)
instance.public_send(name, *args, &block)
else
super
end
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #153):
151
152
153
154
155
156
|
def call(env)
to_app.call(env)
end
private
|
Extracted source (around line #33):
31
32
33
34
35
36
|
last_body.close if last_body.respond_to? :close
result = app.call(env)
last_body = result[2]
break unless @catch.include?(result[0].to_i)
end
|
Extracted source (around line #24):
22
23
24
25
26
27
|
last_body = nil
@apps.each do |app|
# The SPEC says that the body must be closed after it has been iterated
# by the server, or if it is replaced by a middleware action. Cascade
# replaces the body each time a cascade happens. It is assumed that nil
|
Extracted source (around line #24):
22
23
24
25
26
27
|
last_body = nil
@apps.each do |app|
# The SPEC says that the body must be closed after it has been iterated
# by the server, or if it is replaced by a middleware action. Cascade
# replaces the body each time a cascade happens. It is assumed that nil
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #80):
78
79
80
81
82
83
|
vary_resource = resource_for_path(env[PATH_INFO_HEADER_KEY])
status, headers, body = @app.call env
if add_headers
headers = headers.merge(add_headers)
|
Extracted source (around line #96):
94
95
96
97
98
99
|
events.notify(:before_call, env) if first_middleware
result = (target == self) ? traced_call(env) : target.call(env)
if first_middleware
capture_response_attributes(state, result)
|
Extracted source (around line #580):
578
579
580
581
582
583
|
# in 3 easy steps: read request, call app, write app response
def process_client(client)
status, headers, body = @app.call(env = @request.read(client))
return if @request.hijacked?
if 100 == status.to_i
|
Extracted source (around line #86):
84
85
86
87
88
89
|
def process_client client
::Noosfero::Scheduler::Defer.pause
super client
::Noosfero::Scheduler::Defer.do_all_work
::Noosfero::Scheduler::Defer.resume
end
|
Extracted source (around line #674):
672
673
674
675
676
677
|
# but that will return false
if client = sock.kgio_tryaccept
process_client(client)
nr += 1
worker.tick = Time.now.to_i
end
|
Extracted source (around line #164):
162
163
164
165
166
167
|
daemon[:run].call
else
worker_loop_without_daemons worker
end
end
alias_method_chain :worker_loop, :daemons
|
Extracted source (around line #529):
527
528
529
530
531
532
|
else
after_fork_internal
worker_loop(worker)
exit
end
end
|
Extracted source (around line #540):
538
539
540
541
542
543
|
def maintain_worker_count
(off = WORKERS.size - worker_processes) == 0 and return
off < 0 and return spawn_missing_workers
WORKERS.each_value { |w| w.nr >= worker_processes and w.soft_kill(:QUIT) }
end
|
Extracted source (around line #294):
292
293
294
295
296
297
|
@logger.debug("waiting #{sleep_time}s after suspend/hibernation")
end
maintain_worker_count if respawn
master_sleep(sleep_time)
when :QUIT # graceful shutdown
break
|
Extracted source (around line #126):
124
125
126
|
Unicorn::Launcher.daemonize!(options) if rackup_opts[:daemonize]
Unicorn::HttpServer.new(app, options).start.join
|
Extracted source (around line #23):
21
22
23
|
gem 'unicorn', version
load Gem.bin_path('unicorn', 'unicorn', version)
|
Extracted source (around line #23):
21
22
23
|
gem 'unicorn', version
load Gem.bin_path('unicorn', 'unicorn', version)
|
Extracted source (around line #74):
72
73
74
75
76
77
|
require "bundler/setup"
TRAPPED_SIGNALS.each {|s| trap(s, "DEFAULT") }
Kernel.load(file)
rescue SystemExit, SignalException
raise
rescue Exception => e # rubocop:disable Lint/RescueException
|
Extracted source (around line #74):
72
73
74
75
76
77
|
require "bundler/setup"
TRAPPED_SIGNALS.each {|s| trap(s, "DEFAULT") }
Kernel.load(file)
rescue SystemExit, SignalException
raise
rescue Exception => e # rubocop:disable Lint/RescueException
|
Extracted source (around line #28):
26
27
28
29
30
31
|
if bin_path = Bundler.which(cmd)
if !Bundler.settings[:disable_exec_load] && ruby_shebang?(bin_path)
return kernel_load(bin_path, *args)
end
# First, try to exec directly to something in PATH
if Bundler.current_ruby.jruby_18?
|
Extracted source (around line #463):
461
462
463
464
465
466
|
def exec(*args)
require "bundler/cli/exec"
Exec.new(options, args).run
end
desc "config NAME [VALUE]", "Retrieve or set a configuration value"
|
Extracted source (around line #27):
25
26
27
28
29
30
|
elsif public_method?(instance)
arity = instance.method(name).arity
instance.__send__(name, *args)
elsif local_method?(instance, :method_missing)
instance.__send__(:method_missing, name.to_sym, *args)
else
|
Extracted source (around line #126):
124
125
126
127
128
129
|
unless current.include?(command.name)
current << command.name
command.run(self, *args)
end
end
alias_method :invoke_task, :invoke_command
|
Extracted source (around line #387):
385
386
387
388
389
390
|
args = instance.args
trailing = args[Range.new(arguments.size, -1)]
instance.invoke_command(command, trailing || [])
end
# The banner for this class. You can customize it if you are invoking the
|
Extracted source (around line #27):
25
26
27
28
29
30
|
def self.dispatch(*)
super do |i|
i.send(:print_command)
i.send(:warn_on_outdated_bundler)
end
|
Extracted source (around line #466):
464
465
466
467
468
469
|
def start(given_args = ARGV, config = {})
config[:shell] ||= Bundler::Thor::Base.shell.new
dispatch(nil, given_args.dup, nil, config)
rescue Bundler::Thor::Error => e
config[:debug] || ENV["THOR_DEBUG"] == "1" ? (raise e) : config[:shell].error(e.message)
exit(1) if exit_on_failure?
|
Extracted source (around line #18):
16
17
18
19
20
21
|
def self.start(*)
super
rescue Exception => e
Bundler.ui = UI::Shell.new
raise e
|
Extracted source (around line #30):
28
29
30
31
|
args = help_flag_used ? Bundler::CLI.reformatted_help_args(ARGV) : ARGV
Bundler::CLI.start(args, :debug => true)
end
|
Extracted source (around line #124):
122
123
124
125
126
127
|
def self.with_friendly_errors
yield
rescue SignalException
raise
rescue Exception => e
|
Extracted source (around line #22):
20
21
22
23
24
25
|
require "bundler/friendly_errors"
Bundler.with_friendly_errors do
require "bundler/cli"
# Allow any command to use --help flag to show help for that command
|
Extracted source (around line #23):
21
22
23
|
gem 'bundler', version
load Gem.bin_path('bundler', 'bundle', version)
|
Extracted source (around line #23):
21
22
23
|
gem 'bundler', version
load Gem.bin_path('bundler', 'bundle', version)
|
Rails.root: /home/blogoosfero/noosfero
Request
Parameters:
{"profile"=>"coletivo-concursados-2013seed-parana"}
HTTP_ACCEPT: "*/*"
REMOTE_ADDR: "127.0.0.1"
SERVER_NAME: "blogoo.blogoosfero.cc"
SERVER_PROTOCOL: "HTTP/1.0"
Response
Headers:
None