Module: ActionFigure
- Extended by:
- Configuration, ErrorRegistry, FormatRegistry
- Defined in:
- lib/action_figure.rb,
lib/action_figure/core.rb,
lib/action_figure/version.rb,
lib/action_figure/formatter.rb,
lib/action_figure/configuration.rb,
lib/action_figure/testing/rspec.rb,
lib/action_figure/error_registry.rb,
lib/action_figure/format_registry.rb,
lib/action_figure/formatters/jsend.rb,
lib/action_figure/testing/minitest.rb,
lib/action_figure/testing/statuses.rb,
lib/action_figure/formatters/default.rb,
lib/action_figure/formatters/wrapped.rb,
lib/action_figure/formatters/json_api.rb,
lib/action_figure/formatters/rfc_9457.rb,
lib/action_figure/formatters/json_api/resource.rb,
sig/action_figure.rbs
Overview
ActionFigure provides explicit, purpose-driven operation classes for Rails controller actions.
Defined Under Namespace
Modules: Configuration, Core, ErrorRegistry, FormatRegistry, Formatter, Formatters, Testing Classes: IndeterminateEntryPointError, InitializationNotSupportedError
Constant Summary collapse
- VERSION =
"0.7.0"
Constants included from ErrorRegistry
ErrorRegistry::DEFAULTS, ErrorRegistry::STATUS_CODE_FALLBACKS
Class Method Summary collapse
- .[](format = configuration.format) ⇒ Module
- .clear_format_module_cache(name) ⇒ void
- .error_statuses ⇒ Hash[Symbol, Symbol]
- .included(base) ⇒ void
- .register_error ⇒ Symbol
- .register_formatter(**formatters) ⇒ void
- .status_code_for ⇒ Integer
Methods included from Configuration
Methods included from FormatRegistry
Methods included from ErrorRegistry
define_helper, error_statuses, extended, register_error, status_code_for
Class Method Details
.[](format = configuration.format) ⇒ Module
36 37 38 |
# File 'lib/action_figure.rb', line 36 def self.[](format = configuration.format) format_modules.compute_if_absent(format) { build_format_module(format, fetch(format)) } end |
.clear_format_module_cache(name) ⇒ void
This method returns an undefined value.
53 54 55 |
# File 'lib/action_figure.rb', line 53 def self.clear_format_module_cache(name) format_modules.delete(name) end |
.error_statuses ⇒ Hash[Symbol, Symbol]
26 |
# File 'sig/action_figure.rbs', line 26
def self.error_statuses: () -> Hash[Symbol, Symbol]
|
.included(base) ⇒ void
This method returns an undefined value.
40 41 42 |
# File 'lib/action_figure.rb', line 40 def self.included(base) base.include(self[]) end |
.register_error ⇒ Symbol
27 |
# File 'sig/action_figure.rbs', line 27
def self.register_error: (Symbol | String name, Symbol | String status_symbol) -> Symbol
|
.register_formatter(**formatters) ⇒ void
This method returns an undefined value.
44 45 46 47 48 49 50 51 |
# File 'lib/action_figure.rb', line 44 def self.register_formatter(**formatters) formatters.each_value do |mod| missing = Formatter::REQUIRED_METHODS.reject { |m| mod.method_defined?(m) } raise ArgumentError, "#{mod} is missing formatter methods: #{missing.join(", ")}" if missing.any? end formatters.each_key { |name| clear_format_module_cache(name) } super end |
.status_code_for ⇒ Integer
28 |
# File 'sig/action_figure.rbs', line 28
def self.status_code_for: (Symbol status_symbol) -> Integer
|