Class: CreateRubyGem::Detection::BundlerDefaults
- Inherits:
-
Object
- Object
- CreateRubyGem::Detection::BundlerDefaults
- Defined in:
- lib/create_ruby_gem/detection/bundler_defaults.rb
Overview
Reads Bundler’s own default settings (from ~/.bundle/config or env) to use as initial defaults in the wizard.
Constant Summary collapse
- UNSET =
Sentinel for “no settings argument provided”.
Object.new.freeze
- FALLBACKS =
Fallback defaults used when Bundler settings are unavailable.
{ exe: false, coc: nil, changelog: nil, ext: false, git: true, github_username: nil, mit: nil, test: nil, ci: nil, linter: nil, edit: nil, bundle_install: false }.freeze
- KEY_MAP =
Maps option keys to their Bundler settings keys.
{ coc: 'gem.coc', changelog: 'gem.changelog', ext: 'gem.ext', git: 'gem.git', github_username: 'gem.github_username', mit: 'gem.mit', test: 'gem.test', ci: 'gem.ci', linter: 'gem.linter' }.freeze
Instance Method Summary collapse
-
#detect ⇒ Hash{Symbol => Object}
Returns a hash of default values derived from Bundler settings.
-
#initialize(settings: UNSET) ⇒ BundlerDefaults
constructor
A new instance of BundlerDefaults.
Constructor Details
#initialize(settings: UNSET) ⇒ BundlerDefaults
45 46 47 |
# File 'lib/create_ruby_gem/detection/bundler_defaults.rb', line 45 def initialize(settings: UNSET) @settings = settings.equal?(UNSET) ? default_settings : settings end |
Instance Method Details
#detect ⇒ Hash{Symbol => Object}
Returns a hash of default values derived from Bundler settings.
52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/create_ruby_gem/detection/bundler_defaults.rb', line 52 def detect defaults = FALLBACKS.dup return defaults unless @settings KEY_MAP.each do |option_key, bundler_key| value = normalize(@settings[bundler_key]) defaults[option_key] = value unless value.nil? end defaults rescue StandardError FALLBACKS.dup end |