module PoiseLanguages::System::Mixin::ClassMethods
Public Instance Methods
default_inversion_options(node, resource)
click to toggle source
Set some default inversion provider options. Package name can't get a default value here because that would complicate the handling of {system_package_candidates}.
@api private
Calls superclass method
# File lib/poise_languages/system/mixin.rb, line 113 def default_inversion_options(node, resource) super.merge({ # Install dev headers? dev_package: true, # Manual overrides for package name and/or version. package_name: nil, package_version: nil, # Set to true to use action :upgrade on system packages. package_upgrade: false, }) end
default_package(name=nil)
click to toggle source
@overload default_package
()
Return the default package name for platforms not otherwise defined. @return [String]
@overload default_package
(name)
Set the default package name for platforms not defined in {packages}. @param name [String] Package name. @return [String]
# File lib/poise_languages/system/mixin.rb, line 152 def default_package(name=nil) if name @default_package = name end @default_package end
included(klass)
click to toggle source
@api private
Calls superclass method
# File lib/poise_languages/system/mixin.rb, line 160 def included(klass) super klass.extend(ClassMethods) end
packages(default_package=nil, packages=nil)
click to toggle source
@overload packages()
Return a hash formatted for value_for_platform returning an Array of package names. @return [Hash]
@overload packages(default_package
, packages)
Define what system packages are available for this language on each platform. @param default_package [String] Default package name for platforms not otherwise defined. @param [Hash] Hash formatted for value_for_platform returning an Array of package names. @return [Hash]
# File lib/poise_languages/system/mixin.rb, line 137 def packages(default_package=nil, packages=nil) self.default_package(default_package) if default_package if packages @packages = packages end @packages end
provides_auto?(node, resource)
click to toggle source
Install this as a default provider if nothing else matched. Might not work, but worth a try at least for unknown platforms. Windows is a whole different story, and OS X might work sometimes so at least try.
@api private
# File lib/poise_languages/system/mixin.rb, line 104 def provides_auto?(node, resource) !node.platform_family?('windows') end