Module: Wright::Util Private

Defined in:
lib/wright/util.rb,
lib/wright/util/file.rb,
lib/wright/util/user.rb,
lib/wright/util/color.rb,
lib/wright/util/file_permissions.rb,
lib/wright/util/recursive_autoloader.rb,
lib/wright/util/stolen_from_activesupport.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Various utility functions.

Defined Under Namespace

Modules: ActiveSupport, Color, File, RecursiveAutoloader, User Classes: FilePermissions

Class Method Summary collapse

Class Method Details

.bundler_clean_envObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

:nocov:



76
77
78
79
80
81
82
# File 'lib/wright/util.rb', line 76

def self.bundler_clean_env
  if defined?(Bundler)
    Bundler.with_clean_env { yield }
  else
    yield
  end
end

.class_to_resource_name(klass) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Converts a class constant into its corresponding resource name.

Examples:

Wright::Util.class_to_resource_name(Wright::Resource::Package)
# => "package"

Wright::Util.class_to_resource_name(Foo::Bar::BazQux)
# => "baz_qux"

Parameters:

  • klass (Class)

    the class constant

Returns:

  • (String)

    the resource name of the given class



20
21
22
# File 'lib/wright/util.rb', line 20

def self.class_to_resource_name(klass)
  ActiveSupport.underscore(klass.name).split('/').last
end

.filename_to_classname(filename) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Converts a file path into its corresponding class name.

Examples:

Wright::Util.filename_to_classname('foo/bar/baz.rb')
# => "Foo::Bar::Baz"

Wright::Util.filename_to_classname('foo/bar/')
# => "Foo::Bar"

Parameters:

  • filename (String)

    the filename

Returns:

  • (String)

    the class name for the given filename



36
37
38
# File 'lib/wright/util.rb', line 36

def self.filename_to_classname(filename)
  ActiveSupport.camelize(filename.chomp('.rb').chomp('/'))
end

.os_familyString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Determines the system’s OS family.

Examples:

Wright::Util.os_family
# => "debian"
Wright::Util.os_family
# => "macosx"

Returns:

  • (String)

    the system’s OS family (base distribution for GNU/Linux systems) or ‘other’ for unknown operating systems



63
64
65
66
67
68
69
70
71
72
73
# File 'lib/wright/util.rb', line 63

def self.os_family
  system_arch = RbConfig::CONFIG['target_os']
  case system_arch
  when /darwin/
    'macosx'
  when /linux/
    distro
  else
    'other'
  end
end