class Firim::DetectAndroidValues

Public Instance Methods

find_app_identifier(options) click to toggle source
# File lib/firim/detect_values.rb, line 77
def find_app_identifier(options)
  return if options[:app_identifier]
  options[:app_identifier] ||= self.read_key_from_gradle_file(options[:gradle_file], "applicationId")
end
find_app_name(options) click to toggle source
# File lib/firim/detect_values.rb, line 82
def find_app_name(options)
  return if options[:app_name]
  options[:app_name] ||= self.read_key_from_gradle_file(options[:gradle_file], "appName")
end
find_build_version(options) click to toggle source
# File lib/firim/detect_values.rb, line 92
def find_build_version(options)
  return if options[:app_build_version]
  options[:app_build_version] ||= self.read_key_from_gradle_file(options[:gradle_file], "versionCode")
end
find_firim_api_token(options) click to toggle source
# File lib/firim/detect_values.rb, line 97
def find_firim_api_token(options)
  option_token = options[:firim_api_token]
  keychain_token = Firim::AccountManager.new(user: options[:firim_username])
  token = keychain_token.token(ask_if_missing: option_token == nil)
  if token
    options[:firim_api_token] = token
    return
  end

  options[:firim_api_token] ||= UI.input("The API Token of fir.im: ")
end
find_version(options) click to toggle source
# File lib/firim/detect_values.rb, line 87
def find_version(options)
  return if options[:app_version]
  options[:app_version] ||= self.read_key_from_gradle_file(options[:gradle_file], "versionName")
end
read_key_from_gradle_file(gradle_file, key) click to toggle source
# File lib/firim/detect_values.rb, line 58
def read_key_from_gradle_file(gradle_file, key)
  return nil if gradle_file == nil
  value = nil
  begin
    file = File.new(gradle_file, "r")
    while (line = file.gets)
      next unless line.include? key
      components = line.strip.split(' ')
      value = components[components.length - 1].tr("\"", "")
      break
    end
    file.close
  rescue => err
    UI.error("An exception occured while reading gradle file: #{err}")
    err
  end
  return value
end
run!(options) click to toggle source
# File lib/firim/detect_values.rb, line 50
def run!(options)
  find_firim_api_token(options)
  find_app_identifier(options)
  find_app_name(options)
  find_version(options)
  find_build_version(options)
end