Class: Depend::Register
- Inherits:
-
Object
- Object
- Depend::Register
- Defined in:
- lib/depend/register.rb
Constant Summary collapse
- OPERATION_SYSTEMS =
%w{ Ubuntu mac_os_x }.freeze
Instance Attribute Summary collapse
-
#platforms ⇒ Object
readonly
Returns the value of attribute platforms.
Class Method Summary collapse
Instance Method Summary collapse
- #acceptable_operations_systems ⇒ Object
- #package_providers_for(platform, platform_version) ⇒ Object
- #register(package_provider, platform, platform_version = nil) ⇒ Object
Instance Attribute Details
#platforms ⇒ Object (readonly)
Returns the value of attribute platforms.
7 8 9 |
# File 'lib/depend/register.rb', line 7 def platforms @platforms end |
Class Method Details
.init_with_default_register ⇒ Object
9 10 11 12 13 14 |
# File 'lib/depend/register.rb', line 9 def self.init_with_default_register instance = self.new instance.register PackageProvider::Apt, 'Ubuntu' instance.register PackageProvider::Homebrew, 'mac_os_x' instance end |
Instance Method Details
#acceptable_operations_systems ⇒ Object
16 17 18 |
# File 'lib/depend/register.rb', line 16 def acceptable_operations_systems OPERATION_SYSTEMS end |
#package_providers_for(platform, platform_version) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/depend/register.rb', line 20 def package_providers_for(platform, platform_version) puts @platforms return [] if @platforms.nil? || @platforms.empty? _platform = @platforms[platform] || [] _platform.select{|plat| version_include?(plat.shift, platform_version)}.map(&:last) end |
#register(package_provider, platform, platform_version = nil) ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/depend/register.rb', line 27 def register(package_provider, platform, platform_version = nil) puts "in register" fail PlatformNotSupportedError unless platform_accepted?(platform) @platforms ||= {} if @platforms[platform] @platforms[platform] << [platform_version, package_provider] else @platforms[platform] = [[platform_version, package_provider]] end end |