Class: Diggit::Config
- Inherits:
-
Object
- Object
- Diggit::Config
- Defined in:
- lib/dgit/core.rb
Instance Attribute Summary collapse
-
#analyses ⇒ Object
readonly
Returns the value of attribute analyses.
-
#joins ⇒ Object
readonly
Returns the value of attribute joins.
Class Method Summary collapse
Instance Method Summary collapse
- #add_analysis(name) ⇒ Object
- #add_join(name) ⇒ Object
- #del_analysis(name) ⇒ Object
- #del_join(name) ⇒ Object
- #get_analyses(*names) ⇒ Object
- #get_joins(*names) ⇒ Object
-
#initialize(hash) ⇒ Config
constructor
A new instance of Config.
- #load_analysis(name) ⇒ Object
- #load_join(name) ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize(hash) ⇒ Config
Returns a new instance of Config.
221 222 223 224 225 226 |
# File 'lib/dgit/core.rb', line 221 def initialize(hash) @analyses = [] @joins = [] hash[:analyses].each { |a| load_analysis(a) } hash[:joins].each { |j| load_join(j) } end |
Instance Attribute Details
#analyses ⇒ Object (readonly)
Returns the value of attribute analyses.
219 220 221 |
# File 'lib/dgit/core.rb', line 219 def analyses @analyses end |
#joins ⇒ Object (readonly)
Returns the value of attribute joins.
219 220 221 |
# File 'lib/dgit/core.rb', line 219 def joins @joins end |
Class Method Details
.empty_config ⇒ Object
270 271 272 |
# File 'lib/dgit/core.rb', line 270 def self.empty_config { analyses: [], joins: [] } end |
Instance Method Details
#add_analysis(name) ⇒ Object
232 233 234 235 |
# File 'lib/dgit/core.rb', line 232 def add_analysis(name) load_analysis(name) unless @analyses.map(&:name).include?(name) Dig.it.save_config end |
#add_join(name) ⇒ Object
251 252 253 254 |
# File 'lib/dgit/core.rb', line 251 def add_join(name) load_join(name) unless @joins.map(&:name).include?(name) Dig.it.save_config end |
#del_analysis(name) ⇒ Object
241 242 243 244 |
# File 'lib/dgit/core.rb', line 241 def del_analysis(name) @analyses.delete_if { |a| a.name == name } Dig.it.save_config end |
#del_join(name) ⇒ Object
260 261 262 263 |
# File 'lib/dgit/core.rb', line 260 def del_join(name) @joins.delete_if { |j| j.name == name } Dig.it.save_config end |
#get_analyses(*names) ⇒ Object
246 247 248 249 |
# File 'lib/dgit/core.rb', line 246 def get_analyses(*names) return analyses if names.empty? analyses.select { |a| names.include?(a.name) } end |
#get_joins(*names) ⇒ Object
265 266 267 268 |
# File 'lib/dgit/core.rb', line 265 def get_joins(*names) return joins if names.empty? joins.select { |j| joins.include?(j.name) } end |
#load_analysis(name) ⇒ Object
237 238 239 |
# File 'lib/dgit/core.rb', line 237 def load_analysis(name) @analyses << Dig.it.plugin_loader.load_plugin(name, :analysis) end |
#load_join(name) ⇒ Object
256 257 258 |
# File 'lib/dgit/core.rb', line 256 def load_join(name) @joins << Dig.it.plugin_loader.load_plugin(name, :join) end |
#to_hash ⇒ Object
228 229 230 |
# File 'lib/dgit/core.rb', line 228 def to_hash { analyses: @analyses.map(&:name), joins: @joins.map(&:name) } end |