Sha256: ac49e7f7302d195eadd5f9901b5add6bfbb163f202959cc363aafbe2b2fbb953

Contents?: true

Size: 766 Bytes

Versions: 84

Compression:

Stored size: 766 Bytes

Contents

# frozen_string_literal: true

require "yaml"

module PlutoniumGenerators
  module Concerns
    module Config
      def write_config(scope, **kwargs)
        write_config! config.deep_merge({scope => kwargs})
      end

      def read_config(scope, key, default: nil)
        config.dig(scope, key) || default
      end

      private

      def config
        in_root do
          if File.exist? config_filename
            YAML.load_file(config_filename, permitted_classes: [Regexp, Symbol]) || {}
          else
            {}
          end
        end
      end

      def write_config!(config)
        in_root do
          File.write(config_filename, YAML.dump(config))
        end
      end

      def config_filename
        ".pu"
      end
    end
  end
end

Version data entries

84 entries across 84 versions & 1 rubygems

Version Path
plutonium-0.20.4 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.20.3 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.20.1 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.20.0 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.13 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.12 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.11 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.10 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.9 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.8 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.7 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.6 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.5 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.4 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.3 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.2 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.1 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.19.0 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.18.8 lib/generators/pu/lib/plutonium_generators/concerns/config.rb
plutonium-0.18.7 lib/generators/pu/lib/plutonium_generators/concerns/config.rb