class Lagunitas::IPA
Representation of an IPA
file
Public Class Methods
new(path)
click to toggle source
# File lib/lagunitas/ipa.rb, line 10 def initialize(path) @path = path @contents = nil end
Public Instance Methods
app()
click to toggle source
# File lib/lagunitas/ipa.rb, line 15 def app @app ||= App.new(app_path) end
app_path()
click to toggle source
# File lib/lagunitas/ipa.rb, line 19 def app_path @app_path ||= Dir.glob(File.join(contents, 'Payload', '*.app')).first end
cleanup()
click to toggle source
# File lib/lagunitas/ipa.rb, line 23 def cleanup return unless @contents FileUtils.rm_rf(@contents) @contents = nil end
Private Instance Methods
contents()
click to toggle source
# File lib/lagunitas/ipa.rb, line 32 def contents return if @contents @contents = "tmp/lagunitas-#{::SecureRandom.hex}" Zip::File.open(@path) do |zip_file| zip_file.each do |f| f_path = File.join(@contents, f.name) FileUtils.mkdir_p(File.dirname(f_path)) zip_file.extract(f, f_path) unless File.exist?(f_path) end end @contents end