Sha256: db9e66f901c154cf7b1a87a0e2131fd029860348616832e80b1f737bd17384dc
Contents?: true
Size: 1.2 KB
Versions: 2
Compression:
Stored size: 1.2 KB
Contents
require 'apple-news/article/attachments' require 'apple-news/article/persistence' require 'apple-news/document' module AppleNews class Article include Attachments include Persistence include Resource include Properties optional_properties :is_sponsored, :is_preview, :accessory_text, :revision, :maturity_rating, :is_candidate_to_be_featured optional_property :links, {} attr_reader :id, :type, :title, :share_url, :state, :warnings, :created_at, :modified_at attr_accessor :document def initialize(id = nil, data = {}, config = AppleNews.config) assign_data(data) @id = id @config = config @resource_path = '/articles' @files = {} hydrate! if id.present? && data.blank? end def reload return false if id.nil? hydrate! end private def hydrate! data = fetch_data['data'] assign_data(data) end def assign_data(data) data = data.with_indifferent_access document = data.delete(:document) set_read_only_properties(data) load_properties(data) @document = document.is_a?(AppleNews::Document) ? document : Document.new(document) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
apple-news-0.5.1 | lib/apple-news/article.rb |
apple-news-0.5.0 | lib/apple-news/article.rb |