class NoteLister
Public Class Methods
new(notebook)
click to toggle source
# File lib/notes_cli/services/note_lister.rb, line 6 def initialize(notebook) @notebook = notebook end
Public Instance Methods
call()
click to toggle source
# File lib/notes_cli/services/note_lister.rb, line 10 def call handle_errors return list if entries.any? empty_notebook_notification end
Private Instance Methods
empty_notebook_notification()
click to toggle source
# File lib/notes_cli/services/note_lister.rb, line 39 def empty_notebook_notification puts File.basename(current_workspace) puts '----------------' puts "#{@notebook} is empty" end
entries()
click to toggle source
# File lib/notes_cli/services/note_lister.rb, line 31 def entries @entries ||= {}.tap do |entries| Dir.glob(File.join(notes_folder, current_workspace, @notebook, '/*')).sort.each do |path| entries[File.basename(path)] = path end end end
handle_errors()
click to toggle source
# File lib/notes_cli/services/note_lister.rb, line 19 def handle_errors raise StandardError, 'no such notebook' unless notebook_exists?(@notebook) end
list()
click to toggle source
# File lib/notes_cli/services/note_lister.rb, line 23 def list max_spacing = entries.keys.max_by(&:length).size entries.each do |k, v| spacing = ' ' * (max_spacing - k.length) puts "#{k} #{spacing} #{v}" end end