til_cli 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a773142db2255fa70087ca8a5a83e936fa752cd6
4
- data.tar.gz: 3a7eebc35359898b06464a1f63e8d24823bae401
3
+ metadata.gz: 8571a5af0ee187a3b0bc6156467bc6b0059f946f
4
+ data.tar.gz: ab777a8ab74f8c3d614e12acfdc3c91b8ced403b
5
5
  SHA512:
6
- metadata.gz: 5a1d87ae67ab833e3e27c144af2fbdb2a6668eea9eaac035a0b2cff1ad4251ae93fa9e24a1a0210f6c151a43cbfda04954b9ef719ad04f7f3b2e0ae308437c34
7
- data.tar.gz: 5171ce6bb23ce82e7ecee813e5e075e31c5a38e72bc6c2ecba91a4f929fa1cb3a305b7f0522da1dd498948e4a5543790bc3d1af81a9c092e977d2fa6d02f89dc
6
+ metadata.gz: 5b45f55fd8e8c8ca524d202db891b0137b8bc7fb3bf4ed4aff5a22adac11554ce3eb4138969b75cc38c7dd8c2c175f077689ceadba44153990bcd7fc0d5bf8d6
7
+ data.tar.gz: b4a562bde54b96dc139bdffdf371e1c4d809fded1af998833fe77633a4ab1e3e15a7b8224ffb44481d78463ae7e73265c7fc086518b6d3751b6c8cf4378bb2bf
data/lib/til.rb CHANGED
@@ -1,16 +1,15 @@
1
- require "til/version"
2
1
  require 'til/cli'
3
- require 'til/settings'
4
- require 'til/note'
5
- require 'til/directory'
6
- require 'til/note_writer'
7
- require 'til/note_list'
8
- require 'til/note_editor'
9
- require 'til/note_deleter'
10
- require 'til/initializer'
2
+ require 'til/version'
3
+ require 'til/models/settings'
4
+ require 'til/models/note'
5
+ require 'til/models/directory'
6
+ require 'til/models/note_list'
7
+ require 'til/services/note_writer'
8
+ require 'til/services/note_editor'
9
+ require 'til/services/note_deleter'
10
+ require 'til/services/initializer'
11
11
 
12
12
  module Til
13
- EDITOR = ENV["VISUAL"] || ENV["EDITOR"] || "vim"
14
13
  HIGHLIGHT_COLORS = {
15
14
  0 => :yellow,
16
15
  1 => :light_blue,
@@ -21,10 +20,10 @@ module Til
21
20
  6 => :light_magenta,
22
21
  }
23
22
 
24
- def self.init_settings_file_and_notes_repo
25
- Initializer.new.create_settings_file unless Settings.settings_file_configured?
23
+ def self.config_settings_file_and_notes_repo
24
+ Initializer.new.create_settings_file
26
25
  Initializer.new.create_notes_directory
27
- puts "Your settings file is at `#{Settings.settings_file_path}`. Your notes are at `#{Settings.load.directory}`."
26
+ puts "Your settings file is at `#{Settings.load.settings_file_path}`. Your notes are at `#{Settings.load.directory}`."
28
27
  end
29
28
 
30
29
  def self.print_working_directory
@@ -54,7 +53,6 @@ module Til
54
53
  NoteWriter.new(title).call(if_modified, if_unmodified)
55
54
  end
56
55
 
57
-
58
56
  def self.search_results_for(search_terms)
59
57
  matches = NoteList.new
60
58
  Directory.root.notes.each do |note|
@@ -68,14 +66,14 @@ module Til
68
66
 
69
67
  def self.edit_file(search_term, options)
70
68
  if options[:last]
71
- system(EDITOR, Directory.root.notes.most_recent.path)
69
+ system(Settings.load.editor, Directory.root.notes.most_recent.path)
72
70
  return
73
71
  end
74
72
  matches = Til.search_results_for(search_term)
75
73
  if matches.length < 1
76
74
  puts "no matches"
77
75
  else
78
- system(EDITOR, matches.filter.path)
76
+ system(Settings.load.editor, matches.filter.path)
79
77
  end
80
78
  end
81
79
 
data/lib/til/cli.rb CHANGED
@@ -6,10 +6,17 @@ require 'json'
6
6
 
7
7
  module Til
8
8
  class Cli < Thor
9
-
10
- desc "init", "Generate a settings file if one doesn't already exist."
11
- def init
12
- Til.init_settings_file_and_notes_repo
9
+ map "-v" => :version, "-V" => :version
10
+
11
+ desc "version", "Show TIL version"
12
+ def version
13
+ require "til/version.rb"
14
+ say "til_cli #{Til::VERSION}"
15
+ end
16
+
17
+ desc "config", "Generate a settings file if one doesn't already exist."
18
+ def config
19
+ Til.config_settings_file_and_notes_repo
13
20
  end
14
21
 
15
22
  desc "github", "If your notes have a remote repository on Github, open it."
@@ -1,5 +1,3 @@
1
- require 'til/note'
2
-
3
1
  module Til
4
2
  class Directory
5
3
  attr_reader :path
