class Nokaya::AppStore
Inspired by Brett Terpstra
Attributes
appname[RW]
Public Class Methods
new(args, options = {})
click to toggle source
Calls superclass method
Nokaya::Apple::new
# File lib/nokaya/appstore.rb, line 10 def initialize args, options = {} super(args, options) @type = :appstore @appname = @workers.sanitize(args.join('_')) @urls = [grab_small(args), grab_big(args)].compact find_screenshots(args) @path = "#{@path}/appstore-#{@appname}-#{@workers.timed}" @filenames = name_files() remove_instance_variable(:@res) end
Private Instance Methods
find_icon(terms)
click to toggle source
# File lib/nokaya/appstore.rb, line 29 def find_icon terms itunes_url = create_url(terms) begin @res = open(itunes_url).read rescue SocketError Logs.rec.error 'No connexion' @res = {}.to_json end match = @res.match(/"#{@icon_size}":"(.*?)",/) unless match.nil? return match[1] else return nil end end
find_screenshots(terms)
click to toggle source
# File lib/nokaya/appstore.rb, line 55 def find_screenshots terms res = JSON.parse(@res) unless res.empty? || res['results'].empty? res['results'][0]['screenshotUrls'].each {|link| @urls << link} end end
grab_big(args)
click to toggle source
# File lib/nokaya/appstore.rb, line 50 def grab_big args @icon_size = "artworkUrl100" find_icon(args) end
grab_small(args)
click to toggle source
# File lib/nokaya/appstore.rb, line 45 def grab_small args @icon_size = "artworkUrl60" find_icon(args) end
name_files()
click to toggle source
# File lib/nokaya/appstore.rb, line 23 def name_files @urls.map.with_index do |url, index| "#{@type.to_s}-#{@appname}-#{'%02d' % index}-#{File.basename(url).gsub('ApplicationIcon.', '')}" end end