Class: Oxidized::SQL
Instance Method Summary collapse
Methods inherited from Source
Instance Method Details
#load ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/oxidized/source/sql.rb', line 21 def load nodes = [] db = connect query = db[@cfg.table.to_sym] query = query.with_sql(@cfg.query) if @cfg.query? query.each do |node| # map node parameters keys = {} @cfg.map.each { |key, sql_column| keys[key.to_sym] = node[sql_column.to_sym] } keys[:model] = map_model keys[:model] if keys.key? :model # map node specific vars vars = {} @cfg.vars_map.each { |key, sql_column| vars[key.to_sym] = node[sql_column.to_sym] } keys[:vars] = vars unless vars.empty? nodes << keys end db.disconnect nodes end |
#setup ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/oxidized/source/sql.rb', line 9 def setup if @cfg.empty? CFGS.user.source.sql.adapter = 'sqlite' CFGS.user.source.sql.database = File.join(Config::Root, 'sqlite.db') CFGS.user.source.sql.table = 'devices' CFGS.user.source.sql.map.name = 'name' CFGS.user.source.sql.map.model = 'rancid' CFGS.save :user raise NoConfig, 'no source sql config, edit ~/.config/oxidized/config' end end |