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.



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

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

Instance Method Details

#add_addon(addon) ⇒ Object



158
159
160
161
# File 'lib/diggit_core.rb', line 158

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

#add_analysis(analysis) ⇒ Object



140
141
142
143
# File 'lib/diggit_core.rb', line 140

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

#add_join(join) ⇒ Object



181
182
183
184
# File 'lib/diggit_core.rb', line 181

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

#addonsObject



154
155
156
# File 'lib/diggit_core.rb', line 154

def addons
  return @config[:addons]
end

#analysesObject



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

def analyses
  @config[:analyses]
end

#joinsObject



177
178
179
# File 'lib/diggit_core.rb', line 177

def joins
  return @config[:joins]
end

#load_addonsObject



168
169
170
171
172
173
174
175
# File 'lib/diggit_core.rb', line 168

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



150
151
152
# File 'lib/diggit_core.rb', line 150

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



191
192
193
# File 'lib/diggit_core.rb', line 191

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

#optionsObject



195
196
197
# File 'lib/diggit_core.rb', line 195

def options
  return @config[:options]
end

#rem_addon(addon) ⇒ Object



163
164
165
166
# File 'lib/diggit_core.rb', line 163

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

#rem_analysis(analysis) ⇒ Object



145
146
147
148
# File 'lib/diggit_core.rb', line 145

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

#rem_join(join) ⇒ Object



186
187
188
189
# File 'lib/diggit_core.rb', line 186

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

#saveObject



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

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