Class: EhbrsRubyUtils::Music::Ous::Node

Inherits:
Object
  • Object
show all
Defined in:
lib/ehbrs_ruby_utils/music/ous/node.rb

Direct Known Subclasses

Album, Artist, Category

Constant Summary collapse

DEFAULT_LANGUAGE =
'unk'
LANGUAGE_FILE_BASENAME =
'.language'

Instance Method Summary collapse

Instance Method Details

#languageObject



19
20
21
# File 'lib/ehbrs_ruby_utils/music/ous/node.rb', line 19

def language
  self_language || parent_language || DEFAULT_LANGUAGE
end

#language_fileObject



23
24
25
# File 'lib/ehbrs_ruby_utils/music/ous/node.rb', line 23

def language_file
  path.join(LANGUAGE_FILE_BASENAME)
end

#nameObject



15
16
17
# File 'lib/ehbrs_ruby_utils/music/ous/node.rb', line 15

def name
  real_path.basename.to_s
end

#parent_languageObject



27
28
29
# File 'lib/ehbrs_ruby_utils/music/ous/node.rb', line 27

def parent_language
  parent_node.if_present(&:language)
end

#real_pathObject



31
32
33
# File 'lib/ehbrs_ruby_utils/music/ous/node.rb', line 31

def real_path
  path.readlink_r
end

#self_languageObject



35
36
37
# File 'lib/ehbrs_ruby_utils/music/ous/node.rb', line 35

def self_language
  language_file.if_exist('', &:read).strip.presence
end

#to_sObject



39
40
41
# File 'lib/ehbrs_ruby_utils/music/ous/node.rb', line 39

def to_s
  name
end