diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/backend.rb | 2 | ||||
-rw-r--r-- | lib/backend/git.rb | 32 | ||||
-rw-r--r-- | lib/keyringer/actions/decrypt.rb | 6 | ||||
-rw-r--r-- | lib/keyringer/actions/init.rb | 5 |
4 files changed, 42 insertions, 3 deletions
diff --git a/lib/backend.rb b/lib/backend.rb index 953ca8d..6275bcb 100644 --- a/lib/backend.rb +++ b/lib/backend.rb @@ -21,9 +21,11 @@ # gems require 'rubygems' require 'parseconfig' +require 'git' # internal requires $:.unshift File.dirname(__FILE__) +require 'backend/git' require 'backend/crypt' require 'backend/recipients_store' require 'backend/parse_config' diff --git a/lib/backend/git.rb b/lib/backend/git.rb new file mode 100644 index 0000000..177657b --- /dev/null +++ b/lib/backend/git.rb @@ -0,0 +1,32 @@ +#!/usr/bin/env ruby +# +# Keyringer secret management system. +# +# Copyright (C) 2011 Keyringer Development Team. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +module Backend + class Git + def open(path) + begin + @git = ::Git.open(path) + rescue Exception => e + puts "Cannot open #{path}" + false + end + end + end +end diff --git a/lib/keyringer/actions/decrypt.rb b/lib/keyringer/actions/decrypt.rb index f76dcc9..33f01c2 100644 --- a/lib/keyringer/actions/decrypt.rb +++ b/lib/keyringer/actions/decrypt.rb @@ -22,10 +22,10 @@ module Keyringer module Actions class Decrypt def execute - filename = $args[0] + path = Keyring::UserConfig.instance.path + filename = path + '/keys/' + $args[0] + '.asc' crypt = Keyring::Crypt.new - output = crypt.decrypt(filename) - return output + crypt.decrypt(filename) end end end diff --git a/lib/keyringer/actions/init.rb b/lib/keyringer/actions/init.rb index 1aa6de1..d48abbf 100644 --- a/lib/keyringer/actions/init.rb +++ b/lib/keyringer/actions/init.rb @@ -22,6 +22,11 @@ module Keyringer module Actions class Init def initialize + path = Keyring::UserConfig.instance.path + Backend::Git.new + end + + def execute end end end |