Module: Biran::ConfigDefaults

Included in:
Configurinator
Defined in:
lib/biran/config_defaults.rb

Instance Method Summary collapse

Instance Method Details

#app_baseObject



27
28
29
# File 'lib/biran/config_defaults.rb', line 27

def app_base
  @app_base ||= ENV['BIRAN_APP_BASE_PATH'] || app_config_defaults[:app][:base_path] || app_config_defaults[:app][:root_path]
end

#app_config_fileObject



76
77
78
# File 'lib/biran/config_defaults.rb', line 76

def app_config_file
  File.join(config_dirname, app_config_filename)
end

#app_config_filenameObject



72
73
74
# File 'lib/biran/config_defaults.rb', line 72

def app_config_filename
  sanitize_input(configuration.config_filename)
end

#app_defaults_initObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/biran/config_defaults.rb', line 7

def app_defaults_init
  {
    app: {
      base_path: configuration.base_path,
      shared_dir: configuration.shared_dir,
      base_dir: configuration.base_dir,
      use_capistrano: configuration.use_capistrano,
      bindings: configuration.bindings,
      vhost_public_dirname: configuration.vhost_public_dirname
    },
    db_config: configuration.db_config,
    secrets: configuration.secrets,
  }
end

#app_envObject



22
23
24
25
# File 'lib/biran/config_defaults.rb', line 22

def app_env
  app_env = ENV['BIRAN_APP_ENV'] || ENV['RAILS_ENV'] || ENV['RACK_ENV'] || configuration.app_env
  sanitize_input(app_env)
end

#app_rootObject



31
32
33
34
# File 'lib/biran/config_defaults.rb', line 31

def app_root
  return File.join(app_base, 'current') if use_capistrano?
  app_base
end

#app_shared_dirObject



36
37
38
39
# File 'lib/biran/config_defaults.rb', line 36

def app_shared_dir
  return File.join(app_base, 'shared') if use_capistrano?
  app_base
end

#bindingsObject



41
42
43
# File 'lib/biran/config_defaults.rb', line 41

def bindings
  app_config_defaults[:app][:bindings]
end

#config_dirObject



49
50
51
# File 'lib/biran/config_defaults.rb', line 49

def config_dir
  File.join(configuration.base_path, config_dirname)
end

#config_dirnameObject



45
46
47
# File 'lib/biran/config_defaults.rb', line 45

def config_dirname
  sanitize_input(configuration.config_dirname)
end

#configurationObject



3
4
5
# File 'lib/biran/config_defaults.rb', line 3

def configuration
  Config.instance
end

#db_config_filenameObject



89
90
91
92
# File 'lib/biran/config_defaults.rb', line 89

def db_config_filename
   filename = app_config_defaults[:app][:db_config_filename] || configuration.db_config_filename
   sanitize_input(filename)
end

#db_config_override_fileObject



85
86
87
# File 'lib/biran/config_defaults.rb', line 85

def db_config_override_file
  File.join(app_shared_dir, config_dirname, db_config_filename)
end

#default_db_config_fileObject



103
104
105
# File 'lib/biran/config_defaults.rb', line 103

def default_db_config_file
  File.join(config_dir, db_config_filename)
end

#extra_config_fileObject



68
69
70
# File 'lib/biran/config_defaults.rb', line 68

def extra_config_file
  File.join(config_dirname, app_config_filename.gsub(/\.yml$/, "_#{extra_config_suffix}.yml"))
end

#extra_config_suffixObject



63
64
65
66
# File 'lib/biran/config_defaults.rb', line 63

def extra_config_suffix
  suffix = ENV['BIRAN_EXTRA_CONFIG_SUFFIX'] || app_config_defaults[:app][:extra_config_suffix] || configuration.extra_config_suffix
  sanitize_input( suffix )
end

#local_config_fileObject



53
54
55
56
# File 'lib/biran/config_defaults.rb', line 53

def local_config_file
  ENV['BIRAN_LOCAL_CONFIG_FILE'] ||
    File.join(app_shared_dir, config_dirname, local_config_filename)
end

#local_config_filenameObject



58
59
60
61
# File 'lib/biran/config_defaults.rb', line 58

def local_config_filename
  filename= ENV['BIRAN_LOCAL_CONFIG_FILENAME'] || app_config_defaults[:app][:local_config_filename] || configuration.local_config_filename
  sanitize_input( filename )
end

#sanitize_input(string) ⇒ Object



111
112
113
114
# File 'lib/biran/config_defaults.rb', line 111

def sanitize_input string
  # Borrowed from ActiveStorage
  string.encode(Encoding::UTF_8, invalid: :replace, undef: :replace, replace: "�").strip.tr("\u{202E}%$|:;/\t\r\n\\", "-")
end

#secrets_fileObject



94
95
96
# File 'lib/biran/config_defaults.rb', line 94

def secrets_file
  File.join(configuration.base_path, config_dirname, secrets_filename)
end

#secrets_filenameObject



98
99
100
101
# File 'lib/biran/config_defaults.rb', line 98

def secrets_filename
  filename = app_config_defaults[:app][:secrets_filename] || configuration.secrets_filename
  sanitize_input(filename)
end

#use_capistrano?Boolean



107
108
109
# File 'lib/biran/config_defaults.rb', line 107

def use_capistrano?
  # Implement in consumer class
end

#vhost_public_dirnameObject



80
81
82
83
# File 'lib/biran/config_defaults.rb', line 80

def vhost_public_dirname
  pub_dir_name = ENV['BIRAN_VHOST_PUBLIC_DIRNAME'] || app_config_defaults[:app][:vhost_public_dirname]
  sanitize_input(pub_dir_name)
end