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.12"

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



69
70
71
# File 'lib/android/publisher.rb', line 69

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

#clear_betaObject



61
62
63
64
65
66
67
# File 'lib/android/publisher.rb', line 61

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

#clear_rolloutObject



53
54
55
56
57
58
59
# File 'lib/android/publisher.rb', line 53

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

#clientObject



73
74
75
# File 'lib/android/publisher.rb', line 73

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

#deploy_to_alphaObject



32
33
34
35
36
37
# File 'lib/android/publisher.rb', line 32

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



39
40
41
42
43
44
# File 'lib/android/publisher.rb', line 39

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



46
47
48
49
50
51
# File 'lib/android/publisher.rb', line 46

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

#editObject



77
78
79
# File 'lib/android/publisher.rb', line 77

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

#rollout(user_fraction = 0.01) ⇒ Object



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

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

#update_rollout(user_fraction) ⇒ Object



26
27
28
29
30
# File 'lib/android/publisher.rb', line 26

def update_rollout(user_fraction)
  edit.insert
  edit.update_rollout(user_fraction)
  edit.commit
end