class Sincli::Generators::Config

Private Class Methods

source_root() click to toggle source
Calls superclass method Sincli::Generators::Base::source_root
# File lib/sincli/generators/config.rb, line 13
def self.source_root
  super.join('basic/config')
end

Public Instance Methods

db_config() click to toggle source
# File lib/sincli/generators/config.rb, line 29
def db_config
  return unless db = @options[:db]

  @options[:adapter] = db == 'pg' ? 'postgresql' : db
  template('database.yml.tt', 'config/database.yml')
end
environment() click to toggle source
# File lib/sincli/generators/config.rb, line 42
def environment
  copy_file('environment.rb', 'config/environment.rb')
  @extensions = extensions.map do |e|
    ext = e == 'json' ? e.upcase : e.camelize
    "Sinatra::#{ext}"
  end
  template('application.rb.tt', 'config/application.rb')
end
generate() click to toggle source
# File lib/sincli/generators/config.rb, line 4
def generate
  Dir.mkdir('config')
  sec_key
  db_config
  environment
  puma_config
  locales
end
locales() click to toggle source
# File lib/sincli/generators/config.rb, line 51
def locales
  directory('locales', 'config/locales')
end
puma_config() click to toggle source
# File lib/sincli/generators/config.rb, line 36
def puma_config
  return unless @options[:server] == 'puma'

  copy_file('puma.rb', 'config/puma.rb')
end
sec_key() click to toggle source
# File lib/sincli/generators/config.rb, line 18
def sec_key
  begin
    require 'securerandom'
    sec_key = SecureRandom.hex(64)
  rescue LoadError, NotImplementedError
    # SecureRandom raises a NotImplementedError if no random device is available
    sec_key = '%064x' % Kernel.rand(2**256 - 1)
  end
  create_file('config/.secret_key', sec_key)
end