Class: LicenseFinder::Core

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/license_finder/core.rb

Overview

Coordinates setup

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Core

options look like: {

logger: { quiet: true, debug: false },
project_path: "./some/project/path/"
gradle_command: "gradlew",
decisions_file: "./some/path.yml",

} gradle_command and decisions_file are optional, see Configuration



26
27
28
29
30
31
# File 'lib/license_finder/core.rb', line 26

def initialize(options)
  @logger = Logger.new(options.fetch(:logger))
  @project_path = Pathname(options.fetch(:project_path))
  @config = Configuration.with_optional_saved_config(options, project_path)
  @decisions = Decisions.saved!(config.decisions_file)
end

Instance Attribute Details

#decisionsObject (readonly)

Returns the value of attribute decisions.



40
41
42
# File 'lib/license_finder/core.rb', line 40

def decisions
  @decisions
end

Class Method Details

.default_loggerObject



14
15
16
# File 'lib/license_finder/core.rb', line 14

def self.default_logger
  Logger::Default.new
end

Instance Method Details

#modifyingObject



33
34
35
36
# File 'lib/license_finder/core.rb', line 33

def modifying
  yield
  decisions.save!(config.decisions_file)
end

#project_nameObject



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

def project_name
  decisions.project_name || project_path.basename.to_s
end