Sha256: 50fe891b5e9d220752ed39ebff53a68e44537691708fbe6fe9b3440881994420

Contents?: true

Size: 898 Bytes

Versions: 3

Compression:

Stored size: 898 Bytes

Contents

# frozen_string_literal: true

require 'json'

module AppInfo
  # HarmonyOS pack.info parser
  class PackInfo < File
    # @return [String]
    def version_code
      app['version']['code']
    end
    alias build_version version_code

    # @return [String]
    def version_name
      app['version']['name']
    end
    alias release_version version_name

    # @return [String]
    def bundle_name
      app['bundleName']
    end
    alias bundle_id bundle_name

    # @return [JSON]
    def app
      @app ||= summary['app']
    end

    # @return [Array<JSON>]
    def modules
      @modules ||= summary['modules']
    end

    # @return [JSON]
    def summary
      @summary ||= content['summary']
    end

    # @return [Array<JSON>]
    def packages
      @packages ||= content['packages']
    end

    # @return [JSON]
    def content
      JSON.parse(::File.read(@file))
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
app-info-3.3.0 lib/app_info/pack_info.rb
app-info-3.2.0 lib/app_info/pack_info.rb
app-info-3.2.0.beta1 lib/app_info/pack_info.rb