Class: SequelRails::Railtie

Inherits:
Rails::Railtie
  • Object
show all
Defined in:
lib/sequel_rails/railtie.rb

Instance Method Summary collapse

Instance Method Details

#check_skip_connect_conditions(app) ⇒ Object



113
114
115
# File 'lib/sequel_rails/railtie.rb', line 113

def check_skip_connect_conditions(app)
  app.config.sequel[:skip_connect] ||= database_create_command?
end

#configure_sequel(app) ⇒ Object

Support overwriting crucial steps in subclasses



89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/sequel_rails/railtie.rb', line 89

def configure_sequel(app)
  rails_db_config = begin
    app.config.database_configuration
  rescue Errno::ENOENT
    {} # will try to use DATABASE_URL
  end

  app.config.sequel.merge!(
    :root => ::Rails.root,
    :raw => rails_db_config
  )
  ::SequelRails.configuration = app.config.sequel
end

#database_connection_required?(app) ⇒ Boolean

Returns:

  • (Boolean)


117
118
119
# File 'lib/sequel_rails/railtie.rb', line 117

def database_connection_required?(app)
  !app.config.sequel[:skip_connect]
end

#database_create_command?Boolean

Returns:

  • (Boolean)


121
122
123
# File 'lib/sequel_rails/railtie.rb', line 121

def database_create_command?
  ["db:create", "db:create:all"].any? { |c| ARGV.include?(c) }
end

#setup_controller_runtimeObject



108
109
110
111
# File 'lib/sequel_rails/railtie.rb', line 108

def setup_controller_runtime
  require 'sequel_rails/railties/controller_runtime'
  ActionController::Base.send :include, SequelRails::Railties::ControllerRuntime
end

#setup_i18n_supportObject



103
104
105
106
# File 'lib/sequel_rails/railtie.rb', line 103

def setup_i18n_support
  ::Sequel::Model.send :extend, ::ActiveModel::Translation
  ::Sequel::Model.send :extend, ::SequelRails::I18nSupport
end