Class: RemoteTranslationLoader::Loader
- Inherits:
-
Object
- Object
- RemoteTranslationLoader::Loader
- Defined in:
- lib/remote_translation_loader/loader.rb
Instance Method Summary collapse
- #fetch_and_load(dry_run: false, namespace: nil) ⇒ Object
-
#initialize(urls, fetcher: nil, logger: Logger.new($stdout)) ⇒ Loader
constructor
fetcher:can be left unset to auto-detect the right fetcher per source (http(s):// -> HttpFetcher, s3://bucket/key -> S3Fetcher, else -> FileFetcher).
Constructor Details
#initialize(urls, fetcher: nil, logger: Logger.new($stdout)) ⇒ Loader
fetcher: can be left unset to auto-detect the right fetcher per source
(http(s):// -> HttpFetcher, s3://bucket/key -> S3Fetcher, else -> FileFetcher).
Pass an explicit fetcher to force every source through it instead.
9 10 11 12 13 14 |
# File 'lib/remote_translation_loader/loader.rb', line 9 def initialize(urls, fetcher: nil, logger: Logger.new($stdout)) @urls = urls @fetcher = fetcher @resolver = SourceResolver.new if @fetcher.nil? @logger = logger end |
Instance Method Details
#fetch_and_load(dry_run: false, namespace: nil) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/remote_translation_loader/loader.rb', line 16 def fetch_and_load(dry_run: false, namespace: nil) @urls.each do |url| content = fetch_content(url) validate_translations!(content, url) if dry_run @logger.info("Simulating loading for #{url}: #{content.inspect}") else merge_into_i18n(content, namespace: namespace) end end end |