worque 0.1.4 → 0.1.5

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: 9e69180a79a7932c847b6cd6d1ca3858449cc153
4
- data.tar.gz: c28418960047a74bc6e571657bc0ff1e4e6cb694
3
+ metadata.gz: 509912a33940b740eb50a0c98aa55f256e90cd48
4
+ data.tar.gz: d7dc7cd45b482af9b5c6001289c2ea7dac11b258
5
5
  SHA512:
6
- metadata.gz: f094c9d4e657115a7f1454348be306e99d89981e843477fd8ca054666921cc383c7684b91f934754f7b1f72c532071526ad3373ebb690350d453025ec873d3bd
7
- data.tar.gz: b9529cb56dcd47374310f4b8524b03c96e346fab1f70714dab910b6faa491acd162f4ec875dcb869fedb978d1fa38bb992383a73b9de5da020b86759908a012b
6
+ metadata.gz: 23dfc71b98a0d455469892dd4f917885bf7f40173db4bd30c4363f7c680d2da22c455eeb13a067da700409a74fdbd99cd28b09c1070fe06ef54c2c9406acc4d6
7
+ data.tar.gz: 9c16073df9e1e2d069739c4c7b535254892f765d8604d72e90b9abec64f539d529ca17e1888529665df2c46eca44969dfe50939e8842a613d2816ceae0e747af
data/README.md CHANGED
@@ -1,4 +1,6 @@
1
1
  # Worque
