Class: Diggit::Config

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

Instance Method Summary collapse

Constructor Details

#initializeConfig

Returns a new instance of Config.



69
70
71
# File 'lib/diggit_core.rb', line 69

def initialize
  @config = Oj.load_file(DIGGIT_RC)
end

Instance Method Details

#add_addon(addon) ⇒ Object



99
100
101
102
# File 'lib/diggit_core.rb', line 99

def add_addon(addon)
  addons << addon unless addons.include?(addon)
  save
end

#add_analysis(analysis) ⇒ Object



81
82
83
84
# File 'lib/diggit_core.rb', line 81

def add_analysis(analysis)
  analyses << analysis unless analyses.include?(analysis)
  save
end

#add_join(join) ⇒ Object



122
123
124
125
# File 'lib/diggit_core.rb', line 122

def add_join(join)
  joins << join unless joins.include?(join)
  save
end

#addonsObject



95
96
97
# File 'lib/diggit_core.rb', line 95

def addons
  return @config[:addons]
end

#analysesObject



77
78
79
# File 'lib/diggit_core.rb', line 77

def analyses
  @config[:analyses]
end

#joinsObject



118
119
120
# File 'lib/diggit_core.rb', line 118

def joins
  return @config[:joins]
end

#load_addonsObject



109
110
111
112
113
114
115
116
# File 'lib/diggit_core.rb', line 109

def load_addons
  result = {}
  addons.each do |a|
    obj = Object::const_get(a).new(options)
    result[obj.name] = obj
  end
  return result
end

#load_analyses(source, repo, addons, globs) ⇒ Object



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

def load_analyses(source, repo, addons, globs)
  analyses.map{ |a| Object::const_get(a).new(source, repo, options, addons, globs) }
end

#load_joins(finished_sources, addons, globs) ⇒ Object



132
133
134
# File 'lib/diggit_core.rb', line 132

def load_joins(finished_sources, addons, globs)
  return joins.map{ |j| Object::const_get(j).new(finished_sources, options, addons, globs) }
end

#optionsObject



136
137
138
# File 'lib/diggit_core.rb', line 136

def options
  return @config[:options]
end

#rem_addon(addon) ⇒ Object



104
105
106
107
# File 'lib/diggit_core.rb', line 104

def rem_addon(addon)
  addons.delete(addon)
  save
end

#rem_analysis(analysis) ⇒ Object



86
87
88
89
# File 'lib/diggit_core.rb', line 86

def rem_analysis(analysis)
  analyses.delete(analysis)
  save
end

#rem_join(join) ⇒ Object



127
128
129
130
# File 'lib/diggit_core.rb', line 127

def rem_join(join)
  joins.delete(join)
  save
end

#saveObject



73
74
75
# File 'lib/diggit_core.rb', line 73

def save
  Oj.to_file(DIGGIT_RC, @config)
end