Class: AwsSsmEnv::FetcherFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/aws-ssm-env/fetchers/factory.rb

Overview

Parameter Storeからパラメータを取得するためのクラスを取得もしくは生成するファクトリクラス。

Author:

  • Ryohei Sonoda

Since:

  • 0.1.0

Constant Summary collapse

PATH_FETCHER =

Since:

  • 0.1.0

:path
BEGINS_WITH_FETCHER =

Since:

  • 0.1.0

:begins_with

Class Method Summary collapse

Class Method Details

.create_fetcher(**args) ⇒ Object

Parameter Storeからパラメータを取得するためのクラスを取得もしくは生成する。

Parameters:

  • args (Hash)

    AwsSsmEnv#load に渡された引数がそのまま渡される。

Options Hash (**args):

  • fetch (Symbol, AwsSsmEnv::Fetcher, Object)

    引数の詳細は AwsSsmEnv#load の説明を参照。

Since:

  • 0.1.0



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/aws-ssm-env/fetchers/factory.rb', line 18

def create_fetcher(**args)
  fetch_type = args[:fetch]
  case fetch_type
  when nil
    default_fetcher(args)
  when PATH_FETCHER
    create_path_fetcher(args)
  when BEGINS_WITH_FETCHER
    create_begins_with_fetcher(args)
  else
    unless fetcher_instance?(fetch_type)
      raise ArgumentError, 'Possible values for :fetch are either :path, :begins_with, ' \
          + '"AwsSsmEnv::Fetcher" implementation class, an object with "each" method.'
    end
    fetch_type
  end
end