module Hanami::Events::CloudPubsub::Integration::Setup
Helpers use to setup all integration with hanami
Public Instance Methods
add_configuration_helpers()
click to toggle source
# File lib/hanami/events/cloud_pubsub/integration.rb, line 56 def add_configuration_helpers require 'hanami/utils/load_paths' require 'hanami/configuration' ::Hanami::Configuration.include(Integration::Configuration) ::Hanami.extend Integration::EasyAccess end
hook_into_all()
click to toggle source
# File lib/hanami/events/cloud_pubsub/integration.rb, line 44 def hook_into_all require 'hanami/components' # Unfortunately, hanami does not provide a way to add the component # requirements easily, so we take the old requirements and append 'events' requirements_for_all = ::Hanami::Components.component('all').send(:requirements) ::Hanami::Components.register 'all' do requires(*requirements_for_all, 'events') resolve { true } end end
register_events_adapter()
click to toggle source
# File lib/hanami/events/cloud_pubsub/integration.rb, line 18 def register_events_adapter ::Hanami::Events::Adapter.register(:cloud_pubsub) do require 'hanami/events/adapter/cloud_pubsub' ::Hanami::Events::Adapter::CloudPubsub end end
register_hanami_component()
click to toggle source
# File lib/hanami/events/cloud_pubsub/integration.rb, line 25 def register_hanami_component ::Hanami::Components.register 'events' do requires 'logger', 'code' prepare { require 'hanami/events/cloud_pubsub' } resolve do |conf| CloudPubsub.configure do |config| conf.cloud_pubsub.each { |blk| blk.call(config) } end require 'google/cloud/pubsub' opts = { pubsub: Google::Cloud::Pubsub.new, logger: Hanami::Components['logger'] } ::Hanami::Events.initialize(:cloud_pubsub, **opts) end end end
setup()
click to toggle source
# File lib/hanami/events/cloud_pubsub/integration.rb, line 11 def setup register_events_adapter register_hanami_component hook_into_all add_configuration_helpers end