noter 0.0.1 → 0.0.2
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 +4 -4
- data/bin/noter +4 -0
- data/lib/noter.rb +2 -0
- data/lib/noter/file_maker.rb +1 -1
- data/lib/noter/note_file.rb +27 -0
- data/lib/noter/version.rb +1 -1
- data/lib/noter/viewer.rb +16 -0
- data/spec/lib/noter/note_file_spec.rb +37 -0
- data/spec/lib/noter/viewer_spec.rb +30 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 002b30af6cad3c7f3496bd767f125b3cc745bfee
|
4
|
+
data.tar.gz: 78c5c58b1963a6af5b9f28e10c9292e77f6bd2b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5f7007bb761ecaae4a5f0b95bca50fc7e22a00e2e8d273193d0e4dc0561a0a400c39b5fce2cc981f3904e2e6b4e90c2859d1df23dfa0dec3a4415474dff9438
|
7
|
+
data.tar.gz: 7b3c39cc077ad2d82264d00b3c11158a7d20ab3ea42e5f907f25fef3ae6208948e6528b0e5402b69f8166a211223acb4270eb9a08ddd543d692d4a807baf7287
|
data/bin/noter
CHANGED
@@ -10,6 +10,10 @@ class NoteRunner
|
|
10
10
|
Noter::FileMaker.new.make_from_file(filename)
|
11
11
|
end
|
12
12
|
|
13
|
+
opts.on("-l", "--one-line", "Show first lines of each note file") do
|
14
|
+
Noter::Viewer.new.show_first_lines
|
15
|
+
end
|
16
|
+
|
13
17
|
opts.on("-m", "--message MESSAGE", "Use the given message as the note") do |message|
|
14
18
|
Noter::FileMaker.new(message).save_file
|
15
19
|
end
|
data/lib/noter.rb
CHANGED
data/lib/noter/file_maker.rb
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
module Noter
|
2
|
+
class NoteFile
|
3
|
+
attr_reader :filename
|
4
|
+
|
5
|
+
def initialize(filename)
|
6
|
+
@filename = filename
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.dir
|
10
|
+
"#{ENV['HOME']}/.notes"
|
11
|
+
end
|
12
|
+
|
13
|
+
def formatted_time
|
14
|
+
basename = File.basename(@filename, ".txt")
|
15
|
+
numbers = basename.split("_")
|
16
|
+
"#{numbers[1]}-#{numbers[2]} #{numbers[3]}:#{numbers[4]}"
|
17
|
+
end
|
18
|
+
|
19
|
+
def content
|
20
|
+
File.read(filename)
|
21
|
+
end
|
22
|
+
|
23
|
+
def first_line
|
24
|
+
content.split("\n")[0]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/noter/version.rb
CHANGED
data/lib/noter/viewer.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require "noter/note_file"
|
2
|
+
|
3
|
+
module Noter
|
4
|
+
class Viewer
|
5
|
+
def existing_files
|
6
|
+
Dir.glob("#{NoteFile.dir}/*")
|
7
|
+
end
|
8
|
+
|
9
|
+
def show_first_lines
|
10
|
+
existing_files.each do |filename|
|
11
|
+
file = NoteFile.new(filename)
|
12
|
+
puts "#{file.formatted_time}: #{file.first_line}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require "pp" # to avoid an error in fakefs
|
2
|
+
require "fakefs"
|
3
|
+
require "noter/note_file"
|
4
|
+
|
5
|
+
module Noter
|
6
|
+
describe NoteFile do
|
7
|
+
let(:file) { Noter::NoteFile.new("2014_09_21_18_20_22.txt") }
|
8
|
+
|
9
|
+
before do
|
10
|
+
FileUtils.mkdir_p NoteFile.dir
|
11
|
+
end
|
12
|
+
|
13
|
+
it "returns a formatted time from the filename" do
|
14
|
+
expect(file.formatted_time).to eql("09-21 18:20")
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "#content" do
|
18
|
+
before do
|
19
|
+
File.write(file.filename, "some content")
|
20
|
+
end
|
21
|
+
|
22
|
+
it "returns the content of the file" do
|
23
|
+
expect(file.content).to eql("some content")
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "#first_line" do
|
28
|
+
before do
|
29
|
+
File.write(file.filename, "some content\nline 2")
|
30
|
+
end
|
31
|
+
|
32
|
+
it "returns the content of the file" do
|
33
|
+
expect(file.first_line).to eql("some content")
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require "pp" # to avoid an error in fakefs
|
2
|
+
require "fakefs"
|
3
|
+
require "noter/viewer"
|
4
|
+
|
5
|
+
module Noter
|
6
|
+
describe Viewer do
|
7
|
+
let(:viewer) { Noter::Viewer.new }
|
8
|
+
|
9
|
+
before do
|
10
|
+
FileUtils.mkdir_p NoteFile.dir
|
11
|
+
File.write("#{NoteFile.dir}/2014_09_21_18_20_22.txt", "file 1\nline 2")
|
12
|
+
File.write("#{NoteFile.dir}/2014_09_21_19_20_22.txt", "file 2\nline 2")
|
13
|
+
end
|
14
|
+
|
15
|
+
describe "#existing_files" do
|
16
|
+
it "returns the names of all the existing files" do
|
17
|
+
expect(viewer.existing_files).to eql(%W{#{NoteFile.dir}/2014_09_21_18_20_22.txt #{NoteFile.dir}/2014_09_21_19_20_22.txt})
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "#show_first_lines" do
|
22
|
+
it "shows first lines" do
|
23
|
+
expect(viewer).to receive(:puts).with("09-21 18:20: file 1")
|
24
|
+
expect(viewer).to receive(:puts).with("09-21 19:20: file 2")
|
25
|
+
viewer.show_first_lines
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: noter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Roush
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -125,9 +125,13 @@ files:
|
|
125
125
|
- bin/noter
|
126
126
|
- lib/noter.rb
|
127
127
|
- lib/noter/file_maker.rb
|
128
|
+
- lib/noter/note_file.rb
|
128
129
|
- lib/noter/version.rb
|
130
|
+
- lib/noter/viewer.rb
|
129
131
|
- noter.gemspec
|
130
132
|
- spec/lib/noter/file_maker_spec.rb
|
133
|
+
- spec/lib/noter/note_file_spec.rb
|
134
|
+
- spec/lib/noter/viewer_spec.rb
|
131
135
|
homepage: https://github.com/jeff-r/noter
|
132
136
|
licenses:
|
133
137
|
- MIT
|
@@ -154,3 +158,5 @@ specification_version: 4
|
|
154
158
|
summary: Creates timestamped notes.
|
155
159
|
test_files:
|
156
160
|
- spec/lib/noter/file_maker_spec.rb
|
161
|
+
- spec/lib/noter/note_file_spec.rb
|
162
|
+
- spec/lib/noter/viewer_spec.rb
|