Module: Angarium
- Defined in:
- lib/angarium.rb,
lib/angarium/client.rb,
lib/angarium/engine.rb,
lib/angarium/version.rb,
lib/angarium/dispatch.rb,
lib/angarium/signature.rb,
app/models/angarium/event.rb,
lib/angarium/configuration.rb,
lib/angarium/event_matcher.rb,
lib/angarium/address_policy.rb,
app/models/angarium/delivery.rb,
app/models/angarium/endpoint.rb,
app/jobs/angarium/deliver_job.rb,
app/policies/angarium/api/policy.rb,
app/jobs/angarium/application_job.rb,
app/models/angarium/delivery_attempt.rb,
app/models/angarium/application_record.rb,
app/helpers/angarium/application_helper.rb,
app/controllers/angarium/api/not_authorized.rb,
app/controllers/angarium/api/base_controller.rb,
app/validators/angarium/endpoint_url_validator.rb,
lib/generators/angarium/policy/policy_generator.rb,
app/controllers/angarium/api/attempts_controller.rb,
app/controllers/angarium/api/endpoints_controller.rb,
lib/generators/angarium/install/install_generator.rb,
app/controllers/angarium/api/deliveries_controller.rb,
app/controllers/angarium/api/unpermitted_parameter.rb,
lib/generators/angarium/migrations/migrations_generator.rb
Defined Under Namespace
Modules: AddressPolicy, Api, ApplicationHelper, Dispatch, EventMatcher, Generators, Signature Classes: ApplicationJob, ApplicationRecord, Client, Configuration, DeliverJob, Delivery, DeliveryAttempt, Endpoint, EndpointUrlValidator, Engine, Event
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
- .config ⇒ Object
- .configure {|config| ... } ⇒ Object
- .dispatch(event_name, payload, owner:) ⇒ Object
-
.notify(callback_name, *args) ⇒ Object
Invoke a configured notification callback (e.g. on_delivery_exhausted, on_endpoint_deactivated).
-
.primary_key_type ⇒ Object
Primary key type for Angarium's own tables.
Class Method Details
.config ⇒ Object
12 13 14 |
# File 'lib/angarium.rb', line 12 def config @config ||= Configuration.new end |
.configure {|config| ... } ⇒ Object
16 17 18 |
# File 'lib/angarium.rb', line 16 def configure yield config end |
.dispatch(event_name, payload, owner:) ⇒ Object
28 29 30 |
# File 'lib/angarium.rb', line 28 def dispatch(event_name, payload, owner:) Dispatch.call(event_name, payload, owner: owner) end |
.notify(callback_name, *args) ⇒ Object
Invoke a configured notification callback (e.g. on_delivery_exhausted, on_endpoint_deactivated). A callback raising must never break the delivery pipeline, so errors are logged and swallowed.
35 36 37 38 39 40 41 42 |
# File 'lib/angarium.rb', line 35 def notify(callback_name, *args) callback = config.public_send(callback_name) return unless callback callback.call(*args) rescue => e Rails.logger.error { "[Angarium] #{callback_name} callback raised: #{e.class}: #{e.}" } end |
.primary_key_type ⇒ Object
Primary key type for Angarium's own tables. Explicit config wins; otherwise respect the app's global generators setting; otherwise Rails' default (bigint).
22 23 24 25 26 |
# File 'lib/angarium.rb', line 22 def primary_key_type config.primary_key_type || Rails.application.config.generators..dig(:active_record, :primary_key_type) || :bigint end |