Generated by [trace_location](https://github.com/yhirano55/trace_location) at 2019-06-08 01:37:49 +0900
vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:43 ##### ActionController::Instrumentation#render ```ruby 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 ##### ActiveRecord::Railties::ControllerRuntime#cleanup_view_runtime ```ruby 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 ##### ActiveRecord::ConnectionHandling.connected? ```ruby 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 ##### ActiveRecord::Base.connection_handler ```ruby 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 ##### ActiveRecord::RuntimeRegistry.connection_handler ```ruby 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 ##### ActiveRecord::ConnectionHandling.connection_specification_name ```ruby 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 ##### ActiveRecord::ConnectionAdapters::ConnectionHandler#connected? ```ruby 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 ##### ActiveRecord::ConnectionAdapters::ConnectionHandler#retrieve_connection_pool ```ruby 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 ##### ActiveRecord::ConnectionAdapters::ConnectionHandler#owner_to_pool ```ruby 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 ##### ActiveRecord::ConnectionAdapters::ConnectionPool#connected? ```ruby 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 ##### ActiveRecord::LogSubscriber.reset_runtime ```ruby 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 ##### ActiveRecord::LogSubscriber.runtime ```ruby 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 ##### ActiveRecord::RuntimeRegistry.sql_runtime ```ruby 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 ##### ActiveRecord::LogSubscriber.runtime= ```ruby 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 ##### ActiveRecord::RuntimeRegistry.sql_runtime= ```ruby 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 ##### ActiveRecord::Railties::ControllerRuntime#cleanup_view_runtime ```ruby 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 ##### ActionController::Instrumentation#render ```ruby 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 ##### ActionController::Instrumentation#render ```ruby 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 ##### AbstractController::Rendering#_normalize_render ```ruby 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 ##### ActionController::Rendering#_normalize_args ```ruby 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 ##### ActionController::Rendering#_normalize_args ```ruby 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 ##### ActionController::Rendering#_process_variant ```ruby 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 ##### ActionDispatch::Http::MimeNegotiation#variant ```ruby 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 ##### ActionController::Rendering#_normalize_options ```ruby 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 ##### ActionController::Rendering#_normalize_text ```ruby 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 ##### ActionController::Rendering#_normalize_options ```ruby 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 ##### ActionController::Renderers#render_to_body ```ruby 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 ##### ActionController::Renderers#_render_to_body_with_renderer ```ruby 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 ##### ActionController::Rendering#_process_options ```ruby 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 ##### ActionController::Rendering#_process_options ```ruby 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 ##### ActionController::Renderers._render_with_renderer_method_name ```ruby 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 ##### ActionController::Renderers#_render_with_renderer_json ```ruby 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 ##### ActiveRecord::Delegation#as_json ```ruby 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 ##### ActiveRecord::Relation#records ```ruby 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 ##### ActiveRecord::Relation#load ```ruby 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 ##### ActiveRecord::Relation#exec_queries ```ruby 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 ##### ActiveRecord::Relation#skip_query_cache_if_necessary ```ruby 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 ##### ActiveRecord::QueryMethods#skip_query_cache_value ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::Relation#eager_loading? ```ruby 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 ##### ActiveRecord::QueryMethods#eager_load_values ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::QueryMethods#includes_values ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::QueryMethods#arel ```ruby 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 ##### ActiveRecord::QueryMethods#build_arel ```ruby 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 ##### Arel::SelectManager#initialize ```ruby 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 ##### Arel::SelectManager#initialize ```ruby 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 ##### Arel::Nodes::SelectCore#initialize ```ruby 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 ##### Arel::Nodes::JoinSource#initialize ```ruby 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 ##### Arel::Nodes::JoinSource#initialize ```ruby 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 ##### Arel::Nodes::SelectStatement#initialize ```ruby 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 ##### Arel::SelectManager#from ```ruby 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 ##### ActiveRecord::QueryMethods#joins_values ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::QueryMethods#left_outer_joins_values ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::QueryMethods#where_clause ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::Relation::WhereClause#empty? ```ruby 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 ##### ActiveRecord::QueryMethods#having_clause ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::Relation::WhereClause#empty? ```ruby 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 ##### ActiveRecord::QueryMethods#limit_value ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::QueryMethods#offset_value ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::QueryMethods#group_values ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::QueryMethods#build_order ```ruby 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 ##### ActiveRecord::QueryMethods#order_values ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::QueryMethods#build_select ```ruby 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 ##### ActiveRecord::QueryMethods#select_values ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::ModelSchema::ClassMethods.ignored_columns ```ruby 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 ##### ActiveRecord::ModelSchema::ClassMethods.ignored_columns ```ruby 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 ##### ActiveRecord::ModelSchema::ClassMethods.ignored_columns ```ruby 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 ##### Arel.star ```ruby 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 ##### Arel.sql ```ruby 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 ##### Arel::Table#[] ```ruby 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 ##### Arel::SelectManager#project ```ruby 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 ##### ActiveRecord::QueryMethods#distinct_value ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### Arel::SelectManager#distinct ```ruby 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 ##### ActiveRecord::QueryMethods#from_clause ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::Relation::FromClause#empty? ```ruby 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 ##### ActiveRecord::QueryMethods#lock_value ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::Querying.find_by_sql ```ruby 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 ##### ActiveRecord::ConnectionHandling.connection ```ruby 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 ##### ActiveRecord::ConnectionHandling.retrieve_connection ```ruby 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 ##### ActiveRecord::Base.connection_handler ```ruby 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 ##### ActiveRecord::RuntimeRegistry.connection_handler ```ruby 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 ##### ActiveRecord::ConnectionHandling.connection_specification_name ```ruby 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 ##### ActiveRecord::ConnectionHandling.connection_specification_name ```ruby 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 ##### ActiveRecord::ConnectionHandling.connection_specification_name ```ruby 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 ##### ActiveRecord::ConnectionAdapters::ConnectionHandler#retrieve_connection ```ruby 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 ##### ActiveRecord::ConnectionAdapters::ConnectionHandler#retrieve_connection_pool ```ruby 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 ##### ActiveRecord::ConnectionAdapters::ConnectionHandler#owner_to_pool ```ruby 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 ##### ActiveRecord::ConnectionAdapters::ConnectionPool#connection ```ruby 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 ##### ActiveRecord::ConnectionAdapters::ConnectionPool#connection_cache_key ```ruby 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 ##### ActiveRecord::Sanitization::ClassMethods.sanitize_sql_for_conditions ```ruby 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 ##### ActiveRecord::ConnectionAdapters::QueryCache#select_all ```ruby 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 ##### ActiveRecord::ConnectionAdapters::QueryCache#locked? ```ruby 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 ##### Arel::SelectManager#locked ```ruby 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 ##### ActiveRecord::ConnectionAdapters::DatabaseStatements#arel_from_relation ```ruby 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 ##### ActiveRecord::ConnectionAdapters::DatabaseStatements#to_sql_and_binds ```ruby 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 ##### ActiveRecord::ConnectionAdapters::AbstractAdapter#collector ```ruby 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 ##### Arel::Collectors::SQLString#initialize ```ruby 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 ##### Arel::Collectors::SQLString#initialize ```ruby 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 ##### Arel::Collectors::Bind#initialize ```ruby 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 ##### Arel::Collectors::Composite#initialize ```ruby 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 ##### ActiveRecord::ConnectionAdapters::DetermineIfPreparableVisitor#accept ```ruby 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 ##### ActiveRecord::ConnectionAdapters::DetermineIfPreparableVisitor#accept ```ruby 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 ##### Arel::Visitors::Reduce#visit ```ruby 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 ##### Arel::Visitors::Visitor#dispatch ```ruby 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 ##### Arel::Visitors::SQLite#visit_Arel_Nodes_SelectStatement ```ruby 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 ##### Arel::Visitors::SQLite#visit_Arel_Nodes_SelectStatement ```ruby 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 ##### Arel::Visitors::ToSql#visit_Arel_Nodes_SelectCore ```ruby 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 ##### Arel::Collectors::Composite#<< ```ruby 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 ##### Arel::Collectors::PlainString#<< ```ruby 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 ##### Arel::Collectors::Bind#<< ```ruby 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 ##### Arel::Visitors::ToSql#maybe_visit ```ruby 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 ##### Arel::Visitors::ToSql#maybe_visit ```ruby 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 ##### Arel::Visitors::ToSql#collect_nodes_for ```ruby 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 ##### Arel::Collectors::Composite#<< ```ruby 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 ##### Arel::Collectors::PlainString#<< ```ruby 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 ##### Arel::Collectors::Bind#<< ```ruby 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 ##### Arel::Visitors::Reduce#visit ```ruby 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 ##### Arel::Visitors::Visitor#dispatch ```ruby 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 ##### Arel::Visitors::ToSql#visit_Arel_Attributes_Attribute ```ruby 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 ##### Arel::Visitors::ToSql#quote_table_name ```ruby 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 ##### ActiveRecord::ConnectionAdapters::SQLite3::Quoting#quote_table_name ```ruby 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 ##### Arel::Visitors::ToSql#quote_column_name ```ruby 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 ##### Arel::Collectors::Composite#<< ```ruby 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 ##### Arel::Collectors::PlainString#<< ```ruby 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 ##### Arel::Collectors::Bind#<< ```ruby 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 ##### Arel::Nodes::JoinSource#empty? ```ruby 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 ##### Arel::Collectors::Composite#<< ```ruby 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 ##### Arel::Collectors::PlainString#<< ```ruby 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 ##### Arel::Collectors::Bind#<< ```ruby 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 ##### Arel::Visitors::Reduce#visit ```ruby 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 ##### Arel::Visitors::Visitor#dispatch ```ruby 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 ##### Arel::Visitors::ToSql#visit_Arel_Nodes_JoinSource ```ruby 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 ##### Arel::Visitors::Reduce#visit ```ruby 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 ##### Arel::Visitors::Visitor#dispatch ```ruby 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 ##### Arel::Visitors::ToSql#visit_Arel_Table ```ruby 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 ##### Arel::Visitors::ToSql#quote_table_name ```ruby 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 ##### ActiveRecord::ConnectionAdapters::SQLite3::Quoting#quote_table_name ```ruby 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 ##### Arel::Collectors::Composite#<< ```ruby 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 ##### Arel::Collectors::PlainString#<< ```ruby 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 ##### Arel::Collectors::Bind#<< ```ruby 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 ##### Arel::Visitors::ToSql#collect_nodes_for ```ruby 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 ##### Arel::Visitors::ToSql#collect_nodes_for ```ruby 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 ##### Arel::Visitors::ToSql#collect_nodes_for ```ruby 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 ##### Arel::Visitors::ToSql#visit_Arel_Nodes_SelectOptions ```ruby 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 ##### Arel::Visitors::ToSql#maybe_visit ```ruby 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 ##### Arel::Visitors::ToSql#maybe_visit ```ruby 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 ##### Arel::Visitors::ToSql#maybe_visit ```ruby 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 ##### Arel::Collectors::Composite#value ```ruby 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 ##### Arel::Collectors::PlainString#value ```ruby 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 ##### Arel::Collectors::Bind#value ```ruby 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 ##### ActiveRecord::ConnectionAdapters::DatabaseLimits#bind_params_length ```ruby 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 ##### ActiveRecord::ConnectionAdapters::QueryCache#cache_sql ```ruby 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 ##### ActiveRecord::ConnectionAdapters::QueryCache#select_all ```ruby 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 ##### ActiveRecord::ConnectionAdapters::DatabaseStatements#arel_from_relation ```ruby 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 ##### ActiveRecord::ConnectionAdapters::DatabaseStatements#to_sql_and_binds ```ruby 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 ##### ActiveRecord::ConnectionAdapters::DatabaseStatements#select_prepared ```ruby 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 ##### ActiveRecord::ConnectionAdapters::SQLite3Adapter#exec_query ```ruby 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 ##### ActiveRecord::ConnectionAdapters::Quoting#type_casted_binds ```ruby 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 ##### ActiveRecord::ConnectionAdapters::AbstractAdapter#log ```ruby 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 ##### ActiveRecord::LogSubscriber#logger ```ruby 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 ##### ActiveRecord::ExplainSubscriber#start ```ruby 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 ##### ActiveRecord::ConnectionAdapters::StatementPool#[] ```ruby 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 ##### ActiveRecord::ConnectionAdapters::StatementPool#cache ```ruby 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 ##### SQLite3::Statement#bind_params ```ruby 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 ##### SQLite3::Statement#each ```ruby 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 ##### ActiveRecord::Result#initialize ```ruby 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 ##### ActiveRecord::LogSubscriber#logger ```ruby 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 ##### ActiveRecord::LogSubscriber#sql ```ruby 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 ##### ActiveRecord::LogSubscriber.runtime ```ruby 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 ##### ActiveRecord::RuntimeRegistry.sql_runtime ```ruby 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 ##### ActiveRecord::LogSubscriber.runtime= ```ruby 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 ##### ActiveRecord::RuntimeRegistry.sql_runtime= ```ruby 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 ##### ActiveRecord::LogSubscriber#logger ```ruby 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 ##### ActiveRecord::LogSubscriber#colorize_payload_name ```ruby 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 ##### ActiveRecord::LogSubscriber#sql_color ```ruby 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 ##### ActiveRecord::LogSubscriber#debug ```ruby 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 ##### ActiveRecord::LogSubscriber#logger ```ruby 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 ##### ActiveRecord::LogSubscriber#logger ```ruby 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 ##### ActiveRecord::LogSubscriber#log_query_source ```ruby 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 ##### ActiveRecord::LogSubscriber#extract_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### ActiveRecord::LogSubscriber#ignored_callstack ```ruby 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 ##### Rails.root ```ruby 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 ##### Rails.application ```ruby 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 ##### Rails.application ```ruby 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 ##### Rails::Application#config ```ruby 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 ##### ActiveRecord::LogSubscriber#logger ```ruby 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 ##### ActiveRecord::ExplainSubscriber#finish ```ruby 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 ##### ActiveRecord::ExplainRegistry#collect? ```ruby 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 ##### ActiveRecord::Result#initialize_copy ```ruby 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 ##### ActiveRecord::ModelSchema::ClassMethods.attribute_types ```ruby 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 ##### ActiveRecord::ModelSchema::ClassMethods.load_schema ```ruby 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 ##### ActiveRecord::ModelSchema::ClassMethods.schema_loaded? ```ruby 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 ##### ActiveRecord::Result#length ```ruby 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 ##### ActiveRecord::Result#each ```ruby 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 ##### ActiveRecord::Result#hash_rows ```ruby 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 ##### ActiveRecord::QueryMethods#preload_values ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::Relation#eager_loading? ```ruby 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 ##### ActiveRecord::QueryMethods#eager_load_values ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::QueryMethods#includes_values ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::QueryMethods#includes_values ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActiveRecord::QueryMethods#readonly_value ```ruby 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 ##### ActiveRecord::QueryMethods#get_value ```ruby 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 ##### ActionController::Metal#content_type ```ruby 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 ##### ActionDispatch::Response#content_type ```ruby 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 ##### ActionDispatch::Response#parsed_content_type_header ```ruby 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 ##### ActionDispatch::Response#get_header ```ruby 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 ##### ActionDispatch::Response#parse_content_type ```ruby 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 ##### Mime.[] ```ruby 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 ##### Mime::Type.lookup_by_extension ```ruby 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 ##### ActionController::Metal#content_type= ```ruby 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 ##### ActionDispatch::Response#content_type= ```ruby 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 ##### Mime::Type#to_s ```ruby 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 ##### ActionDispatch::Response#parse_content_type ```ruby 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 ##### ActionDispatch::Response#parsed_content_type_header ```ruby 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 ##### ActionDispatch::Response#get_header ```ruby 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 ##### ActionDispatch::Response#parse_content_type ```ruby 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 ##### ActionDispatch::Response#set_content_type ```ruby 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 ##### ActionDispatch::Response#set_header ```ruby 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 ##### ActionDispatch::Response::Header#[]= ```ruby 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 ##### ActionDispatch::Response#sending? ```ruby 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 ##### ActionDispatch::Response#sent? ```ruby 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 ##### AbstractController::Rendering#rendered_format ```ruby 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 ##### Mime.[] ```ruby 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 ##### Mime::Type.lookup_by_extension ```ruby 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 ##### ActionController::Rendering#_set_rendered_content_type ```ruby 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 ##### ActionDispatch::Response#content_type ```ruby 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 ##### ActionDispatch::Response#parsed_content_type_header ```ruby 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 ##### ActionDispatch::Response#get_header ```ruby 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 ##### ActionDispatch::Response#parse_content_type ```ruby 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 ##### ActionController::Metal#response_body= ```ruby 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 ##### ActionDispatch::Response#reset_body! ```ruby 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 ##### ActionDispatch::Response#build_buffer ```ruby 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 ##### ActionDispatch::Response::Buffer#initialize ```ruby 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 ##### ActionDispatch::Response#body= ```ruby 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 ##### ActionDispatch::Response#munge_body_object ```ruby 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 ##### ActionDispatch::Response#build_buffer ```ruby 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 ##### ActionDispatch::Response::Buffer#initialize ```ruby 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 ##### ActiveRecord::LogSubscriber.reset_runtime ```ruby 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 ##### ActiveRecord::LogSubscriber.runtime ```ruby 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 ##### ActiveRecord::RuntimeRegistry.sql_runtime ```ruby 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 ##### ActiveRecord::LogSubscriber.runtime= ```ruby 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 ##### ActiveRecord::RuntimeRegistry.sql_runtime= ```ruby 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 ```