Sha256: a2eed2f60f4b8fc644770c22ac68d436f2578e18d7f9561f6b8d3f549e3b4a1a

Contents?: true

Size: 623 Bytes

Versions: 8

Compression:

Stored size: 623 Bytes

Contents

# frozen_string_literal: true

require "yaml"
require "refinements/hashes"
require "runcom"

module Rubysmith
  module CLI
    # Represents the fully assembled Command Line Interface (CLI) configuration.
    class Configuration
      using Refinements::Hashes

      DEFAULTS = YAML.load_file(Pathname(__dir__).join("defaults.yml")).freeze
      CLIENT = Runcom::Config.new "#{Identity::NAME}/configuration.yml", defaults: DEFAULTS

      def initialize client: CLIENT
        @client = client
      end

      def to_h
        client.to_h.flatten_keys
      end

      private

      attr_reader :client
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rubysmith-0.6.1 lib/rubysmith/cli/configuration.rb
rubysmith-0.6.0 lib/rubysmith/cli/configuration.rb
rubysmith-0.5.0 lib/rubysmith/cli/configuration.rb
rubysmith-0.4.0 lib/rubysmith/cli/configuration.rb
rubysmith-0.3.0 lib/rubysmith/cli/configuration.rb
rubysmith-0.2.0 lib/rubysmith/cli/configuration.rb
rubysmith-0.1.1 lib/rubysmith/cli/configuration.rb
rubysmith-0.1.0 lib/rubysmith/cli/configuration.rb