gyunyu 0.3.0 → 0.3.1
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/Gemfile +4 -4
- data/README.rdoc +4 -3
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/gyunyu.gemspec +25 -24
- data/lib/gyunyu.rb +2 -0
- data/lib/gyunyu/command/export/app.rb +8 -1
- data/lib/gyunyu/command/export/format/csv.rb +18 -4
- data/spec/app/command/export/app_spec.rb +1 -1
- data/spec/app/command/export/format/csv_spec.rb +5 -5
- data/spec/app/command_spec.rb +6 -0
- data/spec/support/app_export.rb +18 -0
- data/tasks/spec.rake +1 -1
- metadata +75 -29
data/Gemfile
CHANGED
@@ -17,10 +17,10 @@ if RUBY_VERSION < '1.9'
|
|
17
17
|
end
|
18
18
|
|
19
19
|
group :development do
|
20
|
-
gem "rspec", "
|
21
|
-
gem "bundler"
|
22
|
-
gem "jeweler"
|
20
|
+
gem "rspec", "> 2"
|
21
|
+
gem "bundler"
|
22
|
+
gem "jeweler"
|
23
23
|
gem "yard"
|
24
|
-
gem "
|
24
|
+
gem "simplecov"
|
25
25
|
gem 'rr'
|
26
26
|
end
|
data/README.rdoc
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
= gyunyu
|
2
2
|
|
3
|
-
|
3
|
+
Simple RTM app for CLI made with Ruby
|
4
4
|
|
5
5
|
== Required
|
6
6
|
|
7
|
-
* Ruby ( tested with
|
7
|
+
* Ruby ( tested with CRuby 1.9.2 )
|
8
8
|
* read permission of RTM API
|
9
9
|
|
10
10
|
== Install
|
@@ -17,6 +17,8 @@ simple RTM app for CLI made with Ruby
|
|
17
17
|
Usage: gyunyu [options]
|
18
18
|
-l, --list LIST
|
19
19
|
-f, --filter FILTER
|
20
|
+
-c, --custom-filter FILTER
|
21
|
+
-s, --custom-filter-list
|
20
22
|
-d, --field FIELD
|
21
23
|
-o, --format FORMAT
|
22
24
|
$ gyunyu -f 'dueWithin:"1 week"'
|
@@ -61,7 +63,6 @@ same above
|
|
61
63
|
|
62
64
|
== Not Supported
|
63
65
|
|
64
|
-
* Tags and notes for csv exporting ( dumped as YAML inline format )
|
65
66
|
* Convert Date to (ISO 8601 + UTC) in search filter. Currently search results are out of alignment.
|
66
67
|
* Default filter
|
67
68
|
|
data/Rakefile
CHANGED
@@ -31,7 +31,7 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
|
|
31
31
|
spec.pattern = FileList['spec/**/*_spec.rb']
|
32
32
|
end
|
33
33
|
|
34
|
-
RSpec::Core::RakeTask.new(:
|
34
|
+
RSpec::Core::RakeTask.new(:simplecov) do |spec|
|
35
35
|
spec.pattern = 'spec/**/*_spec.rb'
|
36
36
|
spec.rcov = true
|
37
37
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
data/gyunyu.gemspec
CHANGED
@@ -4,15 +4,15 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.3.
|
7
|
+
s.name = "gyunyu"
|
8
|
+
s.version = "0.3.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = [
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
15
|
-
s.executables = [
|
11
|
+
s.authors = ["wtnabe"]
|
12
|
+
s.date = "2012-09-29"
|
13
|
+
s.description = "now available export command"
|
14
|
+
s.email = "wtnabe@gmail.com"
|
15
|
+
s.executables = ["gyunyu"]
|
16
16
|
s.extra_rdoc_files = [
|
17
17
|
"LICENSE.txt",
|
18
18
|
"README.rdoc"
|
@@ -46,17 +46,18 @@ Gem::Specification.new do |s|
|
|
46
46
|
"spec/app/command_spec.rb",
|
47
47
|
"spec/app/expander_spec.rb",
|
48
48
|
"spec/spec_helper.rb",
|
49
|
+
"spec/support/app_export.rb",
|
49
50
|
"spec/support/task_raw_data.rb",
|
50
51
|
"spec/token/token_spec.rb",
|
51
52
|
"tasks/git.rake",
|
52
53
|
"tasks/spec.rake",
|
53
54
|
"tmp/.gitkeep"
|
54
55
|
]
|
55
|
-
s.homepage =
|
56
|
-
s.licenses = [
|
57
|
-
s.require_paths = [
|
58
|
-
s.rubygems_version =
|
59
|
-
s.summary =
|
56
|
+
s.homepage = "http://github.com/wtnabe/gyunyu"
|
57
|
+
s.licenses = ["MIT"]
|
58
|
+
s.require_paths = ["lib"]
|
59
|
+
s.rubygems_version = "1.8.23"
|
60
|
+
s.summary = "Simple RTM app for CLI"
|
60
61
|
|
61
62
|
if s.respond_to? :specification_version then
|
62
63
|
s.specification_version = 3
|
@@ -65,32 +66,32 @@ Gem::Specification.new do |s|
|
|
65
66
|
s.add_runtime_dependency(%q<rtmilk>, [">= 0"])
|
66
67
|
s.add_runtime_dependency(%q<xml-simple>, [">= 0"])
|
67
68
|
s.add_runtime_dependency(%q<rtm-time>, [">= 0.2.0"])
|
68
|
-
s.add_development_dependency(%q<rspec>, ["
|
69
|
-
s.add_development_dependency(%q<bundler>, ["
|
70
|
-
s.add_development_dependency(%q<jeweler>, ["
|
69
|
+
s.add_development_dependency(%q<rspec>, ["> 2"])
|
70
|
+
s.add_development_dependency(%q<bundler>, [">= 0"])
|
71
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
71
72
|
s.add_development_dependency(%q<yard>, [">= 0"])
|
72
|
-
s.add_development_dependency(%q<
|
73
|
+
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
73
74
|
s.add_development_dependency(%q<rr>, [">= 0"])
|
74
75
|
else
|
75
76
|
s.add_dependency(%q<rtmilk>, [">= 0"])
|
76
77
|
s.add_dependency(%q<xml-simple>, [">= 0"])
|
77
78
|
s.add_dependency(%q<rtm-time>, [">= 0.2.0"])
|
78
|
-
s.add_dependency(%q<rspec>, ["
|
79
|
-
s.add_dependency(%q<bundler>, ["
|
80
|
-
s.add_dependency(%q<jeweler>, ["
|
79
|
+
s.add_dependency(%q<rspec>, ["> 2"])
|
80
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
81
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
81
82
|
s.add_dependency(%q<yard>, [">= 0"])
|
82
|
-
s.add_dependency(%q<
|
83
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
83
84
|
s.add_dependency(%q<rr>, [">= 0"])
|
84
85
|
end
|
85
86
|
else
|
86
87
|
s.add_dependency(%q<rtmilk>, [">= 0"])
|
87
88
|
s.add_dependency(%q<xml-simple>, [">= 0"])
|
88
89
|
s.add_dependency(%q<rtm-time>, [">= 0.2.0"])
|
89
|
-
s.add_dependency(%q<rspec>, ["
|
90
|
-
s.add_dependency(%q<bundler>, ["
|
91
|
-
s.add_dependency(%q<jeweler>, ["
|
90
|
+
s.add_dependency(%q<rspec>, ["> 2"])
|
91
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
92
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
92
93
|
s.add_dependency(%q<yard>, [">= 0"])
|
93
|
-
s.add_dependency(%q<
|
94
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
94
95
|
s.add_dependency(%q<rr>, [">= 0"])
|
95
96
|
end
|
96
97
|
end
|
data/lib/gyunyu.rb
CHANGED
@@ -9,8 +9,8 @@ module Gyunyu
|
|
9
9
|
def initialize
|
10
10
|
@argv ||= ARGV
|
11
11
|
@token ||= Gyunyu::Token.get
|
12
|
-
@lists ||= RTM::List.alive_all
|
13
12
|
|
13
|
+
_init_lists
|
14
14
|
_init_option( @argv )
|
15
15
|
end
|
16
16
|
attr_reader :option, :token, :lists
|
@@ -36,6 +36,13 @@ module Gyunyu
|
|
36
36
|
Format.const_get(format)
|
37
37
|
end
|
38
38
|
|
39
|
+
#
|
40
|
+
# [return] Array
|
41
|
+
#
|
42
|
+
def _init_lists
|
43
|
+
@lists ||= RTM::List.alive_all
|
44
|
+
end
|
45
|
+
|
39
46
|
#
|
40
47
|
# [param] Array argv
|
41
48
|
# [return] Option
|
@@ -11,6 +11,7 @@ module Gyunyu
|
|
11
11
|
module Export
|
12
12
|
module Format
|
13
13
|
module Csv
|
14
|
+
@tags = []
|
14
15
|
@num_tags = nil
|
15
16
|
@num_notes = nil
|
16
17
|
|
@@ -23,7 +24,9 @@ module Gyunyu
|
|
23
24
|
tasks.each { |t|
|
24
25
|
csv << fields.map { |f|
|
25
26
|
case f
|
26
|
-
when 'tags'
|
27
|
+
when 'tags'
|
28
|
+
t[f] = expand_tags( t[f] )
|
29
|
+
when 'notes'
|
27
30
|
num = instance_variable_get( "@num_#{f}" )
|
28
31
|
while t[f].size < num
|
29
32
|
t[f] += ['']
|
@@ -56,9 +59,8 @@ module Gyunyu
|
|
56
59
|
else
|
57
60
|
[]
|
58
61
|
end
|
59
|
-
|
60
|
-
|
61
|
-
end
|
62
|
+
update_tags_field( tags )
|
63
|
+
|
62
64
|
t['tags'] = tags.sort
|
63
65
|
|
64
66
|
t
|
@@ -80,6 +82,12 @@ module Gyunyu
|
|
80
82
|
t
|
81
83
|
end
|
82
84
|
|
85
|
+
def update_tags_field( tags )
|
86
|
+
@tags = (@tags | tags).sort
|
87
|
+
|
88
|
+
@num_tags = @tags.size
|
89
|
+
end
|
90
|
+
|
83
91
|
def expand_fields( fields )
|
84
92
|
fields.map { |e|
|
85
93
|
case e
|
@@ -95,6 +103,12 @@ module Gyunyu
|
|
95
103
|
end
|
96
104
|
}.flatten
|
97
105
|
end
|
106
|
+
|
107
|
+
def expand_tags( tags )
|
108
|
+
@tags.map { |e|
|
109
|
+
tags.include?(e) ? e : ''
|
110
|
+
}
|
111
|
+
end
|
98
112
|
end
|
99
113
|
end
|
100
114
|
end
|
@@ -4,7 +4,7 @@ require File.dirname(__FILE__) + '/../../../../spec_helper'
|
|
4
4
|
describe Gyunyu::Command::Export::Format::Csv do
|
5
5
|
csv_formatter = Gyunyu::Command::Export::Format::Csv
|
6
6
|
|
7
|
-
let(:app) {
|
7
|
+
let(:app) { app_export }
|
8
8
|
|
9
9
|
before {
|
10
10
|
stub(app).task_list { task_raw_data }
|
@@ -26,10 +26,10 @@ describe Gyunyu::Command::Export::Format::Csv do
|
|
26
26
|
}
|
27
27
|
it {
|
28
28
|
should == <<EOD
|
29
|
-
list,name,tags,""
|
30
|
-
仕事,jsのlintについて,research,writing
|
31
|
-
仕事,あの本読む,reading,""
|
32
|
-
仕事,この本読む,reading,""
|
29
|
+
list,name,tags,"",""
|
30
|
+
仕事,jsのlintについて,"",research,writing
|
31
|
+
仕事,あの本読む,reading,"",""
|
32
|
+
仕事,この本読む,reading,"",""
|
33
33
|
EOD
|
34
34
|
}
|
35
35
|
end
|
data/spec/app/command_spec.rb
CHANGED
@@ -20,6 +20,12 @@ describe Gyunyu::Command do
|
|
20
20
|
describe 'dispatch' do
|
21
21
|
context 'correct command' do
|
22
22
|
before {
|
23
|
+
Gyunyu::Command::Export::App.class_eval {
|
24
|
+
def _init_lists
|
25
|
+
@lists = []
|
26
|
+
end
|
27
|
+
}
|
28
|
+
|
23
29
|
stub.instance_of(Gyunyu::Command::Export::App).run {
|
24
30
|
"`export' dispatched"
|
25
31
|
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
class TestingAppExport < Gyunyu::Command::Export::App
|
4
|
+
def _init_lists
|
5
|
+
@lists = [
|
6
|
+
RTM::List.new({ 'id' => '1234',
|
7
|
+
'name' => 'Inbox' }),
|
8
|
+
RTM::List.new({ 'id' => '2345',
|
9
|
+
'name' => '個人' }),
|
10
|
+
RTM::List.new({ 'id' => '3456',
|
11
|
+
'name' => '勉強' })
|
12
|
+
]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def app_export
|
17
|
+
app = TestingAppExport.new
|
18
|
+
end
|
data/tasks/spec.rake
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
namespace :spec do
|
4
4
|
Dir.glob( File.dirname(__FILE__) + '/../spec/*' ).select { |e|
|
5
|
-
File.directory? e
|
5
|
+
File.directory? e and File.basename( e ) != 'support'
|
6
6
|
}.each { |d|
|
7
7
|
RSpec::Core::RakeTask.new( File.basename( d ) ) { |spec|
|
8
8
|
spec.pattern = "#{d}/**/*.rb"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gyunyu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rtmilk
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: xml-simple
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rtm-time
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,43 +53,63 @@ dependencies:
|
|
43
53
|
version: 0.2.0
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.2.0
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rspec
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
|
-
- -
|
67
|
+
- - ! '>'
|
53
68
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2
|
69
|
+
version: '2'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>'
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '2'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: bundler
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
|
-
- -
|
83
|
+
- - ! '>='
|
64
84
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
85
|
+
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: jeweler
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
|
-
- -
|
99
|
+
- - ! '>='
|
75
100
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
101
|
+
version: '0'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: yard
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
93
|
-
requirement:
|
127
|
+
name: simplecov
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ! '>='
|
@@ -98,10 +133,15 @@ dependencies:
|
|
98
133
|
version: '0'
|
99
134
|
type: :development
|
100
135
|
prerelease: false
|
101
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
102
142
|
- !ruby/object:Gem::Dependency
|
103
143
|
name: rr
|
104
|
-
requirement:
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
105
145
|
none: false
|
106
146
|
requirements:
|
107
147
|
- - ! '>='
|
@@ -109,7 +149,12 @@ dependencies:
|
|
109
149
|
version: '0'
|
110
150
|
type: :development
|
111
151
|
prerelease: false
|
112
|
-
version_requirements:
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
113
158
|
description: now available export command
|
114
159
|
email: wtnabe@gmail.com
|
115
160
|
executables:
|
@@ -147,6 +192,7 @@ files:
|
|
147
192
|
- spec/app/command_spec.rb
|
148
193
|
- spec/app/expander_spec.rb
|
149
194
|
- spec/spec_helper.rb
|
195
|
+
- spec/support/app_export.rb
|
150
196
|
- spec/support/task_raw_data.rb
|
151
197
|
- spec/token/token_spec.rb
|
152
198
|
- tasks/git.rake
|
@@ -167,7 +213,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
167
213
|
version: '0'
|
168
214
|
segments:
|
169
215
|
- 0
|
170
|
-
hash:
|
216
|
+
hash: 3332948423612070695
|
171
217
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
218
|
none: false
|
173
219
|
requirements:
|
@@ -176,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
176
222
|
version: '0'
|
177
223
|
requirements: []
|
178
224
|
rubyforge_project:
|
179
|
-
rubygems_version: 1.8.
|
225
|
+
rubygems_version: 1.8.23
|
180
226
|
signing_key:
|
181
227
|
specification_version: 3
|
182
228
|
summary: Simple RTM app for CLI
|