module Android::Devices
Public Class Methods
devices()
click to toggle source
# File lib/android/devices.rb, line 44 def self.devices return @devices unless @devices.nil? update_devices unless list_exists @devices = CSV.read('devices.csv') @devices end
list_exists()
click to toggle source
# File lib/android/devices.rb, line 18 def self.list_exists return File.exists?('devices.csv') end
models()
click to toggle source
# File lib/android/devices.rb, line 34 def self.models return @models unless @models.nil? @models = [] devices.shift devices.each do |device| @models << Model.new(device[0], device[1], device[2], device[3]) end @models end
old_list?()
click to toggle source
# File lib/android/devices.rb, line 22 def self.old_list? return (File.mtime('devices.csv') < Time.parse((DateTime.now - 30).to_s)) end
search_by_manufacturer(manufacturer)
click to toggle source
# File lib/android/devices.rb, line 30 def self.search_by_manufacturer(manufacturer) models.select { |device| device.manufacturer == manufacturer} end
search_by_model(model)
click to toggle source
# File lib/android/devices.rb, line 26 def self.search_by_model(model) models.select { |device| device.model == model}.first end
update_devices(url = '')
click to toggle source
# File lib/android/devices.rb, line 7 def self.update_devices(url = '') csv_url = url.nil? || url.empty? ? 'http://storage.googleapis.com/play_public/supported_devices.csv' : url begin devices = CSV.parse(open(csv_url).read) File.open('devices.csv','w') {|f| f.write(devices.inject([]) { |csv,row| csv << CSV.generate_line(row) }.join('').encode('UTF-8'))} return true rescue Exception raise 'Unable to update devices' end end