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