aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2011-02-01 11:26:13 -0200
committerSilvio Rhatto <rhatto@riseup.net>2011-02-01 11:26:13 -0200
commit06675ebe0a69f1b3ae9b9d9fdfdeedf6392c40cf (patch)
treedf8c1219e8272cb7864b80688b5c00d411f5b19d
parentb25de691c1b282bd498a62ded3257dda92d1d423 (diff)
downloadkeyringer-06675ebe0a69f1b3ae9b9d9fdfdeedf6392c40cf.tar.gz
keyringer-06675ebe0a69f1b3ae9b9d9fdfdeedf6392c40cf.tar.bz2
Loading and checking user configuration
-rwxr-xr-xbin/keyringer1
-rw-r--r--lib/backend.rb5
-rw-r--r--lib/backend/parse_config.rb26
-rw-r--r--lib/keyring.rb1
-rw-r--r--lib/keyringer.rb4
-rw-r--r--lib/keyringer/actions/init.rb28
-rw-r--r--lib/keyringer/checker.rb2
-rw-r--r--lib/keyringer/console.rb2
8 files changed, 67 insertions, 2 deletions
diff --git a/bin/keyringer b/bin/keyringer
index fa569ff..47e5986 100755
--- a/bin/keyringer
+++ b/bin/keyringer
@@ -25,6 +25,7 @@ require 'keyringer'
begin
Keyringer::Parser.new
+ Keyringer::Checker.new
puts "Performing action #{$action.capitalize}"
begin
action = Keyringer::Actions.const_get($action.capitalize)
diff --git a/lib/backend.rb b/lib/backend.rb
index e427d2e..953ca8d 100644
--- a/lib/backend.rb
+++ b/lib/backend.rb
@@ -18,7 +18,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
+# gems
+require 'rubygems'
+require 'parseconfig'
+
# internal requires
$:.unshift File.dirname(__FILE__)
require 'backend/crypt'
require 'backend/recipients_store'
+require 'backend/parse_config'
diff --git a/lib/backend/parse_config.rb b/lib/backend/parse_config.rb
new file mode 100644
index 0000000..c879cb5
--- /dev/null
+++ b/lib/backend/parse_config.rb
@@ -0,0 +1,26 @@
+#!/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
+ # A wrapper around ParseConfig
+ def self.parse_config(config)
+ ParseConfig.new(config)
+ end
+end
diff --git a/lib/keyring.rb b/lib/keyring.rb
index d394f47..31d9e11 100644
--- a/lib/keyring.rb
+++ b/lib/keyring.rb
@@ -24,3 +24,4 @@ require 'backend'
require 'keyring/crypt'
require 'keyring/fs'
require 'keyring/recipients'
+require 'keyring/user_config'
diff --git a/lib/keyringer.rb b/lib/keyringer.rb
index 0209fd0..f271dd1 100644
--- a/lib/keyringer.rb
+++ b/lib/keyringer.rb
@@ -18,6 +18,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
+# general requires
+require 'singleton'
+
# internal requires
$:.unshift File.dirname(__FILE__)
require 'keyring'
@@ -27,6 +30,7 @@ require 'keyringer/checker'
require 'keyringer/console'
require 'keyringer/actions/decrypt'
require 'keyringer/actions/recipients'
+require 'keyringer/actions/init'
module Keyringer
VERSION = '2.0-alpha'
diff --git a/lib/keyringer/actions/init.rb b/lib/keyringer/actions/init.rb
new file mode 100644
index 0000000..1aa6de1
--- /dev/null
+++ b/lib/keyringer/actions/init.rb
@@ -0,0 +1,28 @@
+#!/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 Keyringer
+ module Actions
+ class Init
+ def initialize
+ end
+ end
+ end
+end
diff --git a/lib/keyringer/checker.rb b/lib/keyringer/checker.rb
index 3feb98b..5369b95 100644
--- a/lib/keyringer/checker.rb
+++ b/lib/keyringer/checker.rb
@@ -21,6 +21,8 @@
module Keyringer
class Checker
def initialize
+ path = Keyring::UserConfig.instance.path
+ raise "No path configuration for #{$keyring} keyring." if path.nil?
end
end
end
diff --git a/lib/keyringer/console.rb b/lib/keyringer/console.rb
index 08be3be..e3b6fae 100644
--- a/lib/keyringer/console.rb
+++ b/lib/keyringer/console.rb
@@ -19,8 +19,6 @@
#
module Keyringer
- require 'singleton'
-
class Console
include Singleton
def initialize