Sha256: 30106129a9067b5bad65791b51bac8e90b622377dec77069254aa2f2bc8568bb

Contents?: true

Size: 991 Bytes

Versions: 17

Compression:

Stored size: 991 Bytes

Contents

# Create custom parser
class TwitterParser < Faraday::Response::Middleware
  def on_complete(env)
    json = MultiJson.load(env[:body], :symbolize_keys => true)
    errors = [json.delete(:error)]
    env[:body] = {
      :data => json,
      :errors => errors,
      :metadata => {},
    }
  end
end

# See https://dev.twitter.com/apps
TWITTER_CREDENTIALS = {
  :consumer_key => "",
  :consumer_secret => "",
  :token => "",
  :token_secret => ""
}

# Initialize API
Her::API.setup :url => "https://api.twitter.com/1/" do |builder|
  builder.use FaradayMiddleware::OAuth, TWITTER_CREDENTIALS
  builder.use Faraday::Request::UrlEncoded
  builder.use TwitterParser
  builder.use Faraday::Adapter::NetHttp
end

# Define classes
class Tweet
  include Her::Model

  def self.timeline
    get "/statuses/home_timeline.json"
  end

  def self.mentions
    get "/statuses/mentions.json"
  end

  def username
    user[:screen_name]
  end
end

get "/" do
  @tweets = Tweet.mentions
  haml :index
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
her-0.5.3 examples/twitter-oauth/app.rb
her-0.5.2 examples/twitter-oauth/app.rb
her-0.5.1 examples/twitter-oauth/app.rb
her-0.5 examples/twitter-oauth/app.rb
extended_her-0.5 examples/twitter-oauth/app.rb
her-0.4.1 examples/twitter-oauth/app.rb
her-0.4 examples/twitter-oauth/app.rb
her-0.3.8 examples/twitter-oauth/app.rb
her-0.3.7 examples/twitter-oauth/app.rb
her-0.3.6 examples/twitter-oauth/app.rb
her-0.3.5 examples/twitter-oauth/app.rb
her-0.3.4 examples/twitter-oauth/app.rb
her-0.3.3 examples/twitter-oauth/app.rb
her-0.3.2 examples/twitter-oauth/app.rb
her-0.3.1 examples/twitter-oauth/app.rb
her-0.3 examples/twitter-oauth/app.rb
her-0.2.6 examples/twitter-oauth/app.rb