Module: Migreatest::Rails::Connector

Extended by:
Connector
Included in:
Connector
Defined in:
lib/migreatest/rails/connector.rb

Instance Method Summary collapse

Instance Method Details

#connect(namespace = nil) ⇒ Object

to recognize who include (module and class) to connect automatically



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/migreatest/rails/connector.rb', line 11

def connect namespace = nil

  # @full_constant.table_name = resolve_class_name
  # o reload deve ser feito aqui?
  # binding.pry
  # namespace = namespace.to_s
  # db_config = YAML::load_file('config/database.yml')
  # # tentar fazer include aos modelos do projeto dinamicamente por aqui, para tal deve-se pegar todos os modelos, incluir um observador neles, e toda vez que forem chamados esse módulo deve ser incluído, ou o método deve ser chamado.
  # # Um outra solução é incluir este mṕdulo a todos os modelos, sem a intervenção do usuário, neste caso um observador não seria necessário.
  # # ou, talvez tenha que usar os dois, incluir em todas, e quando chamadas executar o método connect
  # # binding.pry
  # if namespace
  #   # try
  #   begin
  #     ActiveRecord::Base
  #       .establish_connection db_config[namespace][::Rails.env]
  #   # catch
  #   rescue => details
  #     $stderr.puts "Could not possible connect to database with namespace \"#{namespace}.\""
  #     $stderr.puts "Details: #{details}."
  #   # throw
  #   # raise
  #   end
  # else
  #   ActiveRecord::Base.establish_connection db_config[::Rails.env]
  # end

  # reload_model!
end