Module: MarkMapper::Connection

Included in:
MarkMapper
Defined in:
lib/mark_mapper/connection.rb

Constant Summary collapse

@@connection =
nil
@@database =
nil
@@database_name =
nil
@@config =
nil

Instance Method Summary collapse

Instance Method Details

#applicationObject



34
35
36
# File 'lib/mark_mapper/connection.rb', line 34

def application
  @@application
end

#application=(new_app) ⇒ Object



30
31
32
# File 'lib/mark_mapper/connection.rb', line 30

def application=(new_app)
  @@application = new_app
end

#configObject



55
56
57
58
# File 'lib/mark_mapper/connection.rb', line 55

def config
  raise 'Set config before connecting. MarkMapper.config = {...}' unless defined?(@@config)
  @@config
end

#config=(hash) ⇒ Object



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

def config=(hash)
  @@config = hash
end

#config_for_environment(environment) ⇒ Object



86
87
88
# File 'lib/mark_mapper/connection.rb', line 86

def config_for_environment(environment)
  config[environment.to_s] || {}
end

#connect(environment, options = {}) ⇒ Object



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/mark_mapper/connection.rb', line 65

def connect(environment, options={})
  raise 'Set config before connecting. MongoMapper.config = {...}' if config.blank?
  env = config_for_environment(environment)

  MarkLogic::Connection.configure({
    host: env['host'],
    default_user: env['username'],
    default_password: env['password']
  })

  MarkLogic::Connection.configure(manage_port: env['manage_port']) if env['manage_port']
  MarkLogic::Connection.configure(admin_port: env['admin_port']) if env['admin_port']
  MarkLogic::Connection.configure(app_services_port: env['app_services_port']) if env['app_services_port']

  MarkMapper.application = MarkLogic::Application.new(
    env['app_name'],
    connection: MarkLogic::Connection.new(env['host'], env['port'])
  )
  MarkMapper.application.stale?
end

#connectionObject



12
13
14
# File 'lib/mark_mapper/connection.rb', line 12

def connection
  @@connection ||= application.connection
end

#connection=(new_connection) ⇒ Object



21
22
23
# File 'lib/mark_mapper/connection.rb', line 21

def connection=(new_connection)
  @@connection = new_connection
end

#connection?Boolean

Returns:



16
17
18
# File 'lib/mark_mapper/connection.rb', line 16

def connection?
  !!connection
end

#databaseObject



45
46
47
48
49
# File 'lib/mark_mapper/connection.rb', line 45

def database
  return nil if @@database_name.blank?

  @@database ||= MarkLogic::Database.new(@@database_name, connection)
end

#database=(name) ⇒ Object



39
40
41
42
# File 'lib/mark_mapper/connection.rb', line 39

def database=(name)
  @@database = nil
  @@database_name = name
end

#loggerObject



26
27
28
# File 'lib/mark_mapper/connection.rb', line 26

def logger
  MarkLogic.logger
end

#setup(config, environment, options = {}) ⇒ Object



60
61
62
63
# File 'lib/mark_mapper/connection.rb', line 60

def setup(config, environment, options={})
  self.config = config
  connect(environment, options)
end