Module: Enola

Defined in:
lib/enola.rb,
lib/enola/cli.rb,
lib/enola/error.rb,
lib/enola/probe.rb,
lib/enola/config.rb,
lib/enola/runner.rb,
lib/enola/channel.rb,
lib/enola/fetcher.rb,
lib/enola/version.rb,
lib/enola/platform.rb,
lib/enola/resolver.rb,
lib/enola/providers.rb

Defined Under Namespace

Modules: CLI, Config, Platform, Providers Classes: Channel, Error, Fetcher, Probe, Resolver, Runner, Unavailable, UnsupportedPlatform, Unverified

Constant Summary collapse

UPSTREAM_VERSION =

The gem versions itself. UPSTREAM_VERSION names the enola release it fetches and drives.

"0.4.6"
VERSION =
"0.5.3"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.channelObject



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

def channel
  @channel ||= Channel::UPSTREAM
end

.resolver_factoryObject

Another channel's gem installs its own resolver here, so every rake task and wrapped command built on Runner drives that channel's binary. Readable as well as writable: whoever replaces it can put back what was installed rather than what it assumed.



23
24
25
# File 'lib/enola.rb', line 23

def resolver_factory
  @resolver_factory
end

Class Method Details

.cache_rootObject



33
34
35
# File 'lib/enola.rb', line 33

def cache_root
  ENV.fetch("ENOLA_CACHE_DIR") { File.join(Dir.home, ".cache", "enola") }
end

.resolverObject



25
26
27
# File 'lib/enola.rb', line 25

def resolver
  (@resolver_factory || -> { Resolver.new(channel: channel) }).call
end