lib/ruby_vault.rb in ruby_vault-0.1.0.pre.3 vs lib/ruby_vault.rb in ruby_vault-0.1.0.pre.4
- old
+ new
@@ -1,22 +1,46 @@
# frozen_string_literal: true
-require 'ruby_vault/options'
-require 'ruby_vault/version'
+require_relative 'ruby_vault/options'
+require_relative 'ruby_vault/version'
+require_relative 'ruby_vault/commands'
require 'logger'
module RubyVault
class << self
def configuration
@configuration ||= Configuration.new
end
+ def configure
+ yield(configuration)
+ end
+
def reset!
@configuration = nil
end
end
+ module ClassMethods
+ def login(parameters = {}, invocation_options = {})
+ exec(RubyVault::Commands::Login,
+ parameters, invocation_options)
+ end
+
+ private
+
+ def exec(command_class, parameters, invocation_options)
+ command_class.new.execute(parameters, invocation_options)
+ end
+ end
+
+ extend ClassMethods
+
+ def self.included(other)
+ other.extend(ClassMethods)
+ end
+
class Configuration
attr_accessor :binary, :logger, :options, :stdin, :stdout, :stderr
def default_logger
logger = Logger.new($stdout)
@@ -27,10 +51,10 @@
def default_options
Options::Factory.new(Options::DEFINITIONS)
end
def initialize
- @binary = 'terraform'
+ @binary = 'vault'
@logger = default_logger
@options = default_options
@stdin = ''
@stdout = $stdout
@stderr = $stderr