noir 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 37c60ade454a8bfe945bcdc6aa9f227675cbc191
4
- data.tar.gz: 913ccc77f719e326d6a6a0624e11903ec4c9d403
3
+ metadata.gz: 4ae997bded8276dc827ce2a3b883f601751e21be
4
+ data.tar.gz: 22bb06c286daa30bd8dfab5ee7d81a1dde001709
5
5
  SHA512:
6
- metadata.gz: b426b2c916464cde1309f7097d45b3062bdbb7de12e51da7a78755b4175a62359f389695b5600cacf588bdf99f57357a78ba9287b89b86f3773f5d971679d86d
7
- data.tar.gz: abe489c1566ea84dafe714926359719a6219aa5676f82bd2e3cd102a373b21a5658741c0dbbd2867389d00a1871832bda538d0184e5c9aac4f739b7e25a14e14
6
+ metadata.gz: f66a2d26f4e4dc5c2d350a9e2f5bf3e90d6e0b99ff8c2128c76107c076f29271535c4d0f7cfde910097ff419218bdab80b69071062cadd38f79ced254c6ab799
7
+ data.tar.gz: 837fde2fb8ea3b52803c7b96195fe2c17caf3507b95eefa236b3716cbb30cf5bcbd8ad7e6aa695a041dfe1d81348a6fa7f587d49987e9b30c4ddf553bc71fd54
@@ -0,0 +1 @@
1
+ 2.2.4
@@ -1,8 +1,12 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 2.2.4
4
+ - 2.2.3
3
5
  - 2.2.2
4
6
  - 2.2.1
5
7
  - 2.2.0
8
+ - 2.1.8
9
+ - 2.1.7
6
10
  - 2.1.6
7
11
  - 2.1.5
8
12
  - 2.1.4
@@ -12,6 +16,8 @@ rvm:
12
16
  - 2.0.0
13
17
  - 1.9.3
14
18
  - 1.9.2
19
+ before_install:
20
+ - gem update bundler
15
21
  notifications:
16
22
  email: false
17
23
  slack:
@@ -1,5 +1,5 @@
1
1
  class Noir::Command::Edit::Note < Noir::Base::TerminalCommand
2
- @description = 'Create and edit for today note.'
2
+ @description = 'Create and edit for note. if you set negative number in argument, edit before note.'
3
3
 
4
4
  class << self
5
5
 
@@ -8,10 +8,28 @@ class Noir::Command::Edit::Note < Noir::Base::TerminalCommand
8
8
  end
9
9
 
10
10
  def execute *args
11
+
12
+ if args.size.zero?
13
+ edit_today_note
14
+ else
15
+ edit_before_note args.first.to_i
16
+ end
17
+ end
18
+
19
+ def edit_today_note
11
20
  search_pattern = '*' + Time.now.strftime(Noir::Command::New::Note::TimeFormat) + '*'
12
21
  today_files = Dir.glob(search_pattern)
13
22
  target = today_files.sort.last || Noir::Command::New::Note.create_new_note
14
23
  edit target
15
24
  end
25
+
26
+ def edit_before_note diff
27
+ notes = Dir.glob(Noir::Command::New::Note::FileNameGlob)
28
+ if notes.size > diff.abs.succ
29
+ edit notes.sort_by(&:to_i)[diff-1]
30
+ else
31
+ raise "Cannot find notes before #{diff} count."
32
+ end
33
+ end
16
34
  end
17
35
  end
@@ -1,3 +1,3 @@
1
1
  module Noir
2
- VERSION = '0.1.8'
2
+ VERSION = '0.1.9'
3
3
  end
@@ -23,5 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency 'bundler', '~> 1.6'
24
24
  spec.add_development_dependency 'rake', '10.4.2'
25
25
  spec.add_development_dependency 'rspec', '3.2.0'
26
- spec.add_development_dependency 'pry', '0.10.1'
26
+ spec.add_development_dependency 'pry', '0.10.3'
27
27
  end
@@ -19,6 +19,39 @@ describe 'Noir::Command::Edit::Note' do
19
19
  expect(Noir::Command::Edit::Note).to receive(:edit).with('hoge')
20
20
  Noir::Command::Edit::Note.execute
21
21
  end
22
+
23
+ it 'is edit before note if set negative number' do
24
+ allow(Dir).to receive(:glob).with(anything).and_return([1, 2, 3, 4, 5])
25
+ expect(Noir::Command::Edit::Note).to receive(:edit).with(4)
26
+ Noir::Command::Edit::Note.execute '-1'
27
+ end
28
+
29
+ it 'is edit before note if set negative number in range' do
30
+ allow(Dir).to receive(:glob).with(anything).and_return([1, 2, 3, 4, 5])
31
+ expect(Noir::Command::Edit::Note).to receive(:edit).with(2)
32
+ Noir::Command::Edit::Note.execute '-3'
33
+ end
34
+
35
+ it 'is edit before note if set negative number in range (shuffled)' do
36
+ allow(Dir).to receive(:glob).with(anything).and_return([1, 2, 3, 4, 5].shuffle)
37
+ expect(Noir::Command::Edit::Note).to receive(:edit).with(2)
38
+ Noir::Command::Edit::Note.execute '-3'
39
+ end
40
+
41
+ it 'is edit before note if set negative number in range (over 100)' do
42
+ allow(Dir).to receive(:glob).with(anything).and_return(['100_', '101_3', '99_x', '01_', '200_e'].shuffle)
43
+ expect(Noir::Command::Edit::Note).to receive(:edit).with('99_x')
44
+ Noir::Command::Edit::Note.execute '-3'
45
+ end
46
+
47
+ it 'returns error if set negative number out of range' do
48
+ allow(Dir).to receive(:glob).with(anything).and_return([1, 2, 3, 4, 5])
49
+ expect(Noir::Command::Edit::Note).to_not receive(:edit)
50
+ [-4,-5,-6].each do |n|
51
+ expect{Noir::Command::Edit::Note.execute(n.to_s)}.to raise_error(/Cannot/)
52
+ end
53
+ end
54
+
22
55
  end
23
56
 
24
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: noir
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - atton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-03 00:00:00.000000000 Z
11
+ date: 2015-12-24 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.10.1
61
+ version: 0.10.3
62
62
  type: :development
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.10.1
68
+ version: 0.10.3
69
69
  description: Untility commands with completion for atton.
70
70
  email:
71
71
  - e115763@gmail.com
@@ -75,6 +75,7 @@ extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
77
  - ".gitignore"
78
+ - ".ruby-version"
78
79
  - ".travis.yml"
79
80
  - Gemfile
80
81
  - LICENSE.txt
@@ -167,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
168
  version: '0'
168
169
  requirements: []
169
170
  rubyforge_project:
170
- rubygems_version: 2.4.6
171
+ rubygems_version: 2.5.1
171
172
  signing_key:
172
173
  specification_version: 4
173
174
  summary: Utilities for atton.