Sha256: a59ef3621e4faf822bd53ed850848949833d074ea09b207588e7e4fe178c841c
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
require 'natives/catalog/loader' require 'natives/catalog/selector' module Natives class Catalog CATALOG_PATH_IN_GEM = File.absolute_path(File.join( File.dirname(__FILE__), '..', '..', 'catalogs')) CATALOG_PATH_IN_WORKING_DIR = File.absolute_path(File.join('.', 'natives-catalogs')) CATALOG_PATHS = [ CATALOG_PATH_IN_GEM, CATALOG_PATH_IN_WORKING_DIR ].freeze attr_reader :platform, :platform_version, :package_provider, :name def initialize(catalog_name, platform, platform_version, package_provider) reload @name = catalog_name.to_s @platform = platform.to_s @platform_version = platform_version.to_s @package_provider = package_provider.to_s end def reload @catalogs = Loader.new.load_from_paths(CATALOG_PATHS) end def to_hash @catalogs.fetch(self.name, {}) end def native_packages_for(entry_name) Array( Selector.new(self.to_hash.fetch(entry_name, {})). value_for(@platform, @platform_version, @package_provider) ) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
natives-catalog-0.2.1 | lib/natives/catalog.rb |
natives-catalog-0.2.0 | lib/natives/catalog.rb |