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(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.
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
#analyses ⇒ Object (readonly)
Returns the value of attribute analyses.
149 150 151 |
# File 'lib/dgit/core.rb', line 149 def analyses @analyses end |
#joins ⇒ Object (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_config ⇒ Object
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_analyses ⇒ Object
176 177 178 179 |
# File 'lib/dgit/core.rb', line 176 def del_all_analyses @analyses = [] Dig.it.save_config end |
#del_all_joins ⇒ Object
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_hash ⇒ Object
158 159 160 |
# File 'lib/dgit/core.rb', line 158 def to_hash { analyses: @analyses.map(&:simple_name), joins: @joins.map(&:simple_name) } end |