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.



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

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

Instance Method Details

#add_addon(addon) ⇒ Object



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

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

#add_analysis(analysis) ⇒ Object



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

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

#add_join(join) ⇒ Object



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

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

#addonsObject



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

def addons
  return @config[:addons]
end

#analysesObject



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

def analyses
  @config[:analyses]
end

#joinsObject



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

def joins
  return @config[:joins]
end

#load_addonsObject



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

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



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

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



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

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

#optionsObject



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

def options
  return @config[:options]
end

#rem_addon(addon) ⇒ Object



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

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

#rem_analysis(analysis) ⇒ Object



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

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

#rem_join(join) ⇒ Object



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

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

#saveObject



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

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