class Gnip::Rules

Public Class Methods

new( configuration = nil, username = nil, password = nil, uri = nil, timeout = 60 ) click to toggle source
# File lib/gnip-rules.rb, line 21
def initialize( configuration = nil, username = nil, password = nil, uri = nil, timeout = 60 )
  @configuration_file = configuration
  unless username && password && uri
    load_credentials!
    username = @config["username"]
    password = @config["password"]
    uri = uri || @config["rules_url"]
  end

  self.class.basic_auth username , password
  self.class.base_uri uri
  self.class.default_timeout timeout
end

Public Instance Methods

default_timeout(timeout) click to toggle source
# File lib/gnip-rules.rb, line 35
def default_timeout(timeout)
  self.class.default_timeout timeout
  self.class.default_options
end

Private Instance Methods

environment() click to toggle source
# File lib/gnip-rules.rb, line 62
def environment
  if defined?(Rails)
    Rails.env
  elsif defined?(RAILS_ENV)
    RAILS_ENV
  elsif defined?(RACK_ENV)
    RACK_ENV
  else
    :development
  end
end
load_credentials!() click to toggle source
# File lib/gnip-rules.rb, line 43
    def load_credentials!
      if File.exists?( @configuration_file )
         @config = YAML.load_file( @configuration_file )[environment.to_s]
      else
        raise Exception.new( <<-RUBY
          You must provide a configuration file at config/gnip.yml

            development: &development
              username: omg@omg.com
              password: your_password
              account: your_account
              streaming_url: 'https://gnip-stream.twitter.com/stream/powertrack/accounts/YOUR_ACCOUNT/publishers/twitter/Sandbox.json'
              rules_api: 'https://gnip-api.twitter.com/rules/powertrack/accounts/YOUR_ACCOUNT/publishers/twitter/Sandbox.json'

        RUBY
        )
      end
    end