Class: Til::Initializer

Inherits:
Object
  • Object
show all
Includes:
Thor::Actions, Thor::Base
Defined in:
lib/til/initializer.rb

Instance Method Summary collapse

Instance Method Details

#create_notes_directoryObject



16
17
18
19
# File 'lib/til/initializer.rb', line 16

def create_notes_directory
  d = Settings.load.directory
  FileUtils.mkdir_p(File.expand_path(d))
end

#create_settings_fileObject



8
9
10
11
12
13
14
# File 'lib/til/initializer.rb', line 8

def create_settings_file
  notes_directory = ask("What directory do you want your TIL notes to live in? (If you have no preference, press return to default to `~/til`.)\n>")
  github_repo = ask("Do you have a GitHub repo for your TIL notes? Paste the URL here if so; otherwise, press return.\n>")
  File.open(Settings.settings_file_path, "w") do |f|
    f.write(settings_hash(notes_directory, github_repo).to_json)
  end
end

#settings_hash(notes_directory, github_repo) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/til/initializer.rb', line 21

def settings_hash(notes_directory, github_repo)
  notes_directory = "~/til" if notes_directory.empty?
  settings_hash = {
    "directory" => notes_directory,
  }
  if !github_repo.empty?
    settings_hash["github_repo"] = github_repo.scan(/[^\/]*\/[^\/]*$/).first
  end
  settings_hash
end