Module: Railsmith
- Defined in:
- lib/railsmith.rb,
lib/railsmith/hooks.rb,
lib/railsmith/errors.rb,
lib/railsmith/result.rb,
lib/railsmith/context.rb,
lib/railsmith/failure.rb,
lib/railsmith/railtie.rb,
lib/railsmith/version.rb,
lib/railsmith/deep_dup.rb,
lib/railsmith/pipeline.rb,
lib/railsmith/hooks/dsl.rb,
lib/railsmith/arch_report.rb,
lib/railsmith/base_service.rb,
lib/railsmith/hooks/errors.rb,
lib/railsmith/hooks/runner.rb,
lib/railsmith/configuration.rb,
lib/railsmith/domain_context.rb,
lib/railsmith/arch_checks/cli.rb,
lib/railsmith/async_enqueuers.rb,
lib/railsmith/instrumentation.rb,
lib/railsmith/pipeline/errors.rb,
lib/railsmith/pipeline/runner.rb,
lib/railsmith/hooks/hook_chain.rb,
lib/railsmith/hooks/hook_entry.rb,
lib/railsmith/controller_helpers.rb,
lib/railsmith/cross_domain_guard.rb,
lib/railsmith/hooks/hook_registry.rb,
lib/railsmith/arch_checks/violation.rb,
lib/railsmith/async_nested_write_job.rb,
lib/railsmith/base_service/input_dsl.rb,
lib/railsmith/base_service/validation.rb,
lib/railsmith/base_service/bulk_params.rb,
lib/railsmith/base_service/dup_helpers.rb,
lib/railsmith/pipeline/step_definition.rb,
lib/railsmith/base_service/bulk_actions.rb,
lib/railsmith/base_service/crud_actions.rb,
lib/railsmith/base_service/bulk_contract.rb,
lib/railsmith/base_service/eager_loading.rb,
lib/railsmith/base_service/nested_writer.rb,
lib/railsmith/base_service/type_coercion.rb,
lib/railsmith/base_service/bulk_execution.rb,
lib/railsmith/base_service/input_registry.rb,
lib/railsmith/base_service/input_resolver.rb,
lib/railsmith/base_service/association_dsl.rb,
lib/railsmith/base_service/input_definition.rb,
lib/railsmith/base_service/crud_transactions.rb,
lib/railsmith/cross_domain_warning_formatter.rb,
lib/railsmith/base_service/crud_error_mapping.rb,
lib/railsmith/base_service/context_propagation.rb,
lib/railsmith/base_service/crud_record_helpers.rb,
lib/railsmith/base_service/association_registry.rb,
lib/generators/railsmith/domain/domain_generator.rb,
lib/railsmith/base_service/crud_model_resolution.rb,
lib/railsmith/base_service/association_definition.rb,
lib/generators/railsmith/install/install_generator.rb,
lib/generators/railsmith/pipeline/pipeline_generator.rb,
lib/railsmith/arch_checks/direct_model_access_checker.rb,
lib/railsmith/base_service/domain_context_propagation.rb,
lib/railsmith/base_service/nested_writer/nested_write.rb,
lib/generators/railsmith/operation/operation_generator.rb,
lib/railsmith/arch_checks/missing_service_usage_checker.rb,
lib/railsmith/base_service/nested_writer/cascading_destroy.rb,
lib/generators/railsmith/model_service/model_service_generator.rb,
lib/railsmith/base_service/nested_writer/nested_write/write_nested.rb,
lib/railsmith/base_service/nested_writer/nested_write/async_enqueueing.rb,
lib/railsmith/base_service/nested_writer/nested_write/write_nested_item.rb
Overview
Railsmith provides a service-layer toolkit for Rails apps.
Defined Under Namespace
Modules: ArchChecks, AsyncEnqueuers, ControllerHelpers, CrossDomainGuard, CrossDomainWarningFormatter, Errors, Generators, Hooks, Instrumentation Classes: ArchReport, AsyncNestedWriteJob, AsyncNotConfiguredError, BaseService, Configuration, Context, DomainContext, Error, Failure, Pipeline, Railtie, Result
Constant Summary collapse
- VERSION =
"1.3.0"
Class Attribute Summary collapse
Class Method Summary collapse
- .configure {|configuration| ... } ⇒ Object
-
.deep_dup(value) ⇒ Object
Deep-duplicates Hash/Array trees for defensive copies (params/context).
Class Attribute Details
.configuration ⇒ Object
35 36 37 |
# File 'lib/railsmith.rb', line 35 def configuration @configuration ||= Configuration.new end |
Class Method Details
.configure {|configuration| ... } ⇒ Object
39 40 41 |
# File 'lib/railsmith.rb', line 39 def configure yield(configuration) end |
.deep_dup(value) ⇒ Object
Deep-duplicates Hash/Array trees for defensive copies (params/context).
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/railsmith/deep_dup.rb', line 8 def deep_dup(value) case value when Hash value.each_with_object({}) { |(key, item), memo| memo[key] = deep_dup(item) } when Array value.map { |item| deep_dup(item) } else value.dup end rescue TypeError value end |