Module: Riagent::Configuration

Included in:
Riagent
Defined in:
lib/riagent/configuration.rb

Instance Method Summary collapse

Instance Method Details

#configObject



26
27
28
# File 'lib/riagent/configuration.rb', line 26

def config
  @config ||= {}
end

#config=(value) ⇒ Object



30
31
32
# File 'lib/riagent/configuration.rb', line 30

def config=(value)
  @config = value
end

#config_for(environment = :development) ⇒ Hash

Return a configuration hash for a given environment



37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/riagent/configuration.rb', line 37

def config_for(environment=:development)
  if self.config.present?
    env_config = self.config[environment.to_s]
  else
    env_config = {
      'host' => ENV['RIAK_HOST'],
      'http_port' => ENV['RIAK_HTTP_PORT'],
      'pb_port' => ENV['RIAK_PB_PORT']
    }
  end
  env_config
end

#init_clients(environment = :development) ⇒ Object

Initialize a Riagent persistence client for a given environment Either called explicitly (see test/test_helper.rb for example usage) or called by Rails through the ‘riagent.configure_rails_initialization’ initializer in lib/railtie.rb



68
69
70
71
72
# File 'lib/riagent/configuration.rb', line 68

def init_clients(environment=:development)
  env_config = self.config_for(environment)
  self.init_riak_json_client(env_config)
  self.init_riak_client(env_config)
end

#init_riak_client(env_config) ⇒ Object



57
58
59
60
61
# File 'lib/riagent/configuration.rb', line 57

def init_riak_client(env_config)
#      client = Riak::Client.new host: env_config['host'], pb_port: env_config['pb_port'], protocol: 'pbc'
  client = Riak::Client.new host: env_config['host'], pb_port: env_config['pb_port']
  self.riak_client = client
end

#init_riak_json_client(env_config) ⇒ Object



51
52
53
54
# File 'lib/riagent/configuration.rb', line 51

def init_riak_json_client(env_config)
  client = RiakJson::Client.new(env_config['host'], env_config['http_port'])
  self.riak_json_client = client
end

#load_config_file(config_file_path) ⇒ Object



74
75
76
77
78
# File 'lib/riagent/configuration.rb', line 74

def load_config_file(config_file_path)
  config_file = File.expand_path(config_file_path)
  config_hash = YAML.load(ERB.new(File.read(config_file)).result)
  self.config = config_hash
end

#riak_clientRiak::Client



81
82
83
84
85
86
87
# File 'lib/riagent/configuration.rb', line 81

def riak_client
  unless Thread.current[:riak_client]
    # Re-initialize client
    self.init_riak_client(self.config_for(Rails.env))
  end
  Thread.current[:riak_client]
end

#riak_client=(value) ⇒ Object

Sets the Riak client for the current thread.



91
92
93
# File 'lib/riagent/configuration.rb', line 91

def riak_client=(value)
  Thread.current[:riak_client] = value
end

#riak_json_clientRiakJson::Client



96
97
98
99
100
101
102
# File 'lib/riagent/configuration.rb', line 96

def riak_json_client
  unless Thread.current[:riak_json_client]
    # Re-initialize client
    self.init_riak_json_client(self.config_for(Rails.env))
  end
  Thread.current[:riak_json_client]
end

#riak_json_client=(value) ⇒ Object

Sets the RiakJson client for the current thread.



106
107
108
# File 'lib/riagent/configuration.rb', line 106

def riak_json_client=(value)
  Thread.current[:riak_json_client] = value
end