Class: Android::Publisher

Inherits:
Object
  • Object
show all
Defined in:
lib/android/publisher.rb,
lib/android/publisher/apks.rb,
lib/android/publisher/edit.rb,
lib/android/publisher/track.rb,
lib/android/publisher/secrets.rb,
lib/android/publisher/version.rb,
lib/android/publisher/response.rb,
lib/android/publisher/connection.rb,
lib/android/publisher/edit_connection.rb

Defined Under Namespace

Classes: Apks, Connection, Edit, EditConnection, Response, Secrets, Track

Constant Summary collapse

VERSION =
"0.0.14"

Instance Method Summary collapse

Constructor Details

#initialize(package_name, apk_path = nil, version_code = nil) ⇒ Publisher

Returns a new instance of Publisher.



13
14
15
16
17
# File 'lib/android/publisher.rb', line 13

def initialize(package_name, apk_path = nil, version_code = nil)
  @package_name           = package_name
  @apk_path               = apk_path
  @version_code           = version_code
end

Instance Method Details

#authorized_connectionObject



80
81
82
# File 'lib/android/publisher.rb', line 80

def authorized_connection
  @authorized_connection ||= Android::Publisher::Secrets.load.to_authorized_connection
end

#clear_betaObject



72
73
74
75
76
77
78
# File 'lib/android/publisher.rb', line 72

def clear_beta
  edit.insert
  if edit.track_has_deployed_apks?(:beta)
    edit.clear_beta
    edit.commit
  end
end

#clear_rolloutObject



64
65
66
67
68
69
70
# File 'lib/android/publisher.rb', line 64

def clear_rollout
  edit.insert
  if edit.track_has_deployed_apks?(:rollout)
    edit.clear_rollout
    edit.commit
  end
end

#clientObject



84
85
86
# File 'lib/android/publisher.rb', line 84

def client
  @client ||= Android::Publisher::Connection.new(authorized_connection, @package_name)
end

#deploy_to_alphaObject



43
44
45
46
47
48
# File 'lib/android/publisher.rb', line 43

def deploy_to_alpha
  edit.insert
  edit.upload_apk(@apk_path) unless @apk_path.nil?
  edit.assign_to_alpha_track
  edit.commit
end

#deploy_to_betaObject



50
51
52
53
54
55
# File 'lib/android/publisher.rb', line 50

def deploy_to_beta
  edit.insert
  edit.upload_apk(@apk_path) unless @apk_path.nil?
  edit.assign_to_beta_track
  edit.commit
end

#deploy_to_productionObject



57
58
59
60
61
62
# File 'lib/android/publisher.rb', line 57

def deploy_to_production
  edit.insert
  edit.upload_apk(@apk_path) unless @apk_path.nil?
  edit.assign_to_production_track
  edit.commit
end

#editObject



88
89
90
# File 'lib/android/publisher.rb', line 88

def edit
  @edit ||= Android::Publisher::Edit.new(client, @version_code)
end

#finish_rolloutObject



36
37
38
39
40
41
# File 'lib/android/publisher.rb', line 36

def finish_rollout
  edit.insert
  edit.assign_to_production_track
  edit.clear_rollout
  edit.commit
end

#rollout(user_fraction = 0.01) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/android/publisher.rb', line 19

def rollout(user_fraction = 0.01)
  edit.insert
  edit.upload_apk(@apk_path) unless @apk_path.nil?
  current_user_fraction = edit.rollout_fraction
  user_fraction = current_user_fraction if user_fraction < current_user_fraction
  edit.assign_to_staged_rollout_track(user_fraction)
  edit.commit
end

#update_rollout(user_fraction) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/android/publisher.rb', line 28

def update_rollout(user_fraction)
  edit.insert
  current_user_fraction = edit.rollout_fraction
  user_fraction = current_user_fraction if user_fraction < current_user_fraction
  edit.update_rollout(user_fraction)
  edit.commit
end