Class: Yoda::Store::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/yoda/store/config.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(contents) ⇒ Config

Returns a new instance of Config.

Parameters:

  • contents (Hash)


17
18
19
20
# File 'lib/yoda/store/config.rb', line 17

def initialize(contents)
  @contents = contents
  Logger.trace("Config: #{contents}")
end

Class Method Details

.at(path) ⇒ Object

Parameters:

  • path (String)


12
13
14
# File 'lib/yoda/store/config.rb', line 12

def self.at(path)
  new(YAML.load(File.read(path), symbolize_names: true) || {})
end

.from_yaml_data(yaml_str) ⇒ Object

Parameters:

  • yaml_str (String)


7
8
9
# File 'lib/yoda/store/config.rb', line 7

def self.from_yaml_data(yaml_str)
  new(YAML.load(yaml_str, symbolize_names: true) || {})
end

Instance Method Details

#ignored_gemsArray<String>

Returns:

  • (Array<String>)


23
24
25
# File 'lib/yoda/store/config.rb', line 23

def ignored_gems
  @ignored_gems ||= (@contents[:gems] || []).select { |gem_data| gem_data[:ignore] }.map { |gem_data| gem_data[:name] }
end

#rbs_librariesArray<String>

Returns:

  • (Array<String>)


38
39
40
# File 'lib/yoda/store/config.rb', line 38

def rbs_libraries
  @contents.dig(:rbs, :library) || []
end

#rbs_repository_pathsArray<String>

Returns:

  • (Array<String>)


33
34
35
# File 'lib/yoda/store/config.rb', line 33

def rbs_repository_paths
  @contents.dig(:rbs, :repository) || []
end

#rbs_signature_pathsArray<String>

Returns:

  • (Array<String>)


28
29
30
# File 'lib/yoda/store/config.rb', line 28

def rbs_signature_paths
  @contents.dig(:rbs, :signature) || []
end