Module: Blocks::Sdk
- Defined in:
- lib/blocks/sdk.rb,
lib/blocks/sdk/version.rb,
lib/blocks/sdk/base_client.rb,
lib/blocks/sdk/rails/routes.rb,
lib/blocks/sdk/configuration.rb,
lib/blocks/sdk/rails/railtie.rb,
lib/blocks/sdk/service_manager.rb,
lib/blocks/sdk/cache/memory_cache.rb,
lib/blocks/sdk/rails/i18n_backend.rb,
lib/blocks/sdk/clients/translations_client.rb,
lib/blocks/sdk/rails/translations_route_mapper.rb,
lib/blocks/sdk/rails/controllers/api/translations_controller.rb,
lib/blocks/sdk/rails/controllers/translations_webhooks_controller.rb
Defined Under Namespace
Modules: Cache, Clients, Rails Classes: BaseClient, Configuration, Error, ServiceManager
Constant Summary collapse
- VERSION =
"0.1.0"
Class Attribute Summary collapse
Class Method Summary collapse
-
.config ⇒ Object
Alias for configuration for convenience.
- .configure {|configuration| ... } ⇒ Object
-
.load_translations_on_boot ⇒ Object
Load translations into cache on Rails boot This method should be called after Rails initialization It fetches translations for all configured modules and languages.
Class Attribute Details
.configuration ⇒ Object
17 18 19 |
# File 'lib/blocks/sdk.rb', line 17 def configuration @configuration ||= Configuration.new end |
.service_manager ⇒ Object
31 32 33 |
# File 'lib/blocks/sdk.rb', line 31 def service_manager @service_manager ||= ServiceManager.new end |
Class Method Details
.config ⇒ Object
Alias for configuration for convenience
22 23 24 |
# File 'lib/blocks/sdk.rb', line 22 def config configuration end |
.configure {|configuration| ... } ⇒ Object
26 27 28 29 |
# File 'lib/blocks/sdk.rb', line 26 def configure yield(configuration) if block_given? configuration end |
.load_translations_on_boot ⇒ Object
Load translations into cache on Rails boot This method should be called after Rails initialization It fetches translations for all configured modules and languages
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/blocks/sdk.rb', line 38 def load_translations_on_boot return unless defined?(Rails) return unless configuration.cache_enabled # Get modules and languages from configuration or environment modules = translation_modules languages = translation_languages modules.each do |module_name| languages.each do |language| begin service_manager.fetch( service_name: "translations", params: { module_name: module_name, language: language }, config: { base_url: configuration.uilm_base_url, project_key: configuration.uilm_project_key } ) rescue StandardError => e log_error("Failed to load translations for #{module_name} (#{language}): #{e.}") end end end end |