Class: Shenzhen::Plugins::HockeyApp::Client
- Inherits:
-
Object
- Object
- Shenzhen::Plugins::HockeyApp::Client
- Defined in:
- lib/shenzhen/plugins/hockeyapp.rb
Constant Summary collapse
- HOSTNAME =
'upload.hockeyapp.net'
Instance Method Summary collapse
-
#initialize(api_token) ⇒ Client
constructor
A new instance of Client.
- #upload_build(ipa, options) ⇒ Object
Constructor Details
#initialize(api_token) ⇒ Client
Returns a new instance of Client.
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/shenzhen/plugins/hockeyapp.rb', line 11 def initialize(api_token) @api_token = api_token @connection = Faraday.new(:url => "https://#{HOSTNAME}") do |builder| builder.request :multipart builder.request :url_encoded builder.response :json, :content_type => /\bjson$/ builder.use FaradayMiddleware::FollowRedirects builder.adapter :net_http end end |
Instance Method Details
#upload_build(ipa, options) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/shenzhen/plugins/hockeyapp.rb', line 22 def upload_build(ipa, ) [:ipa] = Faraday::UploadIO.new(ipa, 'application/octet-stream') if ipa and File.exist?(ipa) if dsym_filename = .delete(:dsym_filename) [:dsym] = Faraday::UploadIO.new(dsym_filename, 'application/octet-stream') end @connection.post do |req| if [:public_identifier].nil? req.url("/api/2/apps/upload") else req.url("/api/2/apps/#{.delete(:public_identifier)}/app_versions/upload") end req.headers['X-HockeyAppToken'] = @api_token req.body = end.on_complete do |env| yield env[:status], env[:body] if block_given? end end |