Sha256: 32ee59e339f6c8b41ff625d728522cc174c5ebdbeb5a38340fd7c67104d7955d

Contents?: true

Size: 767 Bytes

Versions: 26

Compression:

Stored size: 767 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: seed }, overrides)
          end

          def reset
            @seed = nil
          end

          private

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

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
rspec-terraform-0.5.0.pre.3 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.5.0.pre.2 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.5.0.pre.1 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.4.0 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.3.0.pre.1 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.2.0 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.49 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.48 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.47 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.46 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.45 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.44 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.43 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.42 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.41 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.40 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.39 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.38 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.37 lib/rspec/terraform/configuration/providers/seed.rb
rspec-terraform-0.1.0.pre.36 lib/rspec/terraform/configuration/providers/seed.rb