Sha256: bb0c6afe9769fa366b7e4ec4fbb0910db208ae89a5a6dde68af6026e12764420

Contents?: true

Size: 760 Bytes

Versions: 1

Compression:

Stored size: 760 Bytes

Contents

# frozen_string_literal: true

require 'ruby_terraform'
require 'securerandom'

require_relative 'base'

module RSpec
  module Terraform
    module Configuration
      module Providers
        class Seed < Base
          attr_reader(:generator, :merger)

          def initialize(opts = {})
            super()
            @generator =
              opts[:generator] || -> { SecureRandom.alphanumeric(10) }
            @merger = opts[:merger] || Merger.new
          end

          def resolve(overrides = {})
            merger.merge({ seed: }, overrides)
          end

          def reset
            @seed = nil
          end

          private

          def seed
            @seed ||= generator.call
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rspec-terraform-0.5.0.pre.9 lib/rspec/terraform/configuration/providers/seed.rb