module Fetcher module Microdata module Twitter class ArticleSmall include Virtus include Discoverer::Writer attr_accessor :_type attribute :additionalType attribute :id attribute :articleBody attribute :author attribute :viewer attribute :dateCreated attribute :provider attribute :url def initialize original_tweet, viewer @_type = 'http://schema.org/Article/Small' @additionalType = 'http://getfetcher.net/Item' coerce original_tweet, viewer end def coerce original_tweet, viewer @id = original_tweet["id"] @articleBody = original_tweet["text"] @author = PersonUser.new original_tweet["user"] @viewer = PersonUser.new viewer @dateCreated = Service.instance.created_at_to_timestamp original_tweet["created_at"] @provider = ["twitter", original_tweet["source"]] @url = "https://twitter.com/#{original_tweet["user"]["screen_name"]}/status/#{original_tweet["id"]}" end end end end end