Class: Pra::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/pra/config.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(initial_config = {}) ⇒ Config

Returns a new instance of Config.



6
7
8
9
10
11
# File 'lib/pra/config.rb', line 6

def initialize(initial_config = {})
  @initial_config = initial_config
  if @initial_config["log_level"]
    Pra::Log.level(@initial_config["log_level"])
  end
end

Class Method Details

.config_pathObject



28
29
30
31
32
33
34
# File 'lib/pra/config.rb', line 28

def self.config_path
  if File.exist?(File.join(self.users_home_directory, '.pra', 'config.json'))
    return File.join(self.users_home_directory, '.pra', 'config.json')
  else
    return File.join(self.users_home_directory, '.pra.json')
  end
end

.json_parse(content) ⇒ Object



47
48
49
# File 'lib/pra/config.rb', line 47

def self.json_parse(content)
  return JSON.parse(content)
end

.load_configObject



13
14
15
# File 'lib/pra/config.rb', line 13

def self.load_config
  return self.new(self.parse_config_file)
end

.log_pathObject



36
37
38
39
40
41
# File 'lib/pra/config.rb', line 36

def self.log_path
  unless Dir.exist?(File.join(self.users_home_directory, '.pra', 'logs'))
    FileUtils.mkdir_p(File.join(self.users_home_directory, '.pra', 'logs'))
  end
  return File.join(self.users_home_directory, '.pra', 'logs', '.pra.log')
end

.parse_config_fileObject



17
18
19
# File 'lib/pra/config.rb', line 17

def self.parse_config_file
  self.json_parse(self.read_config_file)
end

.read_config_fileObject



21
22
23
24
25
26
# File 'lib/pra/config.rb', line 21

def self.read_config_file
  file = File.open(self.config_path, "r")
  contents = file.read
  file.close
  return contents
end

.users_home_directoryObject



43
44
45
# File 'lib/pra/config.rb', line 43

def self.users_home_directory
  return ENV['HOME']
end

Instance Method Details

#assignee_blacklistObject



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

def assignee_blacklist
  Array(@initial_config["assignee_blacklist"])
end

#pull_sourcesObject



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

def pull_sources
  @initial_config["pull_sources"]
end

#refresh_intervalObject



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

def refresh_interval
  @initial_config["refresh_interval"] || 60*5
end