class BolsoFurado

Public Class Methods

new(opts) click to toggle source
# File lib/bolso_furado.rb, line 5
def initialize(opts)
  @opts = opts
  @opts[:days] ||= 30
  @pocket = PocketClient.new(opts[:key], opts[:token])
end

Public Instance Methods

execute!() click to toggle source
# File lib/bolso_furado.rb, line 11
def execute!
  build_result(@pocket.retrieve_untagged).tap(&method(:tag_items!))
end

Private Instance Methods

build_result(items) click to toggle source
# File lib/bolso_furado.rb, line 17
def build_result(items)
  days_ago = Date.today - @opts[:days]
  OpenStruct.new(all: items,
                 old_articles: items.select { |item| item[:added_at] <= days_ago }, 
                 new_articles: items.select { |item| item[:added_at] > days_ago })
end
tag_items!(result) click to toggle source
# File lib/bolso_furado.rb, line 24
def tag_items!(result)
  @pocket.tag_as_bolso_furado(result.old_articles)
end