Class: Licensed::Configuration

Inherits:
AppConfiguration show all
Defined in:
lib/licensed/configuration.rb

Defined Under Namespace

Classes: LoadError

Constant Summary

Constants inherited from AppConfiguration

AppConfiguration::DEFAULT_CACHE_PATH, AppConfiguration::DEFAULT_CONFIG_FILES, AppConfiguration::SOURCE_TYPES

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from AppConfiguration

#allow, #allowed?, #cache_path, #defaults_for, #enabled?, #ignore, #ignored?, #pwd, #review, #reviewed?, #source_path, #sources, #verify_arg

Constructor Details

#initialize(options = {}) ⇒ Configuration

Returns a new instance of Configuration.



123
124
125
126
127
128
129
130
# File 'lib/licensed/configuration.rb', line 123

def initialize(options = {})
  @ui = Licensed::UI::Shell.new

  apps = options.delete("apps") || []
  super(default_options.merge(options))

  self["apps"] = apps.map { |app| AppConfiguration.new(app, options) }
end

Instance Attribute Details

#uiObject

Returns the value of attribute ui.



111
112
113
# File 'lib/licensed/configuration.rb', line 111

def ui
  @ui
end

Class Method Details

.load_from(path) ⇒ Object

Loads and returns a Licensed::Configuration object from the given path. The path can be relative or absolute, and can point at a file or directory. If the path given is a directory, the directory will be searched for a ‘config.yml` file.



117
118
119
120
121
# File 'lib/licensed/configuration.rb', line 117

def self.load_from(path)
  config_path = Pathname.pwd.join(path)
  config_path = find_config(config_path) if config_path.directory?
  Configuration.new(parse_config(config_path))
end

Instance Method Details

#appsObject

Returns an array of the applications for this licensed configuration. If the configuration did not explicitly configure any applications, return self as an application configuration.



135
136
137
138
# File 'lib/licensed/configuration.rb', line 135

def apps
  return [self] if self["apps"].empty?
  self["apps"]
end