ric 0.11.11 → 0.11.12
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.
- data/HISTORY.yml +2 -0
- data/Manifest +2 -0
- data/VERSION +1 -1
- data/bin/septober +71 -48
- data/lib/ric.rb +5 -1
- data/lib/ruby_classes/arrays.rb +16 -0
- data/ric.gemspec +4 -4
- metadata +7 -5
data/HISTORY.yml
CHANGED
data/Manifest
CHANGED
@@ -20,9 +20,11 @@ lib/ric/debug.rb
|
|
20
20
|
lib/ric/files.rb
|
21
21
|
lib/ric/html.rb
|
22
22
|
lib/ric/zibaldone.rb
|
23
|
+
lib/ruby_classes/arrays.rb
|
23
24
|
lib/ruby_classes/strings.rb
|
24
25
|
lib/tmp/uniquify.rb
|
25
26
|
rails/init.rb
|
27
|
+
ric.gemspec
|
26
28
|
sbin/reboot.rb
|
27
29
|
sbin/ric_reboot.rb
|
28
30
|
test/sample_conf.yml
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.11.
|
1
|
+
0.11.12
|
data/bin/septober
CHANGED
@@ -13,7 +13,14 @@
|
|
13
13
|
@description:
|
14
14
|
septober.heroku.com client to add and list todos!
|
15
15
|
|
16
|
+
TODO
|
17
|
+
- add --conf|-c : to change configuration file
|
18
|
+
- add --context|-x : to change context (--local => --context 'local' , default: "septober" )
|
19
|
+
|
20
|
+
API: add actions (done, toggle, ..., due <today|tomorrow|monday> )
|
21
|
+
|
16
22
|
@history:
|
23
|
+
0.9.6 2011-02-09 CLI supports --conf now. Tags working!
|
17
24
|
0.9.5 2011-02-08 more concise 'add'
|
18
25
|
0.9.4 2011-02-04 added 'done' action (and 'delete' ?)
|
19
26
|
0.9.3 2011-02-04 better 'list'
|
@@ -21,7 +28,7 @@
|
|
21
28
|
0.9.1 2011-01-18 First version
|
22
29
|
############################################################
|
23
30
|
=end
|
24
|
-
$PROG_VER = '0.9.
|
31
|
+
$PROG_VER = '0.9.6'
|
25
32
|
|
26
33
|
require 'optparse'
|
27
34
|
require 'rubygems'
|
@@ -35,10 +42,42 @@
|
|
35
42
|
:app_name => 'septober client',
|
36
43
|
:hello => 'Welcome to this terrific application',
|
37
44
|
:septober_url => 'http://septober.heroku.com/' ,
|
38
|
-
:
|
45
|
+
:dflt_config_file => '~/.septober.yml' ,
|
39
46
|
:local => false ,
|
40
47
|
}
|
48
|
+
|
49
|
+
def init
|
50
|
+
#$opts = {}
|
51
|
+
optparse = OptionParser.new do |opts|
|
52
|
+
opts.on( '-c', '--config <FILE>', 'uses a different configfile from: '+$opts[:dflt_config_file] ) {|arg_file| $opts[:config_file] = arg_file }
|
53
|
+
opts.on( '-d', '--debug', 'enables debug (DFLT=false)' ) { $opts[:debug] = true ; $debug = true ; debug_on('Debug enabled from ARGV')}
|
54
|
+
opts.on( '-h', '--help', 'Display this screen' ) { puts(opts); exit 1 }
|
55
|
+
opts.on( '-j', '--jabba', 'Activates my Jabber powerful CLI' ) { $opts[:jabba] = true }
|
56
|
+
opts.on( '-l', '--local', 'uses local instead' ) { $opts[:local] = true }
|
57
|
+
opts.on( '-v', '--verbose', 'Output more information' ) { $opts[:verbose] = true}
|
58
|
+
|
59
|
+
opts.banner = <<-API_OPTIONS
|
60
|
+
#{$0} v.#{$PROG_VER}
|
61
|
+
Usage: #{File.basename $0} [options] [add|list|done|del] [args]
|
41
62
|
|
63
|
+
API Actions (T stands for ToBeDoneYet ):
|
64
|
+
add <FREE TEXT> # adds new task in free text with some magic..
|
65
|
+
delete <ID> # T delete ticket.ID (DONT USE IF U CAN!)
|
66
|
+
done <ID> # T posts ticket.ID :done (resolved)
|
67
|
+
list # shows a list of your todos yet to complete
|
68
|
+
mail <ID> # T mail to yourself ticket.ID !!!
|
69
|
+
show <ID> # shows details about todo with id=ID
|
70
|
+
procrastinate <ID> <NDAYS> # T mail to yourself ticket.ID !!!
|
71
|
+
sleep <ID> <NDAYS> # T mail to yourself ticket.ID !!!
|
72
|
+
|
73
|
+
Options:
|
74
|
+
API_OPTIONS
|
75
|
+
end
|
76
|
+
optparse.parse!
|
77
|
+
RemoteTodo.import_config()
|
78
|
+
end
|
79
|
+
|
80
|
+
#################################################################################################################################################
|
42
81
|
class RemoteTodo < ActiveResource::Base
|
43
82
|
self.site = "http://septober.example.com/" # uninitialized
|
44
83
|
self.element_name = 'todo'
|
@@ -49,14 +88,13 @@
|
|
49
88
|
site: "http://localhost:3000/api/" # or http://septober.heroku.com/api/
|
50
89
|
user: guest
|
51
90
|
password: guest'
|
52
|
-
|
53
91
|
# self.ssl_options = {:cert => OpenSSL::X509::Certificate.new(File.open(pem_file))
|
54
92
|
# :key => OpenSSL::PKey::RSA.new(File.open(pem_file)),
|
55
93
|
# :ca_path => "/path/to/OpenSSL/formatted/CA_Certs",
|
56
94
|
# :verify_mode => OpenSSL::SSL::VERIFY_PEER}
|
57
95
|
|
58
96
|
def self.import_config(file=nil)
|
59
|
-
file ||= $opts[:
|
97
|
+
file ||= $opts[:dflt_config_file]
|
60
98
|
real_file = File.expand_path file
|
61
99
|
deb "Importing config from #{file}.."
|
62
100
|
if File.exists?(real_file)
|
@@ -96,47 +134,46 @@
|
|
96
134
|
|
97
135
|
def priority_str(priority)
|
98
136
|
case priority.to_s
|
99
|
-
when '1'
|
100
|
-
when '2'
|
101
|
-
when '3'
|
102
|
-
when '4'
|
103
|
-
when '5'
|
137
|
+
when '1'; return '--'
|
138
|
+
when '2'; return '-'
|
139
|
+
when '3'; return ' '
|
140
|
+
when '4'; return '!'
|
141
|
+
when '5'; return '!!'
|
104
142
|
end
|
105
143
|
return "'?' #{priority}"
|
106
144
|
end
|
107
145
|
|
108
146
|
def show_entry(opts={})
|
109
147
|
mywhere = where ? azure( " @#{where}") : ''
|
148
|
+
mytags = (tag_list != [] ?
|
149
|
+
' '+tag_list.map{|tag| purple("@#{tag}")}.join(' ') :
|
150
|
+
''
|
151
|
+
) rescue ''
|
110
152
|
return sprintf "%-3d %-30s %2s %s %s%s",
|
111
|
-
id, colored_project_name , priority_str(priority), colored_due_explaination(due), name, mywhere
|
153
|
+
id, colored_project_name , priority_str(priority), colored_due_explaination(due), name, mywhere+mytags
|
112
154
|
end
|
113
155
|
|
114
156
|
def show_full_entry(opts={})
|
115
|
-
attributes = %w{
|
157
|
+
attributes = %w{
|
158
|
+
name id
|
159
|
+
due hide_until
|
160
|
+
active depends_on_id
|
161
|
+
photo_url progress_status
|
162
|
+
source tag_list
|
163
|
+
url where
|
164
|
+
}
|
116
165
|
key_vals = attributes.map{|attr| [attr,send(attr)] } # array of [key, val]
|
117
|
-
key_vals << ['ProjectName', project.name ]
|
118
|
-
key_vals
|
166
|
+
key_vals << ['ProjectName', "#{project.name} (#{project.color.to_s.send( project.color ) rescue project.color})" ]
|
167
|
+
#key_vals << ['PjColor', project.color ]
|
168
|
+
key_vals.map{|k,v| [k,v] }.sort{|x,y| x.first <=> y.first }.map{ |k,v| "#{k}: #{v}" }.join("\n") +
|
169
|
+
"\n--\n#{description}"
|
119
170
|
end
|
120
171
|
end # /RemoteTodo
|
121
|
-
|
172
|
+
#################################################################################################################################################
|
122
173
|
|
123
174
|
#############################
|
124
175
|
# Program start..
|
125
176
|
|
126
|
-
def usage(comment=nil)
|
127
|
-
puts "#{$0} v.#{$PROG_VER}"
|
128
|
-
puts "Usage: #{File.basename $0} [-dhjv] [--local] [--no-colors] OPTIONS"
|
129
|
-
puts " add <FREE TEXT> # V adds new task in free text with some magic.."
|
130
|
-
puts " delete <ID> # T delete ticket.ID (DONT USE IF U CAN!)"
|
131
|
-
puts " list # V shows a list of your todos yet to complete"
|
132
|
-
puts " show <ID> # V shows details about todo with id=ID"
|
133
|
-
puts " done <ID> # T posts ticket.ID :done (resolved)"
|
134
|
-
puts " mail <ID> # T mail to yourself ticket.ID !!!"
|
135
|
-
#puts " search <QUERY> # look for TODOs relating to 'QUERY' string"
|
136
|
-
pred comment if comment
|
137
|
-
exit 78
|
138
|
-
end
|
139
|
-
|
140
177
|
def bannerino(desc)
|
141
178
|
"#Todo #{white desc.to_s} (user: #{blue RemoteTodo.user}@#{cyan RemoteTodo.site.to_s.split('/')[2] })"
|
142
179
|
end
|
@@ -147,6 +184,7 @@
|
|
147
184
|
all = RemoteTodo.find(:all)
|
148
185
|
all.each{|todo|
|
149
186
|
puts( todo.show_entry ) unless( show_only_active && ! todo.active )
|
187
|
+
deb "Full ToString for #{white todo}:\n\t#{todo.inspect}"
|
150
188
|
} if all
|
151
189
|
end
|
152
190
|
|
@@ -188,7 +226,7 @@
|
|
188
226
|
todo_generic_put(id,:done)
|
189
227
|
end
|
190
228
|
def todo_toggle(id,done_or_undone=true)
|
191
|
-
todo_generic_put(id,:
|
229
|
+
todo_generic_put(id,:toggle)
|
192
230
|
end
|
193
231
|
|
194
232
|
def todo_generic_put(id,action,opts={})
|
@@ -213,34 +251,19 @@
|
|
213
251
|
pred "To Be implemented Yet"
|
214
252
|
end
|
215
253
|
|
216
|
-
def init
|
217
|
-
#$opts = {}
|
218
|
-
optparse = OptionParser.new do |opts|
|
219
|
-
opts.banner = "#{$0} v.#{$PROG_VER}\n Usage: #{File.basename $0} [add|list|done|del] [args]"
|
220
|
-
opts.on( '-c', '--config', 'uses a different configfile from: '+$opts[:dflt_config] ) { $opts[:jabba] = true }
|
221
|
-
opts.on( '-d', '--debug', 'enables debug (DFLT=false)' ) { $opts[:debug] = true }
|
222
|
-
opts.on( '-h', '--help', 'Display this screen' ) { puts(opts); exit 1 }
|
223
|
-
opts.on( '-j', '--jabba', 'Activates my Jabber powerful CLI' ) { $opts[:jabba] = true }
|
224
|
-
opts.on( '-l', '--local', 'uses local instead' ) { $opts[:local] = true }
|
225
|
-
opts.on( '-v', '--verbose', 'Output more information' ) { $opts[:verbose] = true}
|
226
|
-
end
|
227
|
-
optparse.parse!
|
228
|
-
RemoteTodo.import_config()
|
229
|
-
end
|
230
254
|
|
231
255
|
def main()
|
232
256
|
init()
|
233
257
|
# Maybe you may want to check on ARGV
|
234
|
-
unless ARGV.size > 0
|
235
|
-
|
236
|
-
end
|
237
|
-
# i dont need it for help :)
|
258
|
+
#unless ARGV.size > 0
|
259
|
+
# usage "Give me at least 1 argument" # Maybe default to list?!?
|
260
|
+
#end
|
238
261
|
case ARGV[0]
|
239
262
|
when 'list' ; todo_list()
|
240
263
|
when 'show' ; todo_show(ARGV[1])
|
241
264
|
when 'done' ; todo_done(ARGV[1],true)
|
242
265
|
when 'add' ; todo_add(ARGV[1..-1].join(' ')) # all except last one
|
243
|
-
else ; usage "Unrecognized command: #{ARGV[0]}"
|
266
|
+
#else ; usage "Unrecognized command: #{ARGV[0]}"
|
244
267
|
end
|
245
268
|
end
|
246
269
|
|
data/lib/ric.rb
CHANGED
@@ -7,6 +7,8 @@ require 'ric/debug'
|
|
7
7
|
require 'ric/html'
|
8
8
|
require 'ric/zibaldone'
|
9
9
|
|
10
|
+
require 'ruby_classes/arrays'
|
11
|
+
|
10
12
|
module Ric
|
11
13
|
#include Ric::Colors
|
12
14
|
|
@@ -19,4 +21,6 @@ end
|
|
19
21
|
include Ric::Colors
|
20
22
|
include Ric::Conf
|
21
23
|
include Ric::Debug
|
22
|
-
include Ric::Files
|
24
|
+
include Ric::Files
|
25
|
+
|
26
|
+
include RubyClasses::Array
|
data/ric.gemspec
CHANGED
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{ric}
|
5
|
-
s.version = "0.11.
|
5
|
+
s.version = "0.11.12"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Riccardo Carlesso"]
|
9
|
-
s.date = %q{2011-02-
|
9
|
+
s.date = %q{2011-02-09}
|
10
10
|
s.description = %q{My first gem with various utilities (colors and tests now).
|
11
11
|
My name is Riccardo, hence 'ric' (ok I admit it, this was just ot prove Im able to build a sentence
|
12
12
|
with hence!)}
|
13
13
|
s.email = %q{['p','ll','diusbonton].join('a') @ gmail.com}
|
14
14
|
s.executables = ["itunes", "ric", "riclib-test", "septober", "xcopy"]
|
15
|
-
s.extra_rdoc_files = ["LICENSE", "README.md", "TODO", "bin/itunes", "bin/ric", "bin/riclib-test", "bin/septober", "bin/xcopy", "lib/rails/acts_as_carlesso.rb", "lib/rails/helpers/rails_helper.rb", "lib/ric.rb", "lib/ric/colors.rb", "lib/ric/conf.rb", "lib/ric/debug.rb", "lib/ric/files.rb", "lib/ric/html.rb", "lib/ric/zibaldone.rb", "lib/ruby_classes/strings.rb", "lib/tmp/uniquify.rb"]
|
16
|
-
s.files = ["HISTORY.yml", "LICENSE", "Manifest", "README.md", "Rakefile", "TODO", "VERSION", "bin/itunes", "bin/ric", "bin/riclib-test", "bin/septober", "bin/xcopy", "init.rb", "lib/rails/acts_as_carlesso.rb", "lib/rails/helpers/rails_helper.rb", "lib/ric.rb", "lib/ric/colors.rb", "lib/ric/conf.rb", "lib/ric/debug.rb", "lib/ric/files.rb", "lib/ric/html.rb", "lib/ric/zibaldone.rb", "lib/ruby_classes/strings.rb", "lib/tmp/uniquify.rb", "rails/init.rb", "sbin/reboot.rb", "sbin/ric_reboot.rb", "test/sample_conf.yml", "test/strings_helper.rb", "test/test_helper.rb", "var/www/index.html"
|
15
|
+
s.extra_rdoc_files = ["LICENSE", "README.md", "TODO", "bin/itunes", "bin/ric", "bin/riclib-test", "bin/septober", "bin/xcopy", "lib/rails/acts_as_carlesso.rb", "lib/rails/helpers/rails_helper.rb", "lib/ric.rb", "lib/ric/colors.rb", "lib/ric/conf.rb", "lib/ric/debug.rb", "lib/ric/files.rb", "lib/ric/html.rb", "lib/ric/zibaldone.rb", "lib/ruby_classes/arrays.rb", "lib/ruby_classes/strings.rb", "lib/tmp/uniquify.rb"]
|
16
|
+
s.files = ["HISTORY.yml", "LICENSE", "Manifest", "README.md", "Rakefile", "TODO", "VERSION", "bin/itunes", "bin/ric", "bin/riclib-test", "bin/septober", "bin/xcopy", "init.rb", "lib/rails/acts_as_carlesso.rb", "lib/rails/helpers/rails_helper.rb", "lib/ric.rb", "lib/ric/colors.rb", "lib/ric/conf.rb", "lib/ric/debug.rb", "lib/ric/files.rb", "lib/ric/html.rb", "lib/ric/zibaldone.rb", "lib/ruby_classes/arrays.rb", "lib/ruby_classes/strings.rb", "lib/tmp/uniquify.rb", "rails/init.rb", "ric.gemspec", "sbin/reboot.rb", "sbin/ric_reboot.rb", "test/sample_conf.yml", "test/strings_helper.rb", "test/test_helper.rb", "var/www/index.html"]
|
17
17
|
s.homepage = %q{http://github.com/palladius/riclib}
|
18
18
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Ric", "--main", "README.md"]
|
19
19
|
s.require_paths = ["lib"]
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ric
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 43
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 11
|
9
|
-
-
|
10
|
-
version: 0.11.
|
9
|
+
- 12
|
10
|
+
version: 0.11.12
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Riccardo Carlesso
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-02-
|
18
|
+
date: 2011-02-09 00:00:00 +00:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -50,6 +50,7 @@ extra_rdoc_files:
|
|
50
50
|
- lib/ric/files.rb
|
51
51
|
- lib/ric/html.rb
|
52
52
|
- lib/ric/zibaldone.rb
|
53
|
+
- lib/ruby_classes/arrays.rb
|
53
54
|
- lib/ruby_classes/strings.rb
|
54
55
|
- lib/tmp/uniquify.rb
|
55
56
|
files:
|
@@ -75,16 +76,17 @@ files:
|
|
75
76
|
- lib/ric/files.rb
|
76
77
|
- lib/ric/html.rb
|
77
78
|
- lib/ric/zibaldone.rb
|
79
|
+
- lib/ruby_classes/arrays.rb
|
78
80
|
- lib/ruby_classes/strings.rb
|
79
81
|
- lib/tmp/uniquify.rb
|
80
82
|
- rails/init.rb
|
83
|
+
- ric.gemspec
|
81
84
|
- sbin/reboot.rb
|
82
85
|
- sbin/ric_reboot.rb
|
83
86
|
- test/sample_conf.yml
|
84
87
|
- test/strings_helper.rb
|
85
88
|
- test/test_helper.rb
|
86
89
|
- var/www/index.html
|
87
|
-
- ric.gemspec
|
88
90
|
has_rdoc: true
|
89
91
|
homepage: http://github.com/palladius/riclib
|
90
92
|
licenses: []
|