2018-11-22 14:58:12 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-11-22 14:33:08 -05:00
|
|
|
require_relative 'boot'
|
|
|
|
|
2018-11-22 15:00:34 -05:00
|
|
|
require 'rails'
|
2018-11-22 14:33:08 -05:00
|
|
|
# Pick the frameworks you want:
|
2018-11-22 15:00:34 -05:00
|
|
|
require 'action_controller/railtie'
|
|
|
|
require 'action_mailer/railtie'
|
|
|
|
require 'action_view/railtie'
|
2020-01-16 11:14:52 -05:00
|
|
|
require 'active_job/railtie'
|
|
|
|
require 'active_model/railtie'
|
|
|
|
require 'active_record/railtie'
|
|
|
|
require 'active_storage/engine'
|
2018-11-22 15:00:34 -05:00
|
|
|
require 'sprockets/railtie'
|
2018-11-22 14:33:08 -05:00
|
|
|
|
|
|
|
# Require the gems listed in Gemfile, including any gems
|
2019-10-14 23:27:32 -04:00
|
|
|
# you've limited to :test, :development, :staging, or :production.
|
2018-11-22 14:33:08 -05:00
|
|
|
Bundler.require(*Rails.groups)
|
|
|
|
|
2019-08-18 00:44:29 -04:00
|
|
|
require 'csv'
|
|
|
|
|
2018-11-22 14:33:08 -05:00
|
|
|
module Partynest
|
|
|
|
class Application < Rails::Application
|
2018-11-29 17:07:24 -05:00
|
|
|
FILTER_PARAMS = %i[
|
|
|
|
api_token
|
2018-12-03 16:03:28 -05:00
|
|
|
confirmation_token
|
2018-11-29 17:07:24 -05:00
|
|
|
password
|
|
|
|
password_confirmation
|
2018-12-03 16:03:28 -05:00
|
|
|
reset_password_token
|
2018-11-29 17:07:24 -05:00
|
|
|
secret
|
2018-12-03 16:03:28 -05:00
|
|
|
unlock_token
|
2018-11-29 17:44:18 -05:00
|
|
|
].freeze
|
2018-11-29 17:07:24 -05:00
|
|
|
|
2019-09-09 17:55:58 -04:00
|
|
|
def restricted?
|
|
|
|
if instance_variable_defined? :@partynest_restricted
|
|
|
|
return @partynest_restricted
|
|
|
|
end
|
|
|
|
|
|
|
|
@partynest_restricted =
|
2019-09-09 20:07:32 -04:00
|
|
|
case ENV['PARTYNEST_RESTRICT']
|
2019-09-09 17:55:58 -04:00
|
|
|
when nil, 'no' then false
|
|
|
|
when 'yes' then true
|
|
|
|
else
|
2019-09-09 20:07:32 -04:00
|
|
|
raise 'Invalid value for ENV "PARTYNEST_RESTRICT"'
|
2019-09-09 17:55:58 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-12-08 22:54:42 -05:00
|
|
|
def settings(name)
|
2019-09-02 13:25:32 -04:00
|
|
|
name = String(name).to_sym
|
|
|
|
raise "Invalid name: #{name.to_s.inspect}" unless name.match?(/\A\w+\z/)
|
|
|
|
|
|
|
|
@partynest_settings ||= {}
|
|
|
|
|
|
|
|
@partynest_settings[name] ||=
|
|
|
|
config_for("settings/#{name}").deep_symbolize_keys.freeze
|
2018-12-08 22:54:42 -05:00
|
|
|
end
|
|
|
|
|
2020-01-16 11:14:52 -05:00
|
|
|
# Initialize configuration defaults
|
|
|
|
# for originally generated Rails version.
|
2018-11-22 14:33:08 -05:00
|
|
|
config.load_defaults 5.2
|
|
|
|
|
2019-03-24 23:04:53 -04:00
|
|
|
# Custom directories with classes and modules you want to be autoloadable.
|
|
|
|
config.autoload_paths += [
|
2019-09-01 09:20:42 -04:00
|
|
|
config.root.join('app', 'primitives'),
|
2019-03-24 23:04:53 -04:00
|
|
|
config.root.join('app', 'validators'),
|
2019-09-03 19:26:12 -04:00
|
|
|
config.root.join('lib'),
|
2019-03-24 23:04:53 -04:00
|
|
|
]
|
|
|
|
|
2019-07-19 15:53:02 -04:00
|
|
|
# Use SQL format for database schema
|
|
|
|
config.active_record.schema_format = :sql
|
|
|
|
|
2018-12-07 08:44:51 -05:00
|
|
|
# Use Sidekiq as ActiveJob adapter.
|
|
|
|
config.active_job.queue_adapter = :sidekiq
|
|
|
|
|
2018-11-30 02:55:27 -05:00
|
|
|
config.generators do |g|
|
2018-12-06 15:12:01 -05:00
|
|
|
g.assets false
|
|
|
|
g.helper false
|
2018-12-11 05:59:28 -05:00
|
|
|
g.system_tests nil
|
2018-12-06 15:12:01 -05:00
|
|
|
|
2018-11-30 02:55:27 -05:00
|
|
|
g.factory_bot dir: 'factories'
|
|
|
|
end
|
2018-11-22 14:33:08 -05:00
|
|
|
end
|
|
|
|
end
|