Class: Spaceship::TunesClient

Inherits:
Object
  • Object
show all
Defined in:
lib/fastlane/plugin/devresponse/patches/spaceship/tunes/tunes_client.rb

Instance Method Summary collapse

Instance Method Details

#create_developer_response!(app_id: nil, platform: "ios", review_id: nil, response: nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/fastlane/plugin/devresponse/patches/spaceship/tunes/tunes_client.rb', line 3

def create_developer_response!(app_id: nil, platform: "ios", review_id: nil, response: nil)
  raise "app_id is required" unless app_id
  raise "review_id is required" unless review_id
  raise "response is required" unless response

  data = {
    responseText: response,
    reviewId: review_id
  }
  request(:post) do |req|
    req.url "ra/apps/#{app_id}/platforms/#{platform}/reviews/#{review_id}/responses"
    req.body = data.to_json
    req.headers['Content-Type'] = 'application/json'
  end
end

#get_reviews(app_id, platform, storefront, versionId = '') ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/fastlane/plugin/devresponse/patches/spaceship/tunes/tunes_client.rb', line 35

def get_reviews(app_id, platform, storefront, versionId = '')
  index = 0
  per_page = 100 # apple default
  all_reviews = []
  loop do
    r = request(:get, "ra/apps/#{app_id}/platforms/#{platform}/reviews?storefront=#{storefront}&versionId=#{versionId}&index=#{index}")
    all_reviews.concat(parse_response(r, 'data')['reviews'])
    if all_reviews.count < parse_response(r, 'data')['reviewCount']
      index += per_page
    else
      break
    end
  end
  all_reviews
end

#update_developer_response!(app_id: nil, platform: "ios", review_id: nil, response_id: nil, response: nil) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/fastlane/plugin/devresponse/patches/spaceship/tunes/tunes_client.rb', line 19

def update_developer_response!(app_id: nil, platform: "ios", review_id: nil, response_id: nil, response: nil)
  raise "app_id is required" unless app_id
  raise "review_id is required" unless review_id
  raise "response_id is required" unless response_id
  raise "response is required" unless response

  data = {
    responseText: response
  }
  request(:put) do |req|
    req.url "ra/apps/#{app_id}/platforms/#{platform}/reviews/#{review_id}/responses/#{response_id}"
    req.body = data.to_json
    req.headers['Content-Type'] = 'application/json'
  end
end