2
+ [![Build Status](https://travis-ci.org/huynhquancam/worque.svg?branch=travis_config)](https://travis-ci.org/huynhquancam/worque)
3
+ [![Gem Version](https://badge.fury.io/rb/worque.svg)](https://badge.fury.io/rb/worque)
2
4
 
3
5
  Worque is a CLI which is helpful to manage your daily notes.
4
6
 
@@ -8,6 +10,14 @@ Worque is a CLI which is helpful to manage your daily notes.
8
10
 
9
11
  Then worque is definitely a right tool for you!
10
12
 
13
+ ## HOW IT WORKS
14
+
15
+ ![INTRO](INTRO.gif)
16
+
17
+ ### WITH VIM
18
+
19
+ ![INTRO VIM](INTRO_VIM.gif)
20
+
11
21
  ## Installation
12
22
 
13
23
  **DO NOT add this to your Gemfile**
@@ -16,6 +26,11 @@ Install it by
16
26
 
17
27
  $ gem install worque
18
28
 
29
+ Or, if you're using RVM and want the command available system-wide while keeping it in its own gemset
30
+
31
+ $ rvm default@worque --create do gem install worque
32
+ $ rvm wrapper default@worque --no-prefix worque
33
+
19
34
  ## Quick start guide
20
35
 
21
36
  ### CLI
@@ -61,6 +76,11 @@ You can also explicitly specify the file path
61
76
  worque todo --for today --path ~/path/to/your/notes
62
77
  ```
63
78
 
79
+ Moreover, you can add a task into your notes quickly without open that file.
80
+ ```sh
81
+ worque todo --for today --append-task "Your task"
82
+ ```
83
+
64
84
  It's chain-able with other commands
65
85
 
66
86
  ```sh
@@ -77,7 +97,7 @@ alias today="vim $(worque todo) +':cd $WORQUE_PATH'"
77
97
  alias ytd="vim $(worque todo) +':cd $WORQUE_PATH'"
78
98
  ```
79
99
 
80
- #### `worque todo`
100
+ #### `worque push`
81
101
 
82
102
  Please remember to add `SLACK_API_TOKEN` in your `.bash_profile`
83
103
 
@@ -122,17 +142,14 @@ bundle exec rake test
122
142
 
123
143
  Something in my plan:
124
144
 
125
- * Test suites: Embarrassingly there's no test currently, but this will be my
126
- first priority.
127
145
  * `worque list`: List all notes you have.
128
146
  * `worque changelog`: Sync your Git commits to daily notes.
129
147
 
130
148
  ## Contributing
131
149
 
132
- Bug reports and pull requests are welcome on GitHub at https://github.com/huynhquancam/worque.
150
+ Bug reports and pull requests are welcome on GitHub at [https://github.com/huynhquancam/worque/issues](https://github.com/huynhquancam/worque/issues).
133
151
 
134
152
  ## License
135
153
 
136
154
  The gem is available as open source under the terms of the
137
155
  [MIT License](http://opensource.org/licenses/MIT).
138
-
data/bin/worque CHANGED
@@ -4,4 +4,3 @@ require 'rubygems'
4
4
  require 'worque'
5
5
 
6
6
  Worque::CLI.start
7
-
data/lib/worque/cli.rb CHANGED
@@ -13,9 +13,16 @@ module Worque
13
13
  method_option :for, force: false, type: :string, enum: ['today', 'yesterday'], default: 'today'
14
14
  method_option :skip_weekend, force: false, type: :boolean, default: true
15
15
  method_option :path, force: false, type: :string, default: ENV['WORQUE_PATH']
16
+ method_option :append_task, force: false, type: :string
16
17
 
17
18
  def todo
18
- $stdout.puts Worque::Command::Todo.run(options)
19
+ begin
20
+ result = Worque::Command::Todo.run(options)
21
+ rescue InvalidPath => e
22
+ abort e.message
23
+ end
24
+
25
+ $stdout.puts result
19
26
  end
20
27
 
21
28
  desc 'push', 'Push your notes to Slack channel'
@@ -6,12 +6,14 @@ module Worque
6
6
  class Todo::Options
7
7
  attr_accessor :path
8
8
  attr_accessor :for
9
+ attr_accessor :append_task
9
10
  attr_writer :skip_weekend
10
11
 
11
12
  def initialize(opts)
12
13
  @path = opts[:path]
13
14
  @skip_weekend = opts[:skip_weekend]
14
15
  @for = opts[:for]
16
+ @append_task = opts[:append_task]
15
17
  end
16
18
 
17
19
  def skip_weekend?
@@ -7,14 +7,22 @@ module Worque
7
7
  class Todo
8
8
  def initialize(options)
9
9
  @options = options
10
+ validate_options!
10
11
  end
11
12
 
12
13
  def call
13
14
  Worque::Utils::Command.mkdir(options.path)
14
15
 
15
- filename(date_for).tap do |f|
16
+ notes_file_path = filename(date_for)
17
+ notes_file_path.tap do |f|
16
18
  Worque::Utils::Command.touch f
17
19
  end
20
+
21
+ if options.append_task
22
+ Worque::Utils::Command.append_text(notes_file_path, options.append_task)
23
+ end
24
+
25
+ notes_file_path
18
26
  end
19
27
 
20
28
  def self.run(options)
@@ -39,6 +47,12 @@ module Worque
39
47
  def filename(date)
40
48
  "#{options.path}/notes-#{date}.md"
41
49
  end
50
+
51
+ def validate_options!
52
+ if options.path.to_s.empty?
53
+ raise InvalidPath, 'Neither --path nor WORQUE_PATH is not set'
54
+ end
55
+ end
42
56
  end
43
57
  end
44
58
  end
@@ -12,6 +12,12 @@ module Worque
12
12
  def touch(path)
13
13
  FileUtils.touch(path)
14
14
  end
15
+
16
+ def append_text(path, text)
17
+ File.open(path, 'a') { |f|
18
+ f.puts "#{text}\n"
19
+ }
20
+ end
15
21
  end
16
22
  end
17
23
  end
@@ -15,7 +15,7 @@ module Worque
15
15
  private
16
16
 
17
17
  def post_form(channel, message)
18
- uri = URI('https://slack.com/api/chat.postMessage')
18
+ uri = URI.parse('https://slack.com/api/chat.postMessage')
19
19
  Net::HTTP.post_form(uri, as_user: true, channel: channel, token: @token, text: message)
20
20
  end
21
21
  end
@@ -1,3 +1,3 @@
1
1
  module Worque
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
data/lib/worque.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  require "worque/version"
2
2
  require 'worque/cli'
3
3
 
4
- module Worque; end
4
+ module Worque
5
+ InvalidPath = Class.new(StandardError)
6
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: worque
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cam Huynh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-21 00:00:00.000000000 Z
11
+ date: 2016-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor