class Antenna::Distributor
Public Class Methods
new(distributor)
click to toggle source
# File lib/antenna/distributor.rb, line 7 def initialize(distributor) @distributor = distributor end
Public Instance Methods
distribute(ipa_file, options = {})
click to toggle source
# File lib/antenna/distributor.rb, line 11 def distribute(ipa_file, options = {}) base_filename = options[:base] || File.basename(ipa_file, ".ipa") # Let distributor set things up (if necessary) @distributor.setup(ipa_file, options) if @distributor.respond_to?(:setup) # Distribute IPA ipa = process_ipa(ipa_file) ipa_url = @distributor.distribute( ipa.input_stream.read, "#{base_filename}.ipa", "application/octet-stream", ) # Distribute App Icon if app_icon = process_app_icon(ipa) app_icon_url = @distributor.distribute( app_icon, "#{base_filename}.png", "image/png", ) end # Distribute Manifest manifest = build_manifest(ipa, ipa_url, app_icon_url) manifest_url = @distributor.distribute( manifest.to_s, "#{base_filename}.plist", "text/xml", ) # Distribute HTML html = build_html(ipa, manifest_url, app_icon_url) html_url = @distributor.distribute( html.to_s, "#{base_filename}.html", "text/html", ) # Let distributor clean things up (if necessary) @distributor.teardown if @distributor.respond_to?(:teardown) return html_url end
Private Instance Methods
build_html(ipa, manifest_url, app_icon_url)
click to toggle source
# File lib/antenna/distributor.rb, line 70 def build_html(ipa, manifest_url, app_icon_url) Antenna::HTML.new(ipa.info_plist, manifest_url, app_icon_url) end
build_manifest(ipa, ipa_url, app_icon_url)
click to toggle source
# File lib/antenna/distributor.rb, line 66 def build_manifest(ipa, ipa_url, app_icon_url) Antenna::Manifest.new(ipa_url, ipa.info_plist, app_icon_url) end
process_app_icon(ipa)
click to toggle source
# File lib/antenna/distributor.rb, line 62 def process_app_icon(ipa) ipa.bundle_icon(57, 2) || ipa.bundle_icon(57, 1) || ipa.bundle_icon(60, 2) || ipa.bundle_icon(60, 1) end
process_ipa(ipa_file)
click to toggle source
# File lib/antenna/distributor.rb, line 58 def process_ipa(ipa_file) Antenna::IPA.new(ipa_file) end