Sha256: 9b7e9a726ad69bf3eca86c34aea438e35f308dd2b149cc0e908393f83e7f679f

Contents?: true

Size: 770 Bytes

Versions: 11

Compression:

Stored size: 770 Bytes

Contents

require 'weeter/plugins/subscription/http'
require 'weeter/plugins/subscription/redis'

require 'active_support/core_ext/string/inflections'
require 'active_support/core_ext/module/delegation'

module Weeter
  module Plugins
    class SubscriptionPlugin
      delegate :get_initial_filters, :to => :configured_plugin
      delegate :listen_for_filter_update, :to => :configured_plugin

      def initialize(client_app_config)
        @config = client_app_config
      end

    protected
      def configured_plugin
        @configured_plugin ||= begin
          Weeter.logger.info("Using #{@config.subscription_plugin} subscription plugin")
          Subscription.const_get(@config.subscription_plugin.to_s.camelize).new(@config)
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
weeter-0.19.4 lib/weeter/plugins/subscription_plugin.rb
weeter-0.19.3 lib/weeter/plugins/subscription_plugin.rb
weeter-0.19.2 lib/weeter/plugins/subscription_plugin.rb
weeter-0.19.1 lib/weeter/plugins/subscription_plugin.rb
weeter-0.19.0 lib/weeter/plugins/subscription_plugin.rb
weeter-0.18.0 lib/weeter/plugins/subscription_plugin.rb
weeter-0.17.0 lib/weeter/plugins/subscription_plugin.rb
weeter-0.15.0 lib/weeter/plugins/subscription_plugin.rb
weeter-0.14.0 lib/weeter/plugins/subscription_plugin.rb
weeter-0.13.0 lib/weeter/plugins/subscription_plugin.rb
weeter-0.11.0 lib/weeter/plugins/subscription_plugin.rb