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

Default options:

project_path: Pathname.pwd
logger: {,   # can include quiet: true or debug: true
decisions_file: "doc/dependency_decisions.yml",
gradle_command: "gradle",
rebar_command: "rebar",
rebar_deps_dir: "deps",

}



29
30
31
32
# File 'lib/license_finder/core.rb', line 29

def initialize(options = {})
  @logger = Logger.new(options.fetch(:logger, {}))
  @config = Configuration.with_optional_saved_config(options)
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



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

def config
  @config
end

Class Method Details

.default_loggerObject



16
17
18
# File 'lib/license_finder/core.rb', line 16

def self.default_logger
  Logger::Default.new
end

Instance Method Details

#decisionsObject



46
47
48
# File 'lib/license_finder/core.rb', line 46

def decisions
  @decisions ||= Decisions.fetch_saved(config.decisions_file_path)
end

#modifyingObject



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

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

#project_nameObject



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

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