diff options
-rw-r--r-- | Gemfile | 1 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | lib/oxidized/manager.rb | 1 | ||||
-rw-r--r-- | lib/oxidized/source/csv.rb | 13 |
4 files changed, 8 insertions, 9 deletions
@@ -1,3 +1,2 @@ source 'https://rubygems.org' -gem 'gpgme' gemspec @@ -242,7 +242,7 @@ source: csv: file: ~/.config/oxidized/router.db delimiter: !ruby/regexp /:/ - gpg: 'false' + gpg: false gpg_password: 'password' map: name: 0 diff --git a/lib/oxidized/manager.rb b/lib/oxidized/manager.rb index 60394fd..bf28ae7 100644 --- a/lib/oxidized/manager.rb +++ b/lib/oxidized/manager.rb @@ -3,7 +3,6 @@ module Oxidized require 'oxidized/input/input' require 'oxidized/output/output' require 'oxidized/source/source' - require 'gpgme' class Manager class << self def load dir, file diff --git a/lib/oxidized/source/csv.rb b/lib/oxidized/source/csv.rb index 449b297..c508358 100644 --- a/lib/oxidized/source/csv.rb +++ b/lib/oxidized/source/csv.rb @@ -10,21 +10,22 @@ class CSV < Source Oxidized.asetus.user.source.csv.file = File.join(Config::Root, 'router.db') Oxidized.asetus.user.source.csv.delimiter = /:/ Oxidized.asetus.user.source.csv.map.name = 0 - Oxidized.asetus.user.source.csv.map.model = 1 Oxidized.asetus.user.source.csv.gpg = false Oxidized.asetus.save :user raise NoConfig, 'no source csv config, edit ~/.config/oxidized/config' end + require 'gpgme' if @cfg.gpg? end def load nodes = [] - if @cfg.gpg != 'false' - crypto = GPGME::Crypto.new :password => @cfg.gpg_password - file = crypto.decrypt(File.open(@cfg.file)).to_s + file = File.expand_path(@cfg.file) + file = if @cfg.gpg? + crypto = GPGME::Crypto.new password: @cfg.gpg_password + crypto.decrypt(file).to_s else - file = open(File.expand_path @cfg.file) - end + open(file) + end file.each_line do |line| next if line.match(/^\s*#/) data = line.chomp.split(@cfg.delimiter, -1) |