Skip to content

Docs: Dependencies

Marian13 edited this page Oct 19, 2022 · 17 revisions

Static

Static dependencies are dependencies that are always loaded whenever require "convenient_service" is called.

The lib is not functional without them.

Built-in (Ruby standard library)

OpenStruct GitHub Docs
Forwardable GitHub Docs
Logger GitHub Docs
Singleton GitHub Docs

Extractions

ActiveSupport::Concern GitHub Docs
ruby-middleware GitHub Docs

Dynamic

Dynamic dependencies are loaded on demand, for example, when a plugin that depends on them is required:

##
# Loads the plugin + "active_model".
#
ConvenientService::Dependencies.require_assigns_attributes_in_constructor_using_active_model_attribute_assignment

It is a decision left to the end-user whether to require them or not.

They do NOT affect internal library behavior.

Built-in (Ruby standard library)

Tempfile GitHub Docs

Extractions

Byebug syntax highlighting GitHub Gist Docs

External dependencies

Active Model GitHub Docs
dry-initializer GitHub Docs
dry-validation GitHub Docs
Awesome Print GitHub Docs
Byebug GitHub Docs
Paint GitHub Docs
Rouge GitHub Docs
method_source GitHub Docs
Ruby/ProgressBar GitHub Docs

NOTE: The current state of dependencies of convenient_service can be found at convenient_service.gemspec and lib/convenient_service/dependencies.rb.