module Fishplate
Constants
- VERSION
Attributes
logger[W]
Public Class Methods
database_configuration()
click to toggle source
# File lib/fishplate.rb, line 24 def database_configuration @database_configuration ||= YAML.load(ERB.new(A9n.root.join('config/database.yml').read).result) # rubocop:disable Security/YAMLLoad end
load_seed()
click to toggle source
# File lib/fishplate.rb, line 13 def load_seed return unless A9n.root.join('db/seeds.rb').exist? Kernel.load A9n.root.join('db/seeds.rb') end
load_tasks()
click to toggle source
# File lib/fishplate.rb, line 18 def load_tasks Kernel.load 'active_record/railties/databases.rake' Kernel.load File.expand_path('fishplate/tasks.rake', __dir__) A9n.root.join('lib/tasks').glob('**/*.rake').sort.each { |f| Kernel.load f } end
logger()
click to toggle source
# File lib/fishplate.rb, line 38 def logger @logger ||= ::Logger.new($stdout) end
setup!()
click to toggle source
# File lib/fishplate.rb, line 42 def setup! configure_active_record setup_database_tasks setup_db_connection load_initializers add_sidekiq_middleware if defined?(Sidekiq) end
time_zone=(value)
click to toggle source
# File lib/fishplate.rb, line 28 def time_zone=(value) TZInfo::DataSource.get Time.find_zone!(value).tap do |zone| Time.zone = zone Time.zone_default = zone end end
Private Class Methods
add_sidekiq_middleware()
click to toggle source
# File lib/fishplate.rb, line 85 def add_sidekiq_middleware Sidekiq.configure_server do |config| config.server_middleware do |chain| chain.add Fishplate::SidekiqMiddleware end end end
configure_active_record()
click to toggle source
# File lib/fishplate.rb, line 56 def configure_active_record ActiveRecord::Base.logger = logger ActiveRecord::Base.time_zone_aware_attributes = true ActiveRecord::Base.default_timezone = :utc ActiveRecord::Base.connection_handlers = { ActiveRecord::Base.writing_role => ActiveRecord::Base.default_connection_handler } ActiveRecord::Base.configurations = database_configuration end
load_initializers()
click to toggle source
# File lib/fishplate.rb, line 81 def load_initializers A9n.root.join('config/initializers').glob('*.rb').sort.each { |f| require f } end
setup_database_tasks()
click to toggle source
# File lib/fishplate.rb, line 64 def setup_database_tasks # Check active_record/tasks/database_tasks.rb for possible config values ActiveRecord::Tasks::DatabaseTasks.env = A9n.env ActiveRecord::Tasks::DatabaseTasks.database_configuration = database_configuration ActiveRecord::Tasks::DatabaseTasks.db_dir = A9n.root.join('db') ActiveRecord::Tasks::DatabaseTasks.fixtures_path = A9n.root.join('db/fixtures') ActiveRecord::Tasks::DatabaseTasks.migrations_paths = A9n.root.join('db/migrate') ActiveRecord::Tasks::DatabaseTasks.seed_loader = self ActiveRecord::Tasks::DatabaseTasks.root = A9n.root end
setup_db_connection()
click to toggle source
# File lib/fishplate.rb, line 75 def setup_db_connection ActiveRecord::Base.clear_active_connections! ActiveRecord::Base.flush_idle_connections! ActiveRecord::Base.establish_connection end