File without changes
File without changes
@@ -0,0 +1,36 @@
1
+ require 'pathname'
2
+
3
+ module Til
4
+ class Settings
5
+ attr_reader :settings, :settings_file_path
6
+
7
+ def self.load
8
+ @settings_file_path = File.expand_path("~/.til.config")
9
+ if File.exist?(@settings_file_path)
10
+ self.new(@settings_file_path)
11
+ else
12
+ puts "You don't appear to have a settings file! Configuring one now.".red
13
+ Initializer.new.create_settings_file(@settings_file_path)
14
+ self.new(@settings_file_path)
15
+ end
16
+ end
17
+
18
+ def directory
19
+ File.expand_path(settings["directory"])
20
+ end
21
+
22
+ def github_repo
23
+ settings["github_repo"]
24
+ end
25
+
26
+ def editor
27
+ settings["editor"] || ENV["VISUAL"] || ENV["EDITOR"] || "vim"
28
+ end
29
+
30
+ private
31
+
32
+ def initialize(config_file)
33
+ @settings = JSON.parse(File.read(config_file))
34
+ end
35
+ end
36
+ end
@@ -5,11 +5,17 @@ module Til
5
5
  include Thor::Base
6
6
  include Thor::Actions
7
7
 
8
- def create_settings_file
9
- 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>")
10
- github_repo = ask("Do you have a GitHub repo for your TIL notes? Paste the URL here if so; otherwise, press return.\n>")
11
- File.open(Settings.settings_file_path, "w") do |f|
12
- f.write(settings_hash(notes_directory, github_repo).to_json)
8
+ def create_settings_file(settings_file_path=File.expand_path("~/.til.config"))
9
+ begin
10
+ 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>")
11
+ github_repo = ask("Do you have a GitHub repo for your TIL notes? Paste the URL here if so; otherwise, press return.\n>")
12
+
13
+ File.open(settings_file_path, "w") do |f|
14
+ f.write(settings_hash(notes_directory, github_repo).to_json)
15
+ end
16
+ rescue Interrupt
17
+ puts "Aborted!"
18
+ abort
13
19
  end
14
20
  end
15
21
 
@@ -12,8 +12,9 @@ module Til
12
12
  begin
13
13
  choice = ask("Really delete \"#{note.title.bold}\" (in #{note.subject.bold})? (y/n)")
14
14
  if (choice == "y") || (choice == "yes")
15
+ deleted_note_title = note.title
15
16
  File.delete(note.path)
16
- puts "\"#{note.title.bold}\" deleted.".green
17
+ puts "\"#{deleted_note_title.bold}\" deleted.".green
17
18
  else
18
19
  puts "\"#{note.title.bold}\" not deleted.".red
19
20
  end
File without changes
File without changes
File without changes
data/lib/til/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Til
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
data/til.gemspec CHANGED
@@ -20,6 +20,6 @@ Gem::Specification.new do |spec|
20
20
  spec.add_development_dependency "bundler", "~> 1.7"
21
21
  spec.add_development_dependency "rake", "~> 10.0"
22
22
  spec.add_dependency "thor", "~> 0.19.1"
23
- spec.add_dependency "colorize", "~> 0.7.5"
23
+ spec.add_dependency "colorize", "~> 0.7.7"
24
24
  spec.add_dependency "json", "1.8.1"
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: til_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Litchfield
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-19 00:00:00.000000000 Z
11
+ date: 2015-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 0.7.5
61
+ version: 0.7.7
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: 0.7.5
68
+ version: 0.7.7
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: json
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -96,15 +96,15 @@ files:
96
96
  - bin/til
97
97
  - lib/til.rb
98
98
  - lib/til/cli.rb
99
- - lib/til/directory.rb
100
- - lib/til/initializer.rb
101
- - lib/til/note.rb
102
- - lib/til/note_deleter.rb
103
- - lib/til/note_editor.rb
104
- - lib/til/note_finder.rb
105
- - lib/til/note_list.rb
106
- - lib/til/note_writer.rb
107
- - lib/til/settings.rb
99
+ - lib/til/models/directory.rb
100
+ - lib/til/models/note.rb
101
+ - lib/til/models/note_list.rb
102
+ - lib/til/models/settings.rb
103
+ - lib/til/services/initializer.rb
104
+ - lib/til/services/note_deleter.rb
105
+ - lib/til/services/note_editor.rb
106
+ - lib/til/services/note_finder.rb
107
+ - lib/til/services/note_writer.rb
108
108
  - lib/til/version.rb
109
109
  - til.gemspec
110
110
  homepage: ''
data/lib/til/settings.rb DELETED
@@ -1,33 +0,0 @@
1
- require 'pathname'
2
-
3
- module Til
4
- class Settings
5
- attr_reader :settings
6
-
7
- SETTINGS_FILE_PATH = File.expand_path("~/.til.config")
8
-
9
- def initialize(config_file)
10
- @settings = JSON.parse(File.read(config_file))
11
- end
12
-
13
- def self.load
14
- self.new(SETTINGS_FILE_PATH)
15
- end
16
-
17
- def self.settings_file_path
18
- SETTINGS_FILE_PATH
19
- end
20
-
21
- def self.settings_file_configured?
22
- File.exist?(SETTINGS_FILE_PATH)
23
- end
24
-
25
- def directory
26
- File.expand_path(settings["directory"])
27
- end
28
-
29
- def github_repo
30
- settings["github_repo"]
31
- end
32
- end
33
- end