Remove active_record and save models in-memory
Simple inmemory "database" to be independent from active_record.
This commit is contained in:
parent
f8e7b2114f
commit
b0f6131527
15 changed files with 71 additions and 158 deletions
8
Gemfile
8
Gemfile
|
|
@ -59,12 +59,4 @@ group :development, :test do
|
||||||
# unit tests
|
# unit tests
|
||||||
gem "rspec-core", "~> 3.5.1"
|
gem "rspec-core", "~> 3.5.1"
|
||||||
gem "rspec-rails", "~> 3.5.1"
|
gem "rspec-rails", "~> 3.5.1"
|
||||||
|
|
||||||
# test database
|
|
||||||
gem "sqlite3", "~> 1.3.11"
|
|
||||||
end
|
|
||||||
|
|
||||||
group :development, :production do
|
|
||||||
# Logging (only for dummy-app, not for the gem)
|
|
||||||
gem "logging-rails", "0.5.0"
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
10
Gemfile.lock
10
Gemfile.lock
|
|
@ -120,12 +120,6 @@ GEM
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
rb-inotify (~> 0.9, >= 0.9.7)
|
||||||
ruby_dep (~> 1.2)
|
ruby_dep (~> 1.2)
|
||||||
little-plugger (1.1.4)
|
|
||||||
logging (2.2.0)
|
|
||||||
little-plugger (~> 1.1)
|
|
||||||
multi_json (~> 1.10)
|
|
||||||
logging-rails (0.5.0)
|
|
||||||
logging (>= 1.8)
|
|
||||||
loofah (2.0.3)
|
loofah (2.0.3)
|
||||||
nokogiri (>= 1.5.9)
|
nokogiri (>= 1.5.9)
|
||||||
lumberjack (1.0.11)
|
lumberjack (1.0.11)
|
||||||
|
|
@ -139,7 +133,6 @@ GEM
|
||||||
mime-types-data (3.2016.0521)
|
mime-types-data (3.2016.0521)
|
||||||
mini_portile2 (2.1.0)
|
mini_portile2 (2.1.0)
|
||||||
minitest (5.10.1)
|
minitest (5.10.1)
|
||||||
multi_json (1.12.1)
|
|
||||||
multi_xml (0.6.0)
|
multi_xml (0.6.0)
|
||||||
multipart-post (2.0.0)
|
multipart-post (2.0.0)
|
||||||
nenv (0.3.0)
|
nenv (0.3.0)
|
||||||
|
|
@ -265,7 +258,6 @@ GEM
|
||||||
actionpack (>= 4.0)
|
actionpack (>= 4.0)
|
||||||
activesupport (>= 4.0)
|
activesupport (>= 4.0)
|
||||||
sprockets (>= 3.0.0)
|
sprockets (>= 3.0.0)
|
||||||
sqlite3 (1.3.13)
|
|
||||||
systemu (2.6.5)
|
systemu (2.6.5)
|
||||||
terminal-table (1.7.3)
|
terminal-table (1.7.3)
|
||||||
unicode-display_width (~> 1.1.1)
|
unicode-display_width (~> 1.1.1)
|
||||||
|
|
@ -301,7 +293,6 @@ DEPENDENCIES
|
||||||
guard-rspec
|
guard-rspec
|
||||||
guard-rubocop
|
guard-rubocop
|
||||||
json-schema-rspec (= 0.0.4)
|
json-schema-rspec (= 0.0.4)
|
||||||
logging-rails (= 0.5.0)
|
|
||||||
nyan-cat-formatter
|
nyan-cat-formatter
|
||||||
pronto (= 0.8.2)
|
pronto (= 0.8.2)
|
||||||
pronto-rubocop (= 0.8.0)
|
pronto-rubocop (= 0.8.0)
|
||||||
|
|
@ -317,7 +308,6 @@ DEPENDENCIES
|
||||||
spring
|
spring
|
||||||
spring-commands-rspec
|
spring-commands-rspec
|
||||||
spring-watcher-listen
|
spring-watcher-listen
|
||||||
sqlite3 (~> 1.3.11)
|
|
||||||
webmock (~> 2.0)
|
webmock (~> 2.0)
|
||||||
yard
|
yard
|
||||||
|
|
||||||
|
|
|
||||||
2
Rakefile
2
Rakefile
|
|
@ -22,5 +22,5 @@ Bundler::GemHelper.install_tasks name: "diaspora_federation"
|
||||||
|
|
||||||
Rails.application.load_tasks
|
Rails.application.load_tasks
|
||||||
|
|
||||||
task test: %w(spec:prepare spec)
|
task test: :spec
|
||||||
task default: :test
|
task default: :test
|
||||||
|
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
if defined?(RSpec)
|
|
||||||
namespace :spec do
|
|
||||||
task prepare_db: %w(db:create db:test:load)
|
|
||||||
|
|
||||||
desc "Prepare for rspec"
|
|
||||||
task prepare: Rails::VERSION::MAJOR == 5 ? %w(db:environment:set prepare_db) : %w(prepare_db)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
@ -17,26 +17,26 @@ Fabricator(:user, class_name: Person) do
|
||||||
end
|
end
|
||||||
|
|
||||||
Fabricator(:post, class_name: Entity) do
|
Fabricator(:post, class_name: Entity) do
|
||||||
on_init { init_with(entity_type: "Post") }
|
on_init { init_with("Post") }
|
||||||
author { Fabricate(:person) }
|
author { Fabricate(:person) }
|
||||||
end
|
end
|
||||||
|
|
||||||
Fabricator(:comment, class_name: Entity) do
|
Fabricator(:comment, class_name: Entity) do
|
||||||
on_init { init_with(entity_type: "Comment") }
|
on_init { init_with("Comment") }
|
||||||
author { Fabricate(:person) }
|
author { Fabricate(:person) }
|
||||||
end
|
end
|
||||||
|
|
||||||
Fabricator(:poll, class_name: Entity) do
|
Fabricator(:poll, class_name: Entity) do
|
||||||
on_init { init_with(entity_type: "Poll") }
|
on_init { init_with("Poll") }
|
||||||
author { Fabricate(:person) }
|
author { Fabricate(:person) }
|
||||||
end
|
end
|
||||||
|
|
||||||
Fabricator(:event, class_name: Entity) do
|
Fabricator(:event, class_name: Entity) do
|
||||||
on_init { init_with(entity_type: "Event") }
|
on_init { init_with("Event") }
|
||||||
author { Fabricate(:person) }
|
author { Fabricate(:person) }
|
||||||
end
|
end
|
||||||
|
|
||||||
Fabricator(:conversation, class_name: Entity) do
|
Fabricator(:conversation, class_name: Entity) do
|
||||||
on_init { init_with(entity_type: "Conversation") }
|
on_init { init_with("Conversation") }
|
||||||
author { Fabricate(:person) }
|
author { Fabricate(:person) }
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,7 @@ module DiasporaFederation
|
||||||
stub_request(:get, "http://localhost:3000/hcard/users/#{alice.guid}")
|
stub_request(:get, "http://localhost:3000/hcard/users/#{alice.guid}")
|
||||||
.to_return(status: 200, body: hcard_html)
|
.to_return(status: 200, body: hcard_html)
|
||||||
|
|
||||||
|
expect_callback(:save_person_after_webfinger, kind_of(Entities::Person))
|
||||||
person = Discovery::Discovery.new(account).fetch_and_save
|
person = Discovery::Discovery.new(account).fetch_and_save
|
||||||
|
|
||||||
expect(person.guid).to eq(alice.guid)
|
expect(person.guid).to eq(alice.guid)
|
||||||
|
|
@ -100,6 +101,7 @@ module DiasporaFederation
|
||||||
stub_request(:get, "http://localhost:3000/hcard/users/#{alice.guid}")
|
stub_request(:get, "http://localhost:3000/hcard/users/#{alice.guid}")
|
||||||
.to_return(status: 200, body: hcard_html)
|
.to_return(status: 200, body: hcard_html)
|
||||||
|
|
||||||
|
expect_callback(:save_person_after_webfinger, kind_of(Entities::Person))
|
||||||
person = Discovery::Discovery.new(account).fetch_and_save
|
person = Discovery::Discovery.new(account).fetch_and_save
|
||||||
|
|
||||||
expect(person.guid).to eq(alice.guid)
|
expect(person.guid).to eq(alice.guid)
|
||||||
|
|
@ -116,6 +118,7 @@ module DiasporaFederation
|
||||||
stub_request(:get, "http://localhost:3000/hcard/users/#{alice.guid}")
|
stub_request(:get, "http://localhost:3000/hcard/users/#{alice.guid}")
|
||||||
.to_return(status: 200, body: hcard_html)
|
.to_return(status: 200, body: hcard_html)
|
||||||
|
|
||||||
|
expect_callback(:save_person_after_webfinger, kind_of(Entities::Person))
|
||||||
person = Discovery::Discovery.new(account).fetch_and_save
|
person = Discovery::Discovery.new(account).fetch_and_save
|
||||||
|
|
||||||
expect(person.guid).to eq(alice.guid)
|
expect(person.guid).to eq(alice.guid)
|
||||||
|
|
@ -215,6 +218,7 @@ HTML
|
||||||
stub_request(:get, "http://localhost:3000/hcard/users/#{alice.guid}")
|
stub_request(:get, "http://localhost:3000/hcard/users/#{alice.guid}")
|
||||||
.to_return(status: 200, body: historic_hcard_html)
|
.to_return(status: 200, body: historic_hcard_html)
|
||||||
|
|
||||||
|
expect_callback(:save_person_after_webfinger, kind_of(Entities::Person))
|
||||||
person = Discovery::Discovery.new(account).fetch_and_save
|
person = Discovery::Discovery.new(account).fetch_and_save
|
||||||
|
|
||||||
expect(person.guid).to eq(alice.guid)
|
expect(person.guid).to eq(alice.guid)
|
||||||
|
|
|
||||||
|
|
@ -63,16 +63,10 @@ RSpec.configure do |config|
|
||||||
|
|
||||||
config.example_status_persistence_file_path = "spec/rspec-persistance.txt"
|
config.example_status_persistence_file_path = "spec/rspec-persistance.txt"
|
||||||
|
|
||||||
config.infer_spec_type_from_file_location!
|
|
||||||
|
|
||||||
config.render_views
|
|
||||||
|
|
||||||
config.expect_with :rspec do |expect_config|
|
config.expect_with :rspec do |expect_config|
|
||||||
expect_config.syntax = :expect
|
expect_config.syntax = :expect
|
||||||
end
|
end
|
||||||
|
|
||||||
config.use_transactional_fixtures = true
|
|
||||||
|
|
||||||
config.filter_run_excluding rails: (Rails::VERSION::MAJOR == 5 ? 4 : 5)
|
config.filter_run_excluding rails: (Rails::VERSION::MAJOR == 5 ? 4 : 5)
|
||||||
|
|
||||||
# whitelist codeclimate.com so test coverage can be reported
|
# whitelist codeclimate.com so test coverage can be reported
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,23 @@
|
||||||
class Entity < ActiveRecord::Base
|
class Entity
|
||||||
include ::Diaspora::Guid
|
attr_accessor :author, :guid
|
||||||
|
attr_reader :entity_type
|
||||||
|
|
||||||
belongs_to :author, class_name: "Person"
|
def initialize(entity_type)
|
||||||
|
@entity_type = entity_type
|
||||||
|
@guid = UUID.generate(:compact)
|
||||||
|
end
|
||||||
|
|
||||||
|
def save!
|
||||||
|
Entity.database[entity_type][guid] = self
|
||||||
|
end
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def find_by(opts)
|
||||||
|
database[opts[:entity_type]][opts[:guid]]
|
||||||
|
end
|
||||||
|
|
||||||
|
def database
|
||||||
|
@database ||= Hash.new({})
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
class Person < ActiveRecord::Base
|
class Person
|
||||||
include ::Diaspora::Guid
|
attr_accessor :diaspora_id, :url, :guid, :serialized_public_key, :serialized_private_key
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
@guid = UUID.generate(:compact)
|
||||||
|
end
|
||||||
|
|
||||||
def private_key; OpenSSL::PKey::RSA.new(serialized_private_key) end
|
def private_key; OpenSSL::PKey::RSA.new(serialized_private_key) end
|
||||||
def public_key; OpenSSL::PKey::RSA.new(serialized_public_key) end
|
def public_key; OpenSSL::PKey::RSA.new(serialized_public_key) end
|
||||||
|
|
@ -19,4 +23,20 @@ class Person < ActiveRecord::Base
|
||||||
def full_name; "Dummy User" end
|
def full_name; "Dummy User" end
|
||||||
def first_name; "Dummy" end
|
def first_name; "Dummy" end
|
||||||
def last_name; "User" end
|
def last_name; "User" end
|
||||||
|
|
||||||
|
def save!
|
||||||
|
Person.database[:diaspora_id][diaspora_id] = self
|
||||||
|
Person.database[:guid][guid] = self
|
||||||
|
end
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def find_by(opts)
|
||||||
|
return database[:diaspora_id][opts[:diaspora_id]] if opts[:diaspora_id]
|
||||||
|
database[:guid][opts[:guid]]
|
||||||
|
end
|
||||||
|
|
||||||
|
def database
|
||||||
|
@database ||= {diaspora_id: {}, guid: {}}
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
require_relative "boot"
|
require_relative "boot"
|
||||||
|
|
||||||
require "rails/all"
|
require "action_controller/railtie"
|
||||||
|
|
||||||
Bundler.require(*Rails.groups)
|
Bundler.require(*Rails.groups)
|
||||||
require "diaspora_federation/rails"
|
require "diaspora_federation/rails"
|
||||||
|
|
@ -20,7 +20,7 @@ module Dummy
|
||||||
# config.i18n.default_locale = :de
|
# config.i18n.default_locale = :de
|
||||||
|
|
||||||
# Version of your assets, change this if you want to expire all your assets
|
# Version of your assets, change this if you want to expire all your assets
|
||||||
config.assets.version = "1.0"
|
# config.assets.version = "1.0"
|
||||||
|
|
||||||
# autoload files from test/dummy/lib
|
# autoload files from test/dummy/lib
|
||||||
config.autoload_once_paths += %W(#{config.root}/lib)
|
config.autoload_once_paths += %W(#{config.root}/lib)
|
||||||
|
|
|
||||||
|
|
@ -14,27 +14,27 @@ Rails.application.configure do
|
||||||
config.action_controller.perform_caching = false
|
config.action_controller.perform_caching = false
|
||||||
|
|
||||||
# Don't care if the mailer can't send.
|
# Don't care if the mailer can't send.
|
||||||
config.action_mailer.raise_delivery_errors = false
|
# config.action_mailer.raise_delivery_errors = false
|
||||||
|
|
||||||
# Print deprecation notices to the Rails logger.
|
# Print deprecation notices to the Rails logger.
|
||||||
config.active_support.deprecation = :log
|
config.active_support.deprecation = :log
|
||||||
|
|
||||||
# Raise an error on page load if there are pending migrations.
|
# Raise an error on page load if there are pending migrations.
|
||||||
config.active_record.migration_error = :page_load
|
# config.active_record.migration_error = :page_load
|
||||||
|
|
||||||
# Debug mode disables concatenation and preprocessing of assets.
|
# Debug mode disables concatenation and preprocessing of assets.
|
||||||
# This option may cause significant delays in view rendering with a large
|
# This option may cause significant delays in view rendering with a large
|
||||||
# number of complex assets.
|
# number of complex assets.
|
||||||
config.assets.debug = true
|
# config.assets.debug = true
|
||||||
|
|
||||||
# Asset digests allow you to set far-future HTTP expiration dates on all assets,
|
# Asset digests allow you to set far-future HTTP expiration dates on all assets,
|
||||||
# yet still be able to expire them through the digest params.
|
# yet still be able to expire them through the digest params.
|
||||||
config.assets.digest = true
|
# config.assets.digest = true
|
||||||
|
|
||||||
# Adds additional error checking when serving assets at runtime.
|
# Adds additional error checking when serving assets at runtime.
|
||||||
# Checks for improperly declared sprockets dependencies.
|
# Checks for improperly declared sprockets dependencies.
|
||||||
# Raises helpful error messages.
|
# Raises helpful error messages.
|
||||||
config.assets.raise_runtime_errors = true
|
# config.assets.raise_runtime_errors = true
|
||||||
|
|
||||||
# Raises error for missing translations
|
# Raises error for missing translations
|
||||||
# config.action_view.raise_on_missing_translations = true
|
# config.action_view.raise_on_missing_translations = true
|
||||||
|
|
|
||||||
|
|
@ -25,15 +25,15 @@ Rails.application.configure do
|
||||||
config.serve_static_files = false
|
config.serve_static_files = false
|
||||||
|
|
||||||
# Compress JavaScripts and CSS.
|
# Compress JavaScripts and CSS.
|
||||||
config.assets.js_compressor = :uglifier
|
# config.assets.js_compressor = :uglifier
|
||||||
# config.assets.css_compressor = :sass
|
# config.assets.css_compressor = :sass
|
||||||
|
|
||||||
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
||||||
config.assets.compile = false
|
# config.assets.compile = false
|
||||||
|
|
||||||
# Asset digests allow you to set far-future HTTP expiration dates on all assets,
|
# Asset digests allow you to set far-future HTTP expiration dates on all assets,
|
||||||
# yet still be able to expire them through the digest params.
|
# yet still be able to expire them through the digest params.
|
||||||
config.assets.digest = true
|
# config.assets.digest = true
|
||||||
|
|
||||||
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
|
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
|
||||||
|
|
||||||
|
|
@ -81,5 +81,5 @@ Rails.application.configure do
|
||||||
config.log_formatter = ::Logger::Formatter.new
|
config.log_formatter = ::Logger::Formatter.new
|
||||||
|
|
||||||
# Do not dump schema after migrations.
|
# Do not dump schema after migrations.
|
||||||
config.active_record.dump_schema_after_migration = false
|
# config.active_record.dump_schema_after_migration = false
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -34,13 +34,13 @@ Rails.application.configure do
|
||||||
# Tell Action Mailer not to deliver emails to the real world.
|
# Tell Action Mailer not to deliver emails to the real world.
|
||||||
# The :test delivery method accumulates sent emails in the
|
# The :test delivery method accumulates sent emails in the
|
||||||
# ActionMailer::Base.deliveries array.
|
# ActionMailer::Base.deliveries array.
|
||||||
config.action_mailer.delivery_method = :test
|
# config.action_mailer.delivery_method = :test
|
||||||
|
|
||||||
# Randomize the order test cases are executed.
|
# Randomize the order test cases are executed.
|
||||||
config.active_support.test_order = :random
|
# config.active_support.test_order = :random
|
||||||
|
|
||||||
# Print deprecation notices to the stderr.
|
# Print deprecation notices to the stderr.
|
||||||
config.active_support.deprecation = :stderr
|
# config.active_support.deprecation = :stderr
|
||||||
|
|
||||||
# Raises error for missing translations
|
# Raises error for missing translations
|
||||||
# config.action_view.raise_on_missing_translations = true
|
# config.action_view.raise_on_missing_translations = true
|
||||||
|
|
|
||||||
|
|
@ -53,20 +53,16 @@ DiasporaFederation.configure do |config|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
on :save_person_after_webfinger do |person|
|
on :save_person_after_webfinger do
|
||||||
unless Person.exists?(diaspora_id: person.diaspora_id)
|
|
||||||
Person.new(diaspora_id: person.diaspora_id, guid: person.guid,
|
|
||||||
serialized_public_key: person.exported_key, url: person.url).save!
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
on :fetch_private_key do |diaspora_id|
|
on :fetch_private_key do |diaspora_id|
|
||||||
key = Person.where(diaspora_id: diaspora_id).pluck(:serialized_private_key).first
|
person = Person.find_by(diaspora_id: diaspora_id)
|
||||||
OpenSSL::PKey::RSA.new(key) unless key.nil?
|
OpenSSL::PKey::RSA.new(person.serialized_private_key) unless person.nil?
|
||||||
end
|
end
|
||||||
|
|
||||||
on :fetch_public_key do |diaspora_id|
|
on :fetch_public_key do |diaspora_id|
|
||||||
key = Person.where(diaspora_id: diaspora_id).pluck(:serialized_public_key).first
|
key = Person.find_by(diaspora_id: diaspora_id).serialized_public_key
|
||||||
key = DiasporaFederation::Discovery::Discovery.new(diaspora_id).fetch_and_save.exported_key if key.nil?
|
key = DiasporaFederation::Discovery::Discovery.new(diaspora_id).fetch_and_save.exported_key if key.nil?
|
||||||
OpenSSL::PKey::RSA.new(key) unless key.nil?
|
OpenSSL::PKey::RSA.new(key) unless key.nil?
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,93 +0,0 @@
|
||||||
Logging::Rails.configure do |config|
|
|
||||||
# Configure the Logging framework with the default log levels
|
|
||||||
Logging.init %w(debug info warn error fatal)
|
|
||||||
|
|
||||||
# Objects will be converted to strings using the :inspect method.
|
|
||||||
Logging.format_as :inspect
|
|
||||||
|
|
||||||
# The default layout used by the appenders.
|
|
||||||
pattern = "[%d] %-5l PID-%p TID-%t %c: %m\n"
|
|
||||||
layout = Logging.layouts.pattern(pattern: pattern)
|
|
||||||
|
|
||||||
# Setup a color scheme called 'bright' than can be used to add color codes
|
|
||||||
# to the pattern layout. Color schemes should only be used with appenders
|
|
||||||
# that write to STDOUT or STDERR; inserting terminal color codes into a file
|
|
||||||
# is generally considered bad form.
|
|
||||||
Logging.color_scheme(
|
|
||||||
"bright",
|
|
||||||
levels: {
|
|
||||||
info: :green,
|
|
||||||
warn: :yellow,
|
|
||||||
error: :red,
|
|
||||||
fatal: %i(white on_red)
|
|
||||||
},
|
|
||||||
date: :blue,
|
|
||||||
logger: :cyan,
|
|
||||||
message: :magenta
|
|
||||||
)
|
|
||||||
|
|
||||||
# Configure an appender that will write log events to STDOUT. A colorized
|
|
||||||
# pattern layout is used to format the log events into strings before
|
|
||||||
# writing.
|
|
||||||
if config.log_to.include? "stdout"
|
|
||||||
Logging.appenders.stdout(
|
|
||||||
"stdout",
|
|
||||||
auto_flushing: true,
|
|
||||||
layout: Logging.layouts.pattern(
|
|
||||||
pattern: pattern,
|
|
||||||
color_scheme: "bright"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
# Configure an appender that will write log events to a file. The file will
|
|
||||||
# be rolled on a daily basis, and the past 7 rolled files will be kept.
|
|
||||||
# Older files will be deleted. The default pattern layout is used when
|
|
||||||
# formatting log events into strings.
|
|
||||||
if config.log_to.include? "file"
|
|
||||||
Logging.appenders.rolling_file(
|
|
||||||
"file",
|
|
||||||
filename: config.paths["log"].first,
|
|
||||||
keep: 7,
|
|
||||||
age: "daily",
|
|
||||||
truncate: false,
|
|
||||||
auto_flushing: true,
|
|
||||||
layout: layout
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
# Setup the root logger with the Rails log level and the desired set of
|
|
||||||
# appenders. The list of appenders to use should be set in the environment
|
|
||||||
# specific configuration file.
|
|
||||||
#
|
|
||||||
# For example, in a production application you would not want to log to
|
|
||||||
# STDOUT, but you would want to send an email for "error" and "fatal"
|
|
||||||
# messages:
|
|
||||||
#
|
|
||||||
# => config/environments/production.rb
|
|
||||||
#
|
|
||||||
# config.log_to = %w[file email]
|
|
||||||
#
|
|
||||||
# In development you would want to log to STDOUT and possibly to a file:
|
|
||||||
#
|
|
||||||
# => config/environments/development.rb
|
|
||||||
#
|
|
||||||
# config.log_to = %w[stdout file]
|
|
||||||
#
|
|
||||||
Logging.logger.root.appenders = config.log_to unless config.log_to.empty?
|
|
||||||
|
|
||||||
# Default log-level (development=debug, production=info)
|
|
||||||
Logging.logger.root.level = config.log_level
|
|
||||||
|
|
||||||
# log-levels for SQL and federation debug-logging
|
|
||||||
Logging.logger[ActiveRecord::Base].level = :debug
|
|
||||||
Logging.logger["XMLLogger"].level = :debug
|
|
||||||
end
|
|
||||||
|
|
||||||
module ActiveSupport
|
|
||||||
module Dependencies
|
|
||||||
def self.logger=(_)
|
|
||||||
# This was remove in rails 5: https://github.com/rails/rails/commit/798dc5a92537ba4202a1a8e127a5ebdae87bc78d
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
Loading…
Reference in a new issue