Module: Torba

Defined in:
lib/torba.rb,
lib/torba/ui.rb,
lib/torba/cli.rb,
lib/torba/package.rb,
lib/torba/manifest.rb,
lib/torba/rake_task.rb,
lib/torba/import_list.rb,
lib/torba/remote_sources/npm.rb,
lib/torba/remote_sources/zip.rb,
lib/torba/remote_sources/targz.rb,
lib/torba/remote_sources/common.rb,
lib/torba/remote_sources/get_file.rb,
lib/torba/css_url_to_erb_asset_path.rb,
lib/torba/remote_sources/github_release.rb

Overview

Since:

  • 0.1.0

Defined Under Namespace

Modules: Errors, RemoteSources Classes: Cli, CssUrlToErbAssetPath, ImportList, Manifest, Package, RakeTask, Ui

Class Method Summary collapse

Class Method Details

.cache_pathString

Note:

use “TORBA_CACHE_PATH” env variable to override default value

Returns root path to downloaded yet unprocessed asset packages. By default it’s “cache” within home_path.

Returns:

  • (String)

    root path to downloaded yet unprocessed asset packages. By default it’s “cache” within home_path.

Since:

  • 0.1.0



29
30
31
# File 'lib/torba.rb', line 29

def self.cache_path
  @cache_path ||= ENV["TORBA_CACHE_PATH"] || File.join(home_path, "cache")
end

.cache_path=(val) ⇒ void

This method returns an undefined value.

Override cache path with a new value

Parameters:

  • val (String)

    new cache path

Since:

  • 0.6.0



37
38
39
# File 'lib/torba.rb', line 37

def self.cache_path=(val)
  @cache_path = val
end

.digest(string) ⇒ String

Returns unique short fingerprint/hash for given string.

Examples:

Torba.digest("path/to/hash") #=> "23e3e63c"

Parameters:

  • string (String)

    to be hashed

Returns:

  • (String)

    unique short fingerprint/hash for given string

Since:

  • 0.1.0



77
78
79
# File 'lib/torba.rb', line 77

def self.digest(string)
  Digest::SHA1.hexdigest(string)[0..7]
end

.find_packages_by_name(name) ⇒ Object

See Also:

Since:

  • 0.7.0



83
84
85
# File 'lib/torba.rb', line 83

def self.find_packages_by_name(name)
  manifest.find_packages_by_name(name)
end

.home_pathString

Note:

use “TORBA_HOME_PATH” env variable to override default value

Returns root path to prepared asset packages. By default it’s “.torba” within your OS home directory (i.e. packages are shared between projects).

Returns:

  • (String)

    root path to prepared asset packages. By default it’s “.torba” within your OS home directory (i.e. packages are shared between projects).

Since:

  • 0.1.0



15
16
17
# File 'lib/torba.rb', line 15

def self.home_path
  @home_path ||= ENV["TORBA_HOME_PATH"] || File.join(Dir.home, ".torba")
end

.home_path=(val) ⇒ void

This method returns an undefined value.

Override home path with a new value

Parameters:

  • val (String)

    new home path

Since:

  • 0.1.0



22
23
24
# File 'lib/torba.rb', line 22

def self.home_path=(val)
  @home_path = val
end

.load_pathObject

See Also:

Since:

  • 0.1.0



57
58
59
# File 'lib/torba.rb', line 57

def self.load_path
  manifest.load_path
end

.manifestManifest

Returns:

Since:

  • 0.1.0



47
48
49
# File 'lib/torba.rb', line 47

def self.manifest
  @manifest ||= Manifest.build
end

.non_js_css_logical_pathsObject



63
64
65
# File 'lib/torba.rb', line 63

def self.non_js_css_logical_paths
  manifest.non_js_css_logical_paths
end

.packObject

See Also:

Since:

  • 0.1.0



52
53
54
# File 'lib/torba.rb', line 52

def self.pack
  manifest.pack
end

.pretty_errors { ... } ⇒ Object

Yields:

  • a block, converts common exceptions into useful messages

Since:

  • 0.1.0



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/torba.rb', line 88

def self.pretty_errors
  yield
rescue Errors::MissingPackages => e
  ui.error "Your Torba is not packed yet."
  ui.error "Missing packages:"
  e.packages.each do |package|
    ui.error "  * #{package.name}"
  end
  ui.suggest "Run `bundle exec torba pack` to install missing packages."
  exit(false)
rescue Errors::ShellCommandFailed => e
  ui.error "Couldn't execute command '#{e.message}'"
  exit(false)
rescue Errors::NothingToImport => e
  ui.error "Couldn't import an asset(-s) '#{e.path}' from import list in '#{e.package}'."
  ui.suggest "Check for typos."
  ui.suggest "Make sure that the path has trailing '/' if its a directory."
  exit(false)
rescue Errors::AssetNotFound => e
  ui.error "Unknown asset to process with path '#{e.message}'."
  ui.suggest "Make sure that you've imported all image/font assets mentioned in a stylesheet(-s)."
  exit(false)
end

.uiUi

Returns:

Since:

  • 0.1.0



42
43
44
# File 'lib/torba.rb', line 42

def self.ui
  @ui ||= Ui.new
end

.verifyObject

See Also:

Since:

  • 0.1.0



68
69
70
# File 'lib/torba.rb', line 68

def self.verify
  manifest.verify
end