Class: Diggit::Config

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hash) ⇒ Config

Returns a new instance of Config.



151
152
153
154
155
156
# File 'lib/dgit/core.rb', line 151

def initialize(hash)
	@analyses = []
	@joins = []
	hash[:analyses].each { |a| load_analysis(a) }
	hash[:joins].each { |j| load_join(j) }
end

Instance Attribute Details

#analysesObject (readonly)

Returns the value of attribute analyses.



149
150
151
# File 'lib/dgit/core.rb', line 149

def analyses
  @analyses
end

#joinsObject (readonly)

Returns the value of attribute joins.



149
150
151
# File 'lib/dgit/core.rb', line 149

def joins
  @joins
end

Class Method Details

.empty_configObject



210
211
212
# File 'lib/dgit/core.rb', line 210

def self.empty_config
	{ analyses: [], joins: [] }
end

Instance Method Details

#add_analysis(name) ⇒ Object



162
163
164
165
# File 'lib/dgit/core.rb', line 162

def add_analysis(name)
	load_analysis(name) unless @analyses.map(&:simple_name).include?(name)
	Dig.it.save_config
end

#add_join(name) ⇒ Object



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

def add_join(name)
	load_join(name) unless @joins.map(&:simple_name).include?(name)
	Dig.it.save_config
end

#del_all_analysesObject



176
177
178
179
# File 'lib/dgit/core.rb', line 176

def del_all_analyses
	@analyses = []
	Dig.it.save_config
end

#del_all_joinsObject



200
201
202
203
# File 'lib/dgit/core.rb', line 200

def del_all_joins
	@joins = []
	Dig.it.save_config
end

#del_analysis(name) ⇒ Object



171
172
173
174
# File 'lib/dgit/core.rb', line 171

def del_analysis(name)
	@analyses.delete_if { |a| a.simple_name == name }
	Dig.it.save_config
end

#del_join(name) ⇒ Object



195
196
197
198
# File 'lib/dgit/core.rb', line 195

def del_join(name)
	@joins.delete_if { |j| j.simple_name == name }
	Dig.it.save_config
end

#get_analyses(*names) ⇒ Object



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

def get_analyses(*names)
	return analyses if names.empty?
	analyses.select { |a| names.include?(a.simple_name) }
end

#get_joins(*names) ⇒ Object



205
206
207
208
# File 'lib/dgit/core.rb', line 205

def get_joins(*names)
	return joins if names.empty?
	joins.select { |j| joins.include?(j.simple_name) }
end

#load_analysis(name) ⇒ Object



167
168
169
# File 'lib/dgit/core.rb', line 167

def load_analysis(name)
	@analyses << Dig.it.plugin_loader.load_plugin(name, :analysis)
end

#load_join(name) ⇒ Object



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

def load_join(name)
	@joins << Dig.it.plugin_loader.load_plugin(name, :join)
end

#to_hashObject



158
159
160
# File 'lib/dgit/core.rb', line 158

def to_hash
	{ analyses: @analyses.map(&:simple_name), joins: @joins.map(&:simple_name) }
end