Module: Reins

Defined in:
lib/reins.rb,
lib/reins/cli.rb,
lib/reins/env.rb,
lib/reins/util.rb,
lib/reins/view.rb,
lib/reins/flash.rb,
lib/reins/errors.rb,
lib/reins/logger.rb,
lib/reins/schema.rb,
lib/reins/version.rb,
lib/reins/database.rb,
lib/reins/migrator.rb,
lib/reins/migration.rb,
lib/reins/autoloader.rb,
lib/reins/controller.rb,
lib/reins/generators.rb,
lib/reins/model/base.rb,
lib/reins/parameters.rb,
lib/reins/routes/dsl.rb,
lib/reins/spec/model.rb,
lib/reins/view/forms.rb,
lib/reins/routes/rule.rb,
lib/reins/model/errors.rb,
lib/reins/model/schema.rb,
lib/reins/view/helpers.rb,
lib/reins/configuration.rb,
lib/reins/spec/fixtures.rb,
lib/reins/spec/matchers.rb,
lib/reins/model/relation.rb,
lib/reins/database_config.rb,
lib/reins/model/callbacks.rb,
lib/reins/spec/controller.rb,
lib/reins/middleware_stack.rb,
lib/reins/routes/resources.rb,
lib/reins/spec/integration.rb,
lib/reins/model/persistence.rb,
lib/reins/model/validations.rb,
lib/reins/reload_middleware.rb,
lib/reins/model/associations.rb,
lib/reins/routes/url_helpers.rb,
lib/reins/generators/app_generator.rb,
lib/reins/generators/model_generator.rb,
lib/reins/generators/scaffold_generator.rb,
lib/reins/generators/controller_generator.rb

Defined Under Namespace

Modules: Autoloader, DatabaseConfig, Generators, LoggerFactory, Model, Routes, Schema, Spec Classes: Application, Cli, Configuration, Controller, Database, DoubleResponse, Env, Error, Flash, IrreversibleMigration, MiddlewareStack, Migration, Migrator, MissingTemplate, ParameterMissing, Parameters, ReloadMiddleware, SessionMiddlewareMissing, View

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.applicationObject



63
64
65
66
67
# File 'lib/reins.rb', line 63

def self.application
  raise "no Reins::Application has been constructed" if Application.instances.empty?

  Application.instances.last
end

.configObject



42
43
44
# File 'lib/reins.rb', line 42

def self.config
  @config ||= Configuration.new(env)
end

.configure {|config| ... } ⇒ Object

Yields:



46
47
48
49
# File 'lib/reins.rb', line 46

def self.configure
  yield config
  config
end

.envObject



36
37
38
39
40
# File 'lib/reins.rb', line 36

def self.env
  @env = nil unless @env_seen == ENV.fetch("REINS_ENV", nil)
  @env_seen = ENV.fetch("REINS_ENV", nil)
  @env ||= Env.new(ENV["REINS_ENV"] || "development")
end

.framework_rootObject



32
33
34
# File 'lib/reins.rb', line 32

def self.framework_root
  __dir__
end

.loggerObject



55
56
57
# File 'lib/reins.rb', line 55

def self.logger
  @logger ||= LoggerFactory.build(path: config.log_path, level: config.log_level)
end

.reset_config!Object



51
52
53
# File 'lib/reins.rb', line 51

def self.reset_config!
  @config = nil
end

.reset_logger!Object



59
60
61
# File 'lib/reins.rb', line 59

def self.reset_logger!
  @logger = nil
end

.to_underscore(string) ⇒ Object



2
3
4
5
6
7
8
# File 'lib/reins/util.rb', line 2

def self.to_underscore(string)
  string.gsub('::', '/')
        .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
        .gsub(/([a-z\d])([A-Z])/, '\1_\2')
        .tr("-", "_")
        .downcase
end