Module: UmbrellioUtils
- Extended by:
- UmbrellioUtils
- Included in:
- UmbrellioUtils
- Defined in:
- lib/umbrellio_utils.rb,
lib/umbrellio_utils/sql.rb,
lib/umbrellio_utils/misc.rb,
lib/umbrellio_utils/cards.rb,
lib/umbrellio_utils/store.rb,
lib/umbrellio_utils/vault.rb,
lib/umbrellio_utils/checks.rb,
lib/umbrellio_utils/random.rb,
lib/umbrellio_utils/control.rb,
lib/umbrellio_utils/parsing.rb,
lib/umbrellio_utils/version.rb,
lib/umbrellio_utils/database.rb,
lib/umbrellio_utils/rounding.rb,
lib/umbrellio_utils/constants.rb,
lib/umbrellio_utils/passwords.rb,
lib/umbrellio_utils/formatting.rb,
lib/umbrellio_utils/migrations.rb,
lib/umbrellio_utils/click_house.rb,
lib/umbrellio_utils/http_client.rb,
lib/umbrellio_utils/request_wrapper.rb,
lib/umbrellio_utils/click_house/backends.rb,
lib/umbrellio_utils/click_house/backends/base.rb,
lib/umbrellio_utils/click_house/backends/legacy.rb,
lib/umbrellio_utils/click_house/backends/native.rb,
lib/umbrellio_utils/semantic_logger/tiny_json_formatter.rb
Defined Under Namespace
Modules: Cards, Checks, ClickHouse, Constants, Control, Database, Formatting, Jobs, Migrations, Misc, Parsing, Passwords, Random, Rounding, SQL, SemanticLogger, Store, Vault Classes: HTTPClient, RequestWrapper
Constant Summary collapse
- GLOBAL_MUTEX =
Mutex.new
- VERSION =
"1.13.0"
Instance Method Summary collapse
-
#config ⇒ Object
rubocop:disable Style/ClassVars.
-
#configure ⇒ Object
rubocop:enable Style/ClassVars.
- #extend_util!(module_name, &block) ⇒ Object
- #included(othermod) ⇒ Object
Instance Method Details
#config ⇒ Object
rubocop:disable Style/ClassVars
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/umbrellio_utils.rb', line 16 def config synchronize do @@config ||= Struct .new( :store_table_name, :http_client_name, :ch_optimize_timeout, :clickhouse_backend, :clickhouse_native_settings, :clickhouse_native_logger, :clickhouse_cluster, keyword_init: true, ) .new(**default_settings) end end |
#configure ⇒ Object
rubocop:enable Style/ClassVars
35 36 37 38 39 40 41 |
# File 'lib/umbrellio_utils.rb', line 35 def configure synchronize { yield config } # Consumers on the native backend rely on `::ClickHouse.config` # being available at rake/runtime (e.g. umbrellio-sequel-plugins' # ch:create). Load the shim eagerly once the backend is selected. require_relative "umbrellio_utils/click_house/config" if config.clickhouse_backend == :native end |
#extend_util!(module_name, &block) ⇒ Object
43 44 45 46 |
# File 'lib/umbrellio_utils.rb', line 43 def extend_util!(module_name, &block) const = UmbrellioUtils.const_get(module_name) synchronize { const.class_eval(&block) } end |
#included(othermod) ⇒ Object
10 11 12 13 |
# File 'lib/umbrellio_utils.rb', line 10 def included(othermod) super othermod.extend(self) end |