Class: Weeter::Plugins::Subscription::Http

Inherits:
Object
  • Object
show all
Defined in:
lib/weeter/plugins/subscription/http.rb

Defined Under Namespace

Classes: UpdateServer

Instance Method Summary collapse

Constructor Details

#initialize(client_app_config) ⇒ Http

Returns a new instance of Http.



8
9
10
# File 'lib/weeter/plugins/subscription/http.rb', line 8

def initialize(client_app_config)
  @config = client_app_config
end

Instance Method Details

#get_initial_filters(&block) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/weeter/plugins/subscription/http.rb', line 12

def get_initial_filters(&block)
  http = Weeter::Plugins::Net::OauthHttp.get(@config, @config.subscriptions_url)
  http.callback {
    filter_params = {}
    if http.response_header.status == 200
      yield MultiJson.decode(http.response)
    else
      Weeter.logger.error "Initial filters request failed with response code #{http.response_header.status}."
      yield
    end
  }
end

#listen_for_filter_update(tweet_consumer) ⇒ Object



25
26
27
28
29
30
# File 'lib/weeter/plugins/subscription/http.rb', line 25

def listen_for_filter_update(tweet_consumer)
  port = @config.subscription_updates_port || Weeter::Configuration::ClientAppConfig::DEFAULT_SUBSCRIPTIONS_UPDATE_PORT
  EM.start_server('localhost', port, UpdateServer) do |conn|
    conn.tweet_consumer = tweet_consumer
  end
end