Sha256: e382189cfde36f64cee4e0b0218553ee6bbdd293c21e697263afa06d67a9ccd3

Contents?: true

Size: 987 Bytes

Versions: 9

Compression:

Stored size: 987 Bytes

Contents

# encoding: utf-8

module Nanoc3::DataSources

  # @deprecated Fetch data from online data sources manually instead
  class Twitter < Nanoc3::DataSource

    def items
      @item ||= begin
        require 'json'

        # Get data
        @http_client ||= Nanoc3::Extra::CHiCk::Client.new
        status, headers, data = *@http_client.get("http://twitter.com/statuses/user_timeline/#{self.config[:username]}.json")

        # Parse as JSON
        raw_items = JSON.parse(data)

        # Convert to items
        raw_items.enum_with_index.map do |raw_item, i|
          # Get data
          content = raw_item['text']
          attributes = {
            :created_at  => raw_item['created_at'],
            :source      => raw_item['source']
          }
          identifier = "/#{raw_item['id']}/"
          mtime = Time.parse(raw_item['created_at'])

          # Build item
          Nanoc3::Item.new(content, attributes, identifier, mtime)
        end
      end
    end

  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
nanoc3-3.2.4 lib/nanoc3/data_sources/deprecated/twitter.rb
nanoc3-3.2.3 lib/nanoc3/data_sources/deprecated/twitter.rb
nanoc3-3.2.2 lib/nanoc3/data_sources/deprecated/twitter.rb
nanoc3-3.2.1 lib/nanoc3/data_sources/deprecated/twitter.rb
nanoc3-3.2.0 lib/nanoc3/data_sources/deprecated/twitter.rb
nanoc3-3.2.0b3 lib/nanoc3/data_sources/deprecated/twitter.rb
nanoc3-3.2.0b2 lib/nanoc3/data_sources/deprecated/twitter.rb
nanoc3-3.2.0b1 lib/nanoc3/data_sources/deprecated/twitter.rb
nanoc3-3.2.0a4 lib/nanoc3/data_sources/deprecated/twitter.rb