class Natives::Catalog::Selector
Public Class Methods
new(hash)
click to toggle source
# File lib/natives/catalog/selector.rb, line 6 def initialize(hash) @values = normalize(hash) end
Public Instance Methods
values_for(package_provider, platform, platform_version)
click to toggle source
# File lib/natives/catalog/selector.rb, line 10 def values_for(package_provider, platform, platform_version) package_provider = package_provider.to_s platform = platform.to_s platform_version = platform_version.to_s values = if @values.key?(package_provider) && @values[package_provider].key?(platform) && @values[package_provider][platform].key?(platform_version) @values[package_provider][platform][platform_version] elsif @values.key?(package_provider) && @values[package_provider].key?(platform) && @values[package_provider][platform].key?('default') @values[package_provider][platform]['default'] elsif @values.key?(package_provider) && @values[package_provider].key?('default') @values[package_provider]['default'] end Array(values) end
Private Instance Methods
normalize(hash)
click to toggle source
# File lib/natives/catalog/selector.rb, line 38 def normalize(hash) Normalizer.new.normalize(hash) end