Class: AwsSsmEnv::Fetcher Abstract
- Inherits:
-
Object
- Object
- AwsSsmEnv::Fetcher
- Defined in:
- lib/aws-ssm-env/fetcher.rb
Overview
This class is abstract.
AWSのParameter Storeからパラメータを取得するための基底抽象クラス。Iteratorパターンを実装。 このクラスのサブクラスは‘fetch`メソッドを実装する必要がある。 実装クラスを AwsSsmEnv#load の引数に渡すことによりパラメータの取得方法を切り替えられるようにする。
Direct Known Subclasses
Instance Method Summary collapse
-
#each {|consumer| ... } ⇒ Object
Iteratorパターンを実装したメソッド。AwsSsmEnv#load から呼び出される。 実際のパラメータ取得はサブクラスで実装された fetch メソッドで行う。.
-
#initialize(**args) ⇒ Fetcher
constructor
ここの引数は AwsSsmEnv#load の呼び出し時に渡された引数がそのまま渡される。 実装クラスによって‘args`の内容は変化するが、decryption, client, ssm_client_args は全サブクラス共通。.
Constructor Details
#initialize(**args) ⇒ Fetcher
ここの引数は AwsSsmEnv#load の呼び出し時に渡された引数がそのまま渡される。 実装クラスによって‘args`の内容は変化するが、decryption, client, ssm_client_args は全サブクラス共通。
25 26 27 28 |
# File 'lib/aws-ssm-env/fetcher.rb', line 25 def initialize(**args) @client = create_ssm_client(args) @with_decryption = with_decryption?(args) end |
Instance Method Details
#each {|consumer| ... } ⇒ Object
Iteratorパターンを実装したメソッド。AwsSsmEnv#load から呼び出される。 実際のパラメータ取得はサブクラスで実装された fetch メソッドで行う。
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/aws-ssm-env/fetcher.rb', line 34 def each next_token = nil loop do response = fetch(next_token) next_token = response.next_token if response.parameters.empty? break end response.parameters.each do |p| yield(p) end if next_token.nil? break end end end |