class FDroid::Package

Public Class Methods

new(package) click to toggle source
# File lib/fdroid/Package.rb, line 22
def initialize(package)
  @package = package
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/fdroid/Package.rb, line 26
def <=>(other)
  self.version_code <=> other.version_code
end
permission() click to toggle source
# File lib/fdroid/Package.rb, line 65
def permission
  if @package['uses-permission'] == nil then
    []
  else
    @package['uses-permission'].map { |perm| Permission.new(perm).to_data }
  end
end
to_data() click to toggle source
# File lib/fdroid/Package.rb, line 38
def to_data
  added = nil
  if @package['added'] != nil then
    added = Date.strptime("#{@package['added'] / 1000}", '%s')
  end

  {
    'added' => added,
    'anti_features' => @package['antiFeatures'],
    'apk_name' => @package['apkName'],
    'file_extension' => File.extname(@package['apkName'].to_s).strip.upcase[1..-1],
    'hash' => @package['hash'],
    'hash_type' => @package['hashType'],
    'max_sdk_version' => @package['maxSdkVersion'],
    'min_sdk_version' => @package['minSdkVersion'],
    'nativecode' => @package['nativecode'],
    'srcname' => @package['srcname'],
    'sig' => @package['sig'],
    'signer' => @package['signer'],
    'size' => @package['size'],
    'target_sdk_version' => @package['targetSdkVersion'],
    'uses_permission' => permission,
    'version_name' => version_name,
    'version_code' => version_code,
  }
end
version_code() click to toggle source
# File lib/fdroid/Package.rb, line 30
def version_code
  @package['versionCode']
end
version_name() click to toggle source
# File lib/fdroid/Package.rb, line 34
def version_name
  @package['versionName']
end

Private Instance Methods

field(name) click to toggle source
# File lib/fdroid/Package.rb, line 75
def field(name)
  @app.key?(name) ? name : nil
end