Generated by trace_location at 2019-06-08 01:37:49 +0900
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:43
def render(*args)
render_output = nil
self.view_runtime = cleanup_view_runtime do
Benchmark.ms { render_output = super }
end
render_output
end
# called from app/controllers/books_controller.rb:9
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/railties/controller_runtime.rb:27
def cleanup_view_runtime
if logger && logger.info? && ActiveRecord::Base.connected?
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
else
super
end
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:45
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:122
def connected?
connection_handler.connected?(connection_specification_name)
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/railties/controller_runtime.rb:28
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/core.rb:130
def self.connection_handler
ActiveRecord::RuntimeRegistry.connection_handler || default_connection_handler
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:123
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:20
class_eval %{ def self.#{val}; instance.#{val}; end }, __FILE__, __LINE__
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/core.rb:131
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:96
def connection_specification_name
if !defined?(@connection_specification_name) || @connection_specification_name.nil?
return self == Base ? "primary" : superclass.connection_specification_name
end
@connection_specification_name
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:123
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1019
def connected?(spec_name)
conn = retrieve_connection_pool(spec_name)
conn && conn.connected?
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:123
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1039
def retrieve_connection_pool(spec_name)
owner_to_pool.fetch(spec_name) do
# Check if a connection was previously established in an ancestor process,
# which may have been forked.
if ancestor_pool = pool_from_any_process_for(spec_name)
# A connection was established in an ancestor process that must have
# subsequently forked. We can't reuse the connection, but we can copy
# the specification and establish a new connection with it.
establish_connection(ancestor_pool.spec.to_hash).tap do |pool|
pool.schema_cache = ancestor_pool.schema_cache if ancestor_pool.schema_cache
end
else
owner_to_pool[spec_name] = nil
end
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1020
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1058
def owner_to_pool
@owner_to_pool[Process.pid]
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1040
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:422
def connected?
synchronize { @connections.any? }
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1021
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:15
def self.reset_runtime
rt, self.runtime = runtime, 0
rt
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/railties/controller_runtime.rb:29
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:11
def self.runtime
ActiveRecord::RuntimeRegistry.sql_runtime ||= 0
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:16
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:20
class_eval %{ def self.#{val}; instance.#{val}; end }, __FILE__, __LINE__
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:12
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:7
def self.runtime=(value)
ActiveRecord::RuntimeRegistry.sql_runtime = value
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:16
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:21
class_eval %{ def self.#{val}=(x); instance.#{val}=x; end }, __FILE__, __LINE__
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:8
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:86
def cleanup_view_runtime
if logger && logger.info? && ActiveRecord::Base.connected?
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
else
super
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/railties/controller_runtime.rb:31
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:34
def render(*args)
render_output = nil
self.view_runtime = cleanup_view_runtime do
Benchmark.ms { render_output = super }
end
render_output
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:46
vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:23
def render(*args)
render_output = nil
self.view_runtime = cleanup_view_runtime do
Benchmark.ms { render_output = super }
end
render_output
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:36
vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:116
def _normalize_render(*args, &block) # :nodoc:
options = _normalize_args(*args, &block)
_process_variant(options)
_normalize_options(options)
options
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:24
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:82
def _normalize_args(action = nil, options = {}, &blk)
options = super
options[:update] = blk if block_given?
options
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:117
vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:78
def _normalize_args(action = nil, options = {}, &blk)
options = super
options[:update] = blk if block_given?
options
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:83
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:57
def _process_variant(options)
if defined?(request) && !request.nil? && request.variant.present?
options[:variant] = request.variant
end
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:118
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_negotiation.rb:100
def variant
@variant ||= ActiveSupport::ArrayInquirer.new
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:58
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:89
def _normalize_options(options)
_normalize_text(options)
if options[:html]
options[:html] = ERB::Util.html_escape(options[:html])
end
if options[:status]
options[:status] = Rack::Utils.status_code(options[:status])
end
super
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:119
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:103
def _normalize_text(options)
RENDER_FORMATS_IN_PRIORITY.each do |format|
if options.key?(format) && options[format].respond_to?(:to_text)
options[format] = options[format].to_text
end
end
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:90
vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:93
def _normalize_options(options)
_normalize_text(options)
if options[:html]
options[:html] = ERB::Util.html_escape(options[:html])
end
if options[:status]
options[:status] = Rack::Utils.status_code(options[:status])
end
super
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:100
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:141
def render_to_body(options)
_render_to_body_with_renderer(options) || super
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:25
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:145
def _render_to_body_with_renderer(options)
_renderers.each do |name|
if options.key?(name)
_process_options(options)
method_name = Renderers._render_with_renderer_method_name(name)
return send(method_name, options.delete(name), options)
end
end
nil
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:142
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:112
def _process_options(options)
status, content_type, location = options.values_at(:status, :content_type, :location)
self.status = status if status
self.content_type = content_type if content_type
headers["Location"] = url_for(location) if location
super
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:148
vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:98
def _process_options(options)
status, content_type, location = options.values_at(:status, :content_type, :location)
self.status = status if status
self.content_type = content_type if content_type
headers["Location"] = url_for(location) if location
super
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:119
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:91
def self._render_with_renderer_method_name(key)
"_render_with_renderer_#{key}"
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:149
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:156
add :json do |json, options|
json = json.to_json(options) unless json.kind_of?(String)
if options[:callback].present?
if content_type.nil? || content_type == Mime[:json]
self.content_type = Mime[:js]
end
"/**/#{options[:callback]}(#{json})"
else
self.content_type ||= Mime[:json]
json
end
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:150
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/delegation.rb:71
delegate :to_xml, :encode_with, :length, :each, :uniq, :join,
:[], :&, :|, :+, :-, :sample, :reverse, :rotate, :compact, :in_groups, :in_groups_of,
:to_sentence, :to_formatted_s, :as_json,
:shuffle, :split, :slice, :index, :rindex, to: :records
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/json/encoding.rb:35
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:199
def records # :nodoc:
load
@records
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/delegation.rb:71
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:421
def load(&block)
exec_queries(&block) unless loaded?
self
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:200
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:546
def exec_queries(&block)
skip_query_cache_if_necessary do
@records =
if eager_loading?
apply_join_dependency do |relation, join_dependency|
if ActiveRecord::NullRelation === relation
[]
else
relation = join_dependency.apply_column_aliases(relation)
rows = connection.select_all(relation.arel, "SQL")
join_dependency.instantiate(rows, &block)
end.freeze
end
else
klass.find_by_sql(arel, &block).freeze
end
preload = preload_values
preload += includes_values unless eager_loading?
preloader = nil
preload.each do |associations|
preloader ||= build_preloader
preloader.preload @records, associations
end
@records.each(&:readonly!) if readonly_value
@loaded = true
@records
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:422
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:578
def skip_query_cache_if_necessary
if skip_query_cache_value
uncached do
yield
end
else
yield
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:547
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:579
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:472
def eager_loading?
@should_eager_load ||=
eager_load_values.any? ||
includes_values.any? && (joined_includes_values.any? || references_eager_loaded_tables?)
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:549
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:474
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:475
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:902
def arel(aliases = nil) # :nodoc:
@arel ||= build_arel(aliases)
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:560
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:926
def build_arel(aliases)
arel = Arel::SelectManager.new(table)
aliases = build_joins(arel, joins_values.flatten, aliases) unless joins_values.empty?
build_left_outer_joins(arel, left_outer_joins_values.flatten, aliases) unless left_outer_joins_values.empty?
arel.where(where_clause.ast) unless where_clause.empty?
arel.having(having_clause.ast) unless having_clause.empty?
if limit_value
limit_attribute = ActiveModel::Attribute.with_cast_value(
"LIMIT".freeze,
connection.sanitize_limit(limit_value),
Type.default_value,
)
arel.take(Arel::Nodes::BindParam.new(limit_attribute))
end
if offset_value
offset_attribute = ActiveModel::Attribute.with_cast_value(
"OFFSET".freeze,
offset_value.to_i,
Type.default_value,
)
arel.skip(Arel::Nodes::BindParam.new(offset_attribute))
end
arel.group(*arel_columns(group_values.uniq.reject(&:blank?))) unless group_values.empty?
build_order(arel)
build_select(arel)
arel.distinct(distinct_value)
arel.from(build_from) unless from_clause.empty?
arel.lock(lock_value) if lock_value
arel
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:903
vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:10
def initialize table = nil
super()
@ast = Nodes::SelectStatement.new
@ctx = @ast.cores.last
from table
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:927
vendor/bundle/gems/arel-9.0.0/lib/arel/tree_manager.rb:10
def initialize table = nil
super()
@ast = Nodes::SelectStatement.new
@ctx = @ast.cores.last
from table
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:11
vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/select_core.rb:8
def initialize
super()
@source = JoinSource.new nil
@top = nil
# http://savage.net.au/SQL/sql-92.bnf.html#set%20quantifier
@set_quantifier = nil
@projections = []
@wheres = []
@groups = []
@havings = []
@windows = []
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb:8
vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/join_source.rb:10
def initialize single_source, joinop = []
super
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/select_core.rb:10
vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/binary.rb:7
def initialize single_source, joinop = []
super
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/join_source.rb:11
vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb:8
def initialize cores = [SelectCore.new]
super()
@cores = cores
@orders = []
@limit = nil
@lock = nil
@offset = nil
@with = nil
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:12
vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:88
def from table
table = Nodes::SqlLiteral.new(table) if String === table
case table
when Nodes::Join
@ctx.source.right << table
else
@ctx.source.left = table
end
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:14
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:929
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:930
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:932
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/where_clause.rb:6
delegate :any?, :empty?, to: :predicates
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:932
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:933
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/where_clause.rb:6
delegate :any?, :empty?, to: :predicates
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:933
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:934
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:942
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:950
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1121
def build_order(arel)
orders = order_values.uniq
orders.reject!(&:blank?)
arel.order(*orders) unless orders.empty?
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:952
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1122
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1042
def build_select(arel)
if select_values.any?
arel.project(*arel_columns(select_values.uniq))
elsif klass.ignored_columns.any?
arel.project(*klass.column_names.map { |field| arel_attribute(field) })
else
arel.project(table[Arel.star])
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:954
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1043
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:264
def ignored_columns
if defined?(@ignored_columns)
@ignored_columns
else
superclass.ignored_columns
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1045
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:264
def ignored_columns
if defined?(@ignored_columns)
@ignored_columns
else
superclass.ignored_columns
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:268
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:264
def ignored_columns
if defined?(@ignored_columns)
@ignored_columns
else
superclass.ignored_columns
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:268
vendor/bundle/gems/arel-9.0.0/lib/arel.rb:33
def self.star
sql '*'
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1048
vendor/bundle/gems/arel-9.0.0/lib/arel.rb:29
def self.sql raw_sql
Arel::Nodes::SqlLiteral.new raw_sql
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel.rb:34
vendor/bundle/gems/arel-9.0.0/lib/arel/table.rb:80
def [] name
::Arel::Attribute.new self, name
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1048
vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:133
def project *projections
# FIXME: converting these to SQLLiterals is probably not good, but
# rails tests require it.
@ctx.projections.concat projections.map { |x|
STRING_OR_SYMBOL_CLASS.include?(x.class) ? Nodes::SqlLiteral.new(x.to_s) : x
}
self
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1048
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:956
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:150
def distinct(value = true)
if value
@ctx.set_quantifier = Arel::Nodes::Distinct.new
else
@ctx.set_quantifier = nil
end
self
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:956
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:957
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/from_clause.rb:17
def empty?
value.nil?
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:957
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:958
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:40
def find_by_sql(sql, binds = [], preparable: nil, &block)
result_set = connection.select_all(sanitize_sql(sql), "#{name} Load", binds, preparable: preparable)
column_types = result_set.column_types.dup
attribute_types.each_key { |k| column_types.delete k }
message_bus = ActiveSupport::Notifications.instrumenter
payload = {
record_count: result_set.length,
class_name: name
}
message_bus.instrument("instantiation.active_record", payload) do
result_set.map { |record| instantiate(record, column_types, &block) }
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:560
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:89
def connection
retrieve_connection
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:41
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:117
def retrieve_connection
connection_handler.retrieve_connection(connection_specification_name)
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:90
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/core.rb:130
def self.connection_handler
ActiveRecord::RuntimeRegistry.connection_handler || default_connection_handler
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:118
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:20
class_eval %{ def self.#{val}; instance.#{val}; end }, __FILE__, __LINE__
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/core.rb:131
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:96
def connection_specification_name
if !defined?(@connection_specification_name) || @connection_specification_name.nil?
return self == Base ? "primary" : superclass.connection_specification_name
end
@connection_specification_name
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:118
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:96
def connection_specification_name
if !defined?(@connection_specification_name) || @connection_specification_name.nil?
return self == Base ? "primary" : superclass.connection_specification_name
end
@connection_specification_name
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:98
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:96
def connection_specification_name
if !defined?(@connection_specification_name) || @connection_specification_name.nil?
return self == Base ? "primary" : superclass.connection_specification_name
end
@connection_specification_name
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:98
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1011
def retrieve_connection(spec_name) #:nodoc:
pool = retrieve_connection_pool(spec_name)
raise ConnectionNotEstablished, "No connection pool with '#{spec_name}' found." unless pool
pool.connection
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:118
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1039
def retrieve_connection_pool(spec_name)
owner_to_pool.fetch(spec_name) do
# Check if a connection was previously established in an ancestor process,
# which may have been forked.
if ancestor_pool = pool_from_any_process_for(spec_name)
# A connection was established in an ancestor process that must have
# subsequently forked. We can't reuse the connection, but we can copy
# the specification and establish a new connection with it.
establish_connection(ancestor_pool.spec.to_hash).tap do |pool|
pool.schema_cache = ancestor_pool.schema_cache if ancestor_pool.schema_cache
end
else
owner_to_pool[spec_name] = nil
end
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1012
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1058
def owner_to_pool
@owner_to_pool[Process.pid]
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1040
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:381
def connection
@thread_cached_conns[connection_cache_key(@lock_thread || Thread.current)] ||= checkout
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1014
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:667
def connection_cache_key(thread)
thread
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:382
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/sanitization.rb:22
def sanitize_sql_for_conditions(condition)
return nil if condition.blank?
case condition
when Array; sanitize_sql_array(condition)
else condition
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:41
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:95
def select_all(arel, name = nil, binds = [], preparable: nil)
if @query_cache_enabled && !locked?(arel)
arel = arel_from_relation(arel)
sql, binds = to_sql_and_binds(arel, binds)
if preparable.nil?
preparable = prepared_statements ? visitor.preparable : false
end
cache_sql(sql, name, binds) { super(sql, name, binds, preparable: preparable) }
else
super
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:41
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:135
def locked?(arel)
arel = arel.arel if arel.is_a?(Relation)
arel.respond_to?(:locked) && arel.locked
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:96
vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:68
def locked
@ast.lock
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:137
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:498
def arel_from_relation(relation)
if relation.is_a?(Relation)
relation.arel
else
relation
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:97
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:17
def to_sql_and_binds(arel_or_sql_string, binds = []) # :nodoc:
if arel_or_sql_string.respond_to?(:ast)
unless binds.empty?
raise "Passing bind parameters with an arel AST is forbidden. " \
"The values must be stored on the AST directly"
end
if prepared_statements
sql, binds = visitor.accept(arel_or_sql_string.ast, collector).value
if binds.length > bind_params_length
unprepared_statement do
sql, binds = to_sql_and_binds(arel_or_sql_string)
visitor.preparable = false
end
end
else
sql = visitor.accept(arel_or_sql_string.ast, collector).value
end
[sql.freeze, binds]
else
visitor.preparable = false if prepared_statements
[arel_or_sql_string.dup.freeze, binds]
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:98
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:609
def collector
if prepared_statements
Arel::Collectors::Composite.new(
Arel::Collectors::SQLString.new,
Arel::Collectors::Bind.new,
)
else
Arel::Collectors::SubstituteBinds.new(
self,
Arel::Collectors::SQLString.new,
)
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:25
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/sql_string.rb:8
def initialize(*)
super
@bind_index = 1
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:612
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:5
def initialize(*)
super
@bind_index = 1
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/sql_string.rb:9
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:6
def initialize
@binds = []
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:613
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:6
def initialize(left, right)
@left = left
@right = right
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:611
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/determine_if_preparable_visitor.rb:8
def accept(*)
@preparable = true
super
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:25
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:7
def accept(*)
@preparable = true
super
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/determine_if_preparable_visitor.rb:10
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:13
def visit object, collector
dispatch_method = dispatch[object.class]
send dispatch_method, object, collector
rescue NoMethodError => e
raise e if respond_to?(dispatch_method, true)
superklass = object.class.ancestors.find { |klass|
respond_to?(dispatch[klass], true)
}
raise(TypeError, "Cannot visit #{object.class}") unless superklass
dispatch[object.class] = dispatch[superklass]
retry
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:8
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/visitor.rb:25
def dispatch
@dispatch
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:14
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/sqlite.rb:12
def visit_Arel_Nodes_SelectStatement o, collector
o.limit = Arel::Nodes::Limit.new(-1) if o.offset && !o.limit
super
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:15
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:210
def visit_Arel_Nodes_SelectStatement o, collector
o.limit = Arel::Nodes::Limit.new(-1) if o.offset && !o.limit
super
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/sqlite.rb:14
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:240
def visit_Arel_Nodes_SelectCore o, collector
collector << "SELECT"
collector = maybe_visit o.top, collector
collector = maybe_visit o.set_quantifier, collector
collect_nodes_for o.projections, collector, SPACE
if o.source && !o.source.empty?
collector << " FROM "
collector = visit o.source, collector
end
collect_nodes_for o.wheres, collector, WHERE, AND
collect_nodes_for o.groups, collector, GROUP_BY
unless o.havings.empty?
collector << " HAVING "
inject_join o.havings, collector, AND
end
collect_nodes_for o.windows, collector, WINDOW
collector
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:217
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:11
def << str
left << str
right << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:241
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:13
def << str
@str << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:12
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:10
def << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:13
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:812
def maybe_visit thing, collector
return collector unless thing
collector << " "
visit thing, collector
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:243
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:812
def maybe_visit thing, collector
return collector unless thing
collector << " "
visit thing, collector
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:245
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:265
def collect_nodes_for nodes, collector, spacer, connector = COMMA
unless nodes.empty?
collector << spacer
len = nodes.length - 1
nodes.each_with_index do |x, i|
collector = visit(x, collector)
collector << connector unless len == i
end
end
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:247
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:11
def << str
left << str
right << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:267
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:13
def << str
@str << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:12
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:10
def << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:13
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:13
def visit object, collector
dispatch_method = dispatch[object.class]
send dispatch_method, object, collector
rescue NoMethodError => e
raise e if respond_to?(dispatch_method, true)
superklass = object.class.ancestors.find { |klass|
respond_to?(dispatch[klass], true)
}
raise(TypeError, "Cannot visit #{object.class}") unless superklass
dispatch[object.class] = dispatch[superklass]
retry
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:270
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/visitor.rb:25
def dispatch
@dispatch
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:14
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:727
def visit_Arel_Attributes_Attribute o, collector
join_name = o.relation.table_alias || o.relation.name
collector << "#{quote_table_name join_name}.#{quote_column_name o.name}"
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:15
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:802
def quote_table_name name
return name if Arel::Nodes::SqlLiteral === name
@connection.quote_table_name(name)
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:729
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3/quoting.rb:15
def quote_table_name(name)
@quoted_table_names[name] ||= super.gsub(".", "\".\"").freeze
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:804
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:807
def quote_column_name name
return name if Arel::Nodes::SqlLiteral === name
@connection.quote_column_name(name)
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:729
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:11
def << str
left << str
right << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:729
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:13
def << str
@str << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:12
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:10
def << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:13
vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/join_source.rb:14
def empty?
!left && right.empty?
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:249
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:11
def << str
left << str
right << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:250
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:13
def << str
@str << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:12
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:10
def << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:13
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:13
def visit object, collector
dispatch_method = dispatch[object.class]
send dispatch_method, object, collector
rescue NoMethodError => e
raise e if respond_to?(dispatch_method, true)
superklass = object.class.ancestors.find { |klass|
respond_to?(dispatch[klass], true)
}
raise(TypeError, "Cannot visit #{object.class}") unless superklass
dispatch[object.class] = dispatch[superklass]
retry
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:251
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/visitor.rb:25
def dispatch
@dispatch
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:14
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:544
def visit_Arel_Nodes_JoinSource o, collector
if o.left
collector = visit o.left, collector
end
if o.right.any?
collector << SPACE if o.left
collector = inject_join o.right, collector, SPACE
end
collector
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:15
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:13
def visit object, collector
dispatch_method = dispatch[object.class]
send dispatch_method, object, collector
rescue NoMethodError => e
raise e if respond_to?(dispatch_method, true)
superklass = object.class.ancestors.find { |klass|
respond_to?(dispatch[klass], true)
}
raise(TypeError, "Cannot visit #{object.class}") unless superklass
dispatch[object.class] = dispatch[superklass]
retry
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:546
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/visitor.rb:25
def dispatch
@dispatch
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:14
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:609
def visit_Arel_Table o, collector
if o.table_alias
collector << "#{quote_table_name o.name} #{quote_table_name o.table_alias}"
else
collector << quote_table_name(o.name)
end
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:15
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:802
def quote_table_name name
return name if Arel::Nodes::SqlLiteral === name
@connection.quote_table_name(name)
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:613
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3/quoting.rb:15
def quote_table_name(name)
@quoted_table_names[name] ||= super.gsub(".", "\".\"").freeze
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:804
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:11
def << str
left << str
right << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:613
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:13
def << str
@str << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:12
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:10
def << str
self
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:13
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:265
def collect_nodes_for nodes, collector, spacer, connector = COMMA
unless nodes.empty?
collector << spacer
len = nodes.length - 1
nodes.each_with_index do |x, i|
collector = visit(x, collector)
collector << connector unless len == i
end
end
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:254
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:265
def collect_nodes_for nodes, collector, spacer, connector = COMMA
unless nodes.empty?
collector << spacer
len = nodes.length - 1
nodes.each_with_index do |x, i|
collector = visit(x, collector)
collector << connector unless len == i
end
end
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:255
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:265
def collect_nodes_for nodes, collector, spacer, connector = COMMA
unless nodes.empty?
collector << spacer
len = nodes.length - 1
nodes.each_with_index do |x, i|
collector = visit(x, collector)
collector << connector unless len == i
end
end
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:260
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:234
def visit_Arel_Nodes_SelectOptions o, collector
collector = maybe_visit o.limit, collector
collector = maybe_visit o.offset, collector
collector = maybe_visit o.lock, collector
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:229
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:812
def maybe_visit thing, collector
return collector unless thing
collector << " "
visit thing, collector
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:235
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:812
def maybe_visit thing, collector
return collector unless thing
collector << " "
visit thing, collector
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:236
vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:812
def maybe_visit thing, collector
return collector unless thing
collector << " "
visit thing, collector
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:237
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:23
def value
[left.value, right.value]
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:25
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:9
def value
@str
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:24
vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:19
def value
@binds
end
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:24
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_limits.rb:67
def bind_params_length
65535
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:27
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:112
def cache_sql(sql, name, binds)
@lock.synchronize do
result =
if @query_cache[sql].key?(binds)
ActiveSupport::Notifications.instrument(
"sql.active_record",
sql: sql,
binds: binds,
type_casted_binds: -> { type_casted_binds(binds) },
name: name,
connection_id: object_id,
cached: true,
)
@query_cache[sql][binds]
else
@query_cache[sql][binds] = yield
end
result.dup
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:104
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:59
def select_all(arel, name = nil, binds = [], preparable: nil)
if @query_cache_enabled && !locked?(arel)
arel = arel_from_relation(arel)
sql, binds = to_sql_and_binds(arel, binds)
if preparable.nil?
preparable = prepared_statements ? visitor.preparable : false
end
cache_sql(sql, name, binds) { super(sql, name, binds, preparable: preparable) }
else
super
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:104
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:498
def arel_from_relation(relation)
if relation.is_a?(Relation)
relation.arel
else
relation
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:60
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:17
def to_sql_and_binds(arel_or_sql_string, binds = []) # :nodoc:
if arel_or_sql_string.respond_to?(:ast)
unless binds.empty?
raise "Passing bind parameters with an arel AST is forbidden. " \
"The values must be stored on the AST directly"
end
if prepared_statements
sql, binds = visitor.accept(arel_or_sql_string.ast, collector).value
if binds.length > bind_params_length
unprepared_statement do
sql, binds = to_sql_and_binds(arel_or_sql_string)
visitor.preparable = false
end
end
else
sql = visitor.accept(arel_or_sql_string.ast, collector).value
end
[sql.freeze, binds]
else
visitor.preparable = false if prepared_statements
[arel_or_sql_string.dup.freeze, binds]
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:61
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:481
def select_prepared(sql, name = nil, binds = [])
exec_query(sql, name, binds, prepare: true)
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:68
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:209
def exec_query(sql, name = nil, binds = [], prepare: false)
type_casted_binds = type_casted_binds(binds)
log(sql, name, binds, type_casted_binds) do
ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
# Don't cache statements if they are not prepared
unless prepare
stmt = @connection.prepare(sql)
begin
cols = stmt.columns
unless without_prepared_statement?(binds)
stmt.bind_params(type_casted_binds)
end
records = stmt.to_a
ensure
stmt.close
end
else
cache = @statements[sql] ||= {
stmt: @connection.prepare(sql)
}
stmt = cache[:stmt]
cols = cache[:cols] ||= stmt.columns
stmt.reset!
stmt.bind_params(type_casted_binds)
records = stmt.to_a
end
ActiveRecord::Result.new(cols, records)
end
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:482
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/quoting.rb:141
def type_casted_binds(binds) # :nodoc:
if binds.first.is_a?(Array)
binds.map { |column, value| type_cast(value, column) }
else
binds.map { |attr| type_cast(attr.value_for_database) }
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:210
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:570
def log(sql, name = "SQL", binds = [], type_casted_binds = [], statement_name = nil) # :doc:
@instrumenter.instrument(
"sql.active_record",
sql: sql,
name: name,
binds: binds,
type_casted_binds: type_casted_binds,
statement_name: statement_name,
connection_id: object_id) do
begin
@lock.synchronize do
yield
end
rescue => e
raise translate_exception_class(e, sql)
end
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:212
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90
def logger
ActiveRecord::Base.logger
end
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/log_subscriber.rb:80
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/explain_subscriber.rb:8
def start(name, id, payload)
# unused
end
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/notifications/fanout.rb:100
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/statement_pool.rb:23
def [](key)
cache[key]
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:227
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/statement_pool.rb:52
def cache
@cache[Process.pid]
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/statement_pool.rb:24
vendor/bundle/gems/sqlite3-1.4.1/lib/sqlite3/statement.rb:35
def bind_params( *bind_vars )
index = 1
bind_vars.flatten.each do |var|
if Hash === var
var.each { |key, val| bind_param key, val }
else
bind_param index, var
index += 1
end
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:233
vendor/bundle/gems/sqlite3-1.4.1/lib/sqlite3/statement.rb:106
def each
loop do
val = step
break self if done?
yield val
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:234
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:39
def initialize(columns, rows, column_types = {})
@columns = columns
@rows = rows
@hash_rows = nil
@column_types = column_types
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:237
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90
def logger
ActiveRecord::Base.logger
end
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/log_subscriber.rb:84
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:20
def sql(event)
self.class.runtime += event.duration
return unless logger.debug?
payload = event.payload
return if IGNORE_PAYLOAD_NAMES.include?(payload[:name])
name = "#{payload[:name]} (#{event.duration.round(1)}ms)"
name = "CACHE #{name}" if payload[:cached]
sql = payload[:sql]
binds = nil
unless (payload[:binds] || []).empty?
casted_params = type_casted_binds(payload[:type_casted_binds])
binds = " " + payload[:binds].zip(casted_params).map { |attr, value|
render_bind(attr, value)
}.inspect
end
name = colorize_payload_name(name, payload[:name])
sql = color(sql, sql_color(sql), true)
debug " #{name} #{sql}#{binds}"
end
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/subscriber.rb:101
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:11
def self.runtime
ActiveRecord::RuntimeRegistry.sql_runtime ||= 0
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:21
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:20
class_eval %{ def self.#{val}; instance.#{val}; end }, __FILE__, __LINE__
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:12
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:7
def self.runtime=(value)
ActiveRecord::RuntimeRegistry.sql_runtime = value
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:21
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:21
class_eval %{ def self.#{val}=(x); instance.#{val}=x; end }, __FILE__, __LINE__
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:8
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90
def logger
ActiveRecord::Base.logger
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:22
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:61
def colorize_payload_name(name, payload_name)
if payload_name.blank? || payload_name == "SQL" # SQL vs Model Load/Exists
color(name, MAGENTA, true)
else
color(name, CYAN, true)
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:40
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:69
def sql_color(sql)
case sql
when /\A\s*rollback/mi
RED
when /select .*for update/mi, /\A\s*lock/mi
WHITE
when /\A\s*select/i
BLUE
when /\A\s*insert/i
GREEN
when /\A\s*update/i
YELLOW
when /\A\s*delete/i
RED
when /transaction\s*\Z/i
CYAN
else
MAGENTA
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:41
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:94
def debug(progname = nil, &block)
return unless super
if ActiveRecord::Base.verbose_query_logs
log_query_source
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:43
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90
def logger
ActiveRecord::Base.logger
end
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/log_subscriber.rb:96
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90
def logger
ActiveRecord::Base.logger
end
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/log_subscriber.rb:96
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:102
def log_query_source
source_line, line_number = extract_callstack(caller_locations)
if source_line
if defined?(::Rails.root)
app_root = "#{::Rails.root.to_s}/".freeze
source_line = source_line.sub(app_root, "")
end
logger.debug(" ↳ #{ source_line }:#{ line_number }")
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:115
def extract_callstack(callstack)
line = callstack.find do |frame|
frame.absolute_path && !ignored_callstack(frame.absolute_path)
end
offending_line = line || callstack.first
[
offending_line.path,
offending_line.lineno
]
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:103
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130
def ignored_callstack(path)
path.start_with?(RAILS_GEM_ROOT) ||
path.start_with?(RbConfig::CONFIG["rubylibdir"])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
vendor/bundle/gems/railties-5.2.3/lib/rails.rb:63
def root
application && application.config.root
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:107
vendor/bundle/gems/railties-5.2.3/lib/rails.rb:39
def application
@application ||= (app_class.instance if app_class)
end
# called from vendor/bundle/gems/railties-5.2.3/lib/rails.rb:64
vendor/bundle/gems/railties-5.2.3/lib/rails.rb:39
def application
@application ||= (app_class.instance if app_class)
end
# called from vendor/bundle/gems/railties-5.2.3/lib/rails.rb:64
vendor/bundle/gems/railties-5.2.3/lib/rails/application.rb:372
def config #:nodoc:
@config ||= Application::Configuration.new(self.class.find_root(self.class.called_from))
end
# called from vendor/bundle/gems/railties-5.2.3/lib/rails.rb:64
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90
def logger
ActiveRecord::Base.logger
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:111
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/explain_subscriber.rb:12
def finish(name, id, payload)
if ExplainRegistry.collect? && !ignore_payload?(payload)
ExplainRegistry.queries << payload.values_at(:sql, :binds)
end
end
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/notifications/fanout.rb:104
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/explain_registry.rb:23
def collect?
@collect
end
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/per_thread_registry.rb:55
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:108
def initialize_copy(other)
@columns = columns.dup
@rows = rows.dup
@column_types = column_types.dup
@hash_rows = nil
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:129
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:345
def attribute_types # :nodoc:
load_schema
@attribute_types ||= Hash.new(Type.default_value)
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:43
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:454
def load_schema
return if schema_loaded?
@load_schema_monitor.synchronize do
return if defined?(@columns_hash) && @columns_hash
load_schema!
@schema_loaded = true
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:346
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:450
def schema_loaded?
defined?(@schema_loaded) && @schema_loaded
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:455
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:47
def length
@rows.length
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:47
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:55
def each
if block_given?
hash_rows.each { |row| yield row }
else
hash_rows.to_enum { @rows.size }
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:52
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:123
def hash_rows
@hash_rows ||=
begin
# We freeze the strings to prevent them getting duped when
# used as keys in ActiveRecord::Base's @attributes hash
columns = @columns.map { |c| c.dup.freeze }
@rows.map { |row|
# In the past we used Hash[columns.zip(row)]
# though elegant, the verbose way is much more efficient
# both time and memory wise cause it avoids a big array allocation
# this method is called a lot and needs to be micro optimised
hash = {}
index = 0
length = columns.length
while index < length
hash[columns[index]] = row[index]
index += 1
end
hash
}
end
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:57
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:563
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:472
def eager_loading?
@should_eager_load ||=
eager_load_values.any? ||
includes_values.any? && (joined_includes_values.any? || references_eager_loaded_tables?)
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:564
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:474
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:475
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:564
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69
def #{method_name} # def includes_values
get_value(#{name.inspect}) # get_value(:includes)
end # end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:571
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907
def get_value(name) # :nodoc:
@values.fetch(name, DEFAULT_VALUES[name])
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:150
delegate :headers, :status=, :location=, :content_type=,
:status, :location, :content_type, to: "@_response"
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:166
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:247
def content_type
parsed_content_type_header.mime_type
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:150
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:422
def parsed_content_type_header
parse_content_type(get_header(CONTENT_TYPE))
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:248
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:182
def get_header(key); headers[key]; end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:412
def parse_content_type(content_type)
if content_type && match = CONTENT_TYPE_PARSER.match(content_type)
ContentTypeHeader.new(match[:type], match[:charset])
else
NullContentTypeHeader
end
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:40
def [](type)
return type if type.is_a?(Type)
Type.lookup_by_extension(type)
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:166
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:148
def lookup_by_extension(extension)
EXTENSION_LOOKUP[extension.to_s]
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:42
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:150
delegate :headers, :status=, :location=, :content_type=,
:status, :location, :content_type, to: "@_response"
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:166
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:229
def content_type=(content_type)
return unless content_type
new_header_info = parse_content_type(content_type.to_s)
prev_header_info = parsed_content_type_header
charset = new_header_info.charset || prev_header_info.charset
charset ||= self.class.default_charset unless prev_header_info.mime_type
set_content_type new_header_info.mime_type, charset
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:150
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:232
def to_s
@string
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:231
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:412
def parse_content_type(content_type)
if content_type && match = CONTENT_TYPE_PARSER.match(content_type)
ContentTypeHeader.new(match[:type], match[:charset])
else
NullContentTypeHeader
end
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:231
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:422
def parsed_content_type_header
parse_content_type(get_header(CONTENT_TYPE))
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:232
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:182
def get_header(key); headers[key]; end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:412
def parse_content_type(content_type)
if content_type && match = CONTENT_TYPE_PARSER.match(content_type)
ContentTypeHeader.new(match[:type], match[:charset])
else
NullContentTypeHeader
end
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:426
def set_content_type(content_type, charset)
type = (content_type || "").dup
type << "; charset=#{charset.to_s.downcase}" if charset
set_header CONTENT_TYPE, type
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:235
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:183
def set_header(key, v); headers[key] = v; end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:429
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:44
def []=(k, v)
if @response.sending? || @response.sent?
raise ActionDispatch::IllegalStateError, "header already sent"
end
super
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:183
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:219
def sending?; synchronize { @sending }; end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:45
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:221
def sent?; synchronize { @sent }; end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:45
vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:54
def rendered_format
Mime[:text]
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:29
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:40
def [](type)
return type if type.is_a?(Type)
Type.lookup_by_extension(type)
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:55
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:148
def lookup_by_extension(extension)
EXTENSION_LOOKUP[extension.to_s]
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:42
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:75
def _set_rendered_content_type(format)
if format && !response.content_type
self.content_type = format.to_s
end
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:29
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:247
def content_type
parsed_content_type_header.mime_type
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:76
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:422
def parsed_content_type_header
parse_content_type(get_header(CONTENT_TYPE))
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:248
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:182
def get_header(key); headers[key]; end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:412
def parse_content_type(content_type)
if content_type && match = CONTENT_TYPE_PARSER.match(content_type)
ContentTypeHeader.new(match[:type], match[:charset])
else
NullContentTypeHeader
end
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:175
def response_body=(body)
body = [body] unless body.nil? || body.respond_to?(:each)
response.reset_body!
return unless body
response.body = body
super
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:31
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:352
def reset_body!
@stream = build_buffer(self, [])
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:177
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:452
def build_buffer(response, body)
Buffer.new response, body
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:353
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:100
def initialize(response, buf)
@response = response
@buf = buf
@closed = false
@str_body = nil
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:453
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:312
def body=(body)
if body.respond_to?(:to_path)
@stream = body
else
synchronize do
@stream = build_buffer self, munge_body_object(body)
end
end
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:179
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:456
def munge_body_object(body)
body.respond_to?(:each) ? body : [body]
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:317
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:452
def build_buffer(response, body)
Buffer.new response, body
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:317
vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:100
def initialize(response, buf)
@response = response
@buf = buf
@closed = false
@str_body = nil
end
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:453
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:15
def self.reset_runtime
rt, self.runtime = runtime, 0
rt
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/railties/controller_runtime.rb:32
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:11
def self.runtime
ActiveRecord::RuntimeRegistry.sql_runtime ||= 0
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:16
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:20
class_eval %{ def self.#{val}; instance.#{val}; end }, __FILE__, __LINE__
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:12
vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:7
def self.runtime=(value)
ActiveRecord::RuntimeRegistry.sql_runtime = value
end
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:16