Class: Semverve::ResolvedConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/semverve/configuration.rb

Overview

Immutable configuration with all project defaults resolved.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bundle_lock:, command_runner:, format:, gem_name:, module_name:, release_checks:, root:, rubygems_host:, version_file:, version_checks:, version_code_reference_files:, version_code_reference_pattern:, version_doc_reference_files:, version_match_mode:) ⇒ Semverve::ResolvedConfiguration

Initializes a resolved configuration.

Parameters:

  • bundle_lock (Boolean)
  • command_runner (#call)
  • format (Symbol)
  • gem_name (String)
  • module_name (String)
  • release_checks (Array<Symbol>)
  • root (String)
  • rubygems_host (String)
  • version_file (String)
  • version_checks (Array<Symbol>)
  • version_code_reference_files (Rake::FileList)
  • version_code_reference_pattern (Regexp)
  • version_doc_reference_files (Rake::FileList)
  • version_match_mode (Symbol)


505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
# File 'lib/semverve/configuration.rb', line 505

def initialize(
  bundle_lock:,
  command_runner:,
  format:,
  gem_name:,
  module_name:,
  release_checks:,
  root:,
  rubygems_host:,
  version_file:,
  version_checks:,
  version_code_reference_files:,
  version_code_reference_pattern:,
  version_doc_reference_files:,
  version_match_mode:
)
  @bundle_lock = bundle_lock
  @command_runner = command_runner
  @format = format
  @gem_name = gem_name
  @module_name = module_name
  @release_checks = release_checks
  @root = root
  @rubygems_host = rubygems_host
  @version_file = version_file
  @version_checks = version_checks
  @version_code_reference_files = version_code_reference_files
  @version_code_reference_pattern = version_code_reference_pattern
  @version_doc_reference_files = version_doc_reference_files
  @version_match_mode = version_match_mode
end

Instance Attribute Details

#bundle_lockBoolean (readonly)

Whether increments should run bundle lock after writing a version.

Returns:

  • (Boolean)


406
407
408
# File 'lib/semverve/configuration.rb', line 406

def bundle_lock
  @bundle_lock
end

#command_runner#call (readonly)

Callable used to run shell commands such as bundle lock.

Returns:

  • (#call)


412
413
414
# File 'lib/semverve/configuration.rb', line 412

def command_runner
  @command_runner
end

#formatSymbol (readonly)

Resolved version-file format.

Returns:

  • (Symbol)


418
419
420
# File 'lib/semverve/configuration.rb', line 418

def format
  @format
end

#gem_nameString (readonly)

Resolved gem name.

Returns:

  • (String)


424
425
426
# File 'lib/semverve/configuration.rb', line 424

def gem_name
  @gem_name
end

#module_nameString (readonly)

Resolved Ruby module name.

Returns:

  • (String)


430
431
432
# File 'lib/semverve/configuration.rb', line 430

def module_name
  @module_name
end

#release_checksArray<Symbol> (readonly)

Resolved release-readiness surfaces run by the release check task.

Returns:

  • (Array<Symbol>)


436
437
438
# File 'lib/semverve/configuration.rb', line 436

def release_checks
  @release_checks
end

#rootString (readonly)

Absolute project root.

Returns:

  • (String)


442
443
444
# File 'lib/semverve/configuration.rb', line 442

def root
  @root
end

#rubygems_hostString (readonly)

Resolved RubyGems-compatible host used for published-version checks.

Returns:

  • (String)


448
449
450
# File 'lib/semverve/configuration.rb', line 448

def rubygems_host
  @rubygems_host
end

#version_checksArray<Symbol> (readonly)

Resolved version-maintenance surfaces run by umbrella tasks.

Returns:

  • (Array<Symbol>)


460
461
462
# File 'lib/semverve/configuration.rb', line 460

def version_checks
  @version_checks
end

#version_code_reference_filesRake::FileList (readonly)

Resolved code files to scan for safe version literals.

Returns:

  • (Rake::FileList)


466
467
468
# File 'lib/semverve/configuration.rb', line 466

def version_code_reference_files
  @version_code_reference_files
end

#version_code_reference_patternRegexp (readonly)

Resolved code pattern used to scan safe version literals.

Returns:

  • (Regexp)


472
473
474
# File 'lib/semverve/configuration.rb', line 472

def version_code_reference_pattern
  @version_code_reference_pattern
end

#version_doc_reference_filesRake::FileList (readonly)

Resolved documentation files to scan for version references.

Returns:

  • (Rake::FileList)


478
479
480
# File 'lib/semverve/configuration.rb', line 478

def version_doc_reference_files
  @version_doc_reference_files
end

#version_fileString (readonly)

Resolved version-file path relative to the project root.

Returns:

  • (String)


454
455
456
# File 'lib/semverve/configuration.rb', line 454

def version_file
  @version_file
end

#version_match_modeSymbol (readonly)

Resolved version matching mode for reference and code-literal checks.

Returns:

  • (Symbol)


484
485
486
# File 'lib/semverve/configuration.rb', line 484

def version_match_mode
  @version_match_mode
end

Instance Method Details

#absolute_version_fileString

Absolute path to the resolved version file.

Returns:

  • (String)


541
542
543
# File 'lib/semverve/configuration.rb', line 541

def absolute_version_file
  File.expand_path(version_file, root)
end