Class: FastlaneCore::AnalyticsIngesterClient
- Inherits:
-
Object
- Object
- FastlaneCore::AnalyticsIngesterClient
- Defined in:
- fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
Instance Method Summary collapse
- #post_events(events) ⇒ Object
- #post_request(body: nil) ⇒ Object
- #send_request(json: nil, retries: 2) ⇒ Object
-
#write_json(body) ⇒ Object
This method is only for debugging purposes.
Instance Method Details
#post_events(events) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb', line 7 def post_events(events) unless Helper.test? Thread.new do send_request(json: { analytics: events }.to_json) end end return true end |
#post_request(body: nil) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb', line 23 def post_request(body: nil) if ENV['METRICS_DEBUG'] write_json(body) end url = ENV["FASTLANE_METRICS_URL"] || "https://fastlane-metrics.fabric.io" require 'faraday' connection = Faraday.new(url) do |conn| conn.adapter(Faraday.default_adapter) if ENV['METRICS_DEBUG'] conn.proxy = "https://127.0.0.1:8888" conn.ssl[:verify_mode] = OpenSSL::SSL::VERIFY_NONE end end connection.post do |req| req.url('/public') req.headers['Content-Type'] = 'application/json' req.body = body end end |
#send_request(json: nil, retries: 2) ⇒ Object
16 17 18 19 20 21 |
# File 'fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb', line 16 def send_request(json: nil, retries: 2) post_request(body: json) rescue retries -= 1 retry if retries >= 0 end |
#write_json(body) ⇒ Object
This method is only for debugging purposes
45 46 47 |
# File 'fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb', line 45 def write_json(body) File.write("#{ENV['HOME']}/Desktop/mock_analytics-#{Time.now.to_i}.json", body) end |