Class: Rails::Generators::Hyperdrive::DiscoverGenerator
- Inherits:
-
Base
- Object
- Base
- Rails::Generators::Hyperdrive::DiscoverGenerator
show all
- Includes:
- GitignoreSupport
- Defined in:
- lib/generators/hyperdrive/discover/discover_generator.rb
Overview
Read-only with respect to the app: never edits the Gemfile and never installs gems.
Constant Summary
collapse
- CACHE_RULE =
::Rails::Hyperdrive::CompanionDiscovery::CACHE_RELATIVE_PATH
GitignoreSupport::GITIGNORE
Instance Method Summary
collapse
#ensure_gitignored
Instance Method Details
#discover_and_report ⇒ Object
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/generators/hyperdrive/discover/discover_generator.rb', line 31
def discover_and_report
result = ::Rails::Hyperdrive::CompanionDiscovery.new(
lockfile_path: ::Rails.root.join("Gemfile.lock").to_s,
cache_path: ::Rails.root.join(CACHE_RULE).to_s,
refresh: options[:refresh]
).run
if result.status == :unavailable
say_status :unavailable, "rubygems discovery unavailable — #{result.detail}; no cached results", :yellow
return
end
say_status :stale, "rubygems unreachable; showing #{format_age(result.age_seconds)} cached results — #{result.detail}", :yellow if result.status == :stale
report_suggestions(result.suggestions)
report_warnings(result.warnings)
end
|
#ensure_cache_gitignored ⇒ Object
27
28
29
|
# File 'lib/generators/hyperdrive/discover/discover_generator.rb', line 27
def ensure_cache_gitignored
ensure_gitignored(CACHE_RULE)
end
|
#verify_environment ⇒ Object
21
22
23
24
25
|
# File 'lib/generators/hyperdrive/discover/discover_generator.rb', line 21
def verify_environment
return if defined?(::Rails) && ::Rails.respond_to?(:root) && ::Rails.root
say_status :error, "must be run inside a Rails app", :red
raise Thor::Error, "hyperdrive: not in a Rails app"
end
|