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_all_analyses ⇒ Object
- #del_all_joins ⇒ Object
- #del_analysis(name) ⇒ Object
- #del_join(name) ⇒ Object
- #get_analyses(*names) ⇒ Object
- #get_joins(*names) ⇒ Object
-
#initialize(config_hash) ⇒ Config
constructor
A new instance of Config.
- #load_analysis(name) ⇒ Object
- #load_join(name) ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize(config_hash) ⇒ Config
Returns a new instance of Config.
150 151 152 153 154 155 |
# File 'lib/dgit/core.rb', line 150 def initialize(config_hash) @analyses = [] @joins = [] config_hash[:analyses].each { |a| load_analysis(a) } config_hash[:joins].each { |j| load_join(j) } end |
Instance Attribute Details
#analyses ⇒ Object (readonly)
Returns the value of attribute analyses.
148 149 150 |
# File 'lib/dgit/core.rb', line 148 def analyses @analyses end |
#joins ⇒ Object (readonly)
Returns the value of attribute joins.
148 149 150 |
# File 'lib/dgit/core.rb', line 148 def joins @joins end |
Class Method Details
.empty_config ⇒ Object
209 210 211 |
# File 'lib/dgit/core.rb', line 209 def self.empty_config { analyses: [], joins: [] } end |
Instance Method Details
#add_analysis(name) ⇒ Object
161 162 163 164 |
# File 'lib/dgit/core.rb', line 161 def add_analysis(name) load_analysis(name) unless @analyses.map(&:simple_name).include?(name) Dig.it.save_config end |
#add_join(name) ⇒ Object
185 186 187 188 |
# File 'lib/dgit/core.rb', line 185 def add_join(name) load_join(name) unless @joins.map(&:simple_name).include?(name) Dig.it.save_config end |
#del_all_analyses ⇒ Object
175 176 177 178 |
# File 'lib/dgit/core.rb', line 175 def del_all_analyses @analyses = [] Dig.it.save_config end |
#del_all_joins ⇒ Object
199 200 201 202 |
# File 'lib/dgit/core.rb', line 199 def del_all_joins @joins = [] Dig.it.save_config end |
#del_analysis(name) ⇒ Object
170 171 172 173 |
# File 'lib/dgit/core.rb', line 170 def del_analysis(name) @analyses.delete_if { |a| a.simple_name == name } Dig.it.save_config end |
#del_join(name) ⇒ Object
194 195 196 197 |
# File 'lib/dgit/core.rb', line 194 def del_join(name) @joins.delete_if { |j| j.simple_name == name } Dig.it.save_config end |
#get_analyses(*names) ⇒ Object
180 181 182 183 |
# File 'lib/dgit/core.rb', line 180 def get_analyses(*names) return analyses if names.empty? analyses.select { |a| names.include?(a.simple_name) } end |
#get_joins(*names) ⇒ Object
204 205 206 207 |
# File 'lib/dgit/core.rb', line 204 def get_joins(*names) return joins if names.empty? joins.select { |j| joins.include?(j.simple_name) } end |
#load_analysis(name) ⇒ Object
166 167 168 |
# File 'lib/dgit/core.rb', line 166 def load_analysis(name) @analyses << Dig.it.plugin_loader.load_plugin(name, :analysis) end |
#load_join(name) ⇒ Object
190 191 192 |
# File 'lib/dgit/core.rb', line 190 def load_join(name) @joins << Dig.it.plugin_loader.load_plugin(name, :join) end |
#to_hash ⇒ Object
157 158 159 |
# File 'lib/dgit/core.rb', line 157 def to_hash { analyses: @analyses.map(&:simple_name), joins: @joins.map(&:simple_name) } end |