class PlayTime::Client
Constants
- API
- API_VERSION
- SCOPE
- TOKEN_URI
Attributes
edit_id[R]
Public Instance Methods
commit(track)
click to toggle source
# File lib/play_time/client.rb, line 20 def commit(track) create_insert version_code = upload_apk update_track(track, version_code) save end
update(track, version_code)
click to toggle source
# File lib/play_time/client.rb, line 27 def update(track, version_code) create_insert old_track = get_old_track! version_code update_track(old_track.track, *old_track.versionCodes - [version_code]) update_track(track, version_code) save end
Private Instance Methods
client()
click to toggle source
# File lib/play_time/client.rb, line 76 def client @client ||= Google::APIClient.new( application_name: PlayTime.configuration.client_name, application_version: PlayTime.configuration.client_version ) end
create_insert()
click to toggle source
# File lib/play_time/client.rb, line 39 def create_insert @edit_id = run!(api_method: service.edits.insert, parameters: parameters).data.id end
get_old_track!(version_code)
click to toggle source
# File lib/play_time/client.rb, line 43 def get_old_track!(version_code) old_track = get_tracks.find { |track| track.versionCodes.include? version_code } old_track || raise(VersionCodeNotFound, version_code) end
get_tracks()
click to toggle source
# File lib/play_time/client.rb, line 49 def get_tracks run!(api_method: service.edits.tracks.list, parameters: parameters.merge(editId: edit_id)).data.tracks end
oauth2_client()
click to toggle source
# File lib/play_time/client.rb, line 87 def oauth2_client @oauth2_client ||= Signet::OAuth2::Client.new( token_credential_uri: TOKEN_URI, audience: TOKEN_URI, scope: SCOPE, issuer: PlayTime.configuration.issuer, signing_key: openssl_key ) end
openssl_key()
click to toggle source
# File lib/play_time/client.rb, line 97 def openssl_key @openssl_key ||= Google::APIClient::KeyUtils.load_from_pkcs12(PlayTime.configuration.secret_path, PlayTime.configuration.secret_passphrase) end
parameters()
click to toggle source
# File lib/play_time/client.rb, line 72 def parameters {packageName: PlayTime.configuration.package_name} end
run!(options = {})
click to toggle source
# File lib/play_time/client.rb, line 68 def run!(options = {}) Runner.run! client, options end
save()
click to toggle source
# File lib/play_time/client.rb, line 63 def save commit_params = parameters.merge(editId: edit_id) run! api_method: service.edits.commit, parameters: commit_params end
service()
click to toggle source
# File lib/play_time/client.rb, line 83 def service @service ||= client.discovered_api(API, API_VERSION) end
update_track(track, *version_codes)
click to toggle source
# File lib/play_time/client.rb, line 58 def update_track(track, *version_codes) update_params = parameters.merge(editId: edit_id, track: track) run! api_method: service.edits.tracks.update, parameters: update_params, body_object: { versionCodes: version_codes } end
upload_apk()
click to toggle source
# File lib/play_time/client.rb, line 53 def upload_apk upload_params = parameters.merge(editId: edit_id, uploadType: 'media') run!(api_method: service.edits.apks.upload, parameters: upload_params, media: Apk.load).data.versionCode end