Sha256: bc773d7a4f624a91391569454d59aa35ef382f2368bbc14770698a5d3cd22114

Contents?: true

Size: 760 Bytes

Versions: 6

Compression:

Stored size: 760 Bytes

Contents

module Pione
  module Util
    module PackageParametersList
      # Find parameters in the the package.
      #
      # @param env [Lang::Environment]
      #   language environment
      # @param package_id [String]
      #   package ID
      # @return [Array<Array<Lang::ParameterDefinition>>]
      #   basic parameters and advanced parameters
      def self.find(env, package_id)
        # get parameters of the package
        definition = env.package_get(Lang::PackageExpr.new(package_id: package_id))
        params = definition.param_definition.values

        # summarize parameters as basic and advanced
        group = params.group_by {|param| param.type}
        return [(group[:basic] || []), (group[:advanced] || [])]
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pione-0.5.0 lib/pione/util/package-parameters-list.rb
pione-0.5.0.alpha.2 lib/pione/util/package-parameters-list.rb
pione-0.5.0.alpha.1 lib/pione/util/package-parameters-list.rb
pione-0.4.2 lib/pione/util/package-parameters-list.rb
pione-0.4.1 lib/pione/util/package-parameters-list.rb
pione-0.4.0 lib/pione/util/package-parameters-list.rb