Method: MusicBox::Catalog#initialize

Defined in:
lib/musicbox/catalog.rb

#initialize(root: nil) ⇒ Catalog

Returns a new instance of Catalog.

Raises:



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/musicbox/catalog.rb', line 20

def initialize(root: nil)
  @root_dir = Path.new(root || ENV['MUSICBOX_ROOT'] || '~/Music/MusicBox').expand_path
  raise Error, "#{@root_dir} doesn't exist" unless @root_dir.exist?
  load_config
  @import_dir = @root_dir / 'import'
  @import_done_dir = @root_dir / 'import-done'
  @extract_dir = @root_dir / 'extract'
  @extract_done_dir = @root_dir / 'extract-done'
  @catalog_dir = @root_dir / 'catalog'
  @collection = Collection.new(root: @catalog_dir / 'collection')
  @releases = Releases.new(root: @catalog_dir / 'releases')
  @masters = Releases.new(root: @catalog_dir / 'masters')
  @artists = Artists.new(root: @catalog_dir / 'artists')
  @albums = Albums.new(root: @catalog_dir / 'albums')
  @images_dir = @catalog_dir / 'images'
  link_groups
  @prompt = TTY::Prompt.new
end