sredder 0.0.5 → 0.0.6
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/lib/sredder/arg_parser.rb +2 -2
- data/lib/sredder/github_auth.rb +0 -1
- data/lib/sredder/util.rb +6 -3
- data/lib/sredder/version.rb +1 -1
- data/lib/sredder/wrike_auth.rb +0 -1
- data/lib/sredder.rb +26 -6
- data/spec/spec_helper.rb +0 -1
- metadata +2 -2
data/lib/sredder/arg_parser.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'optparse'
|
2
2
|
require 'optparse/time'
|
3
|
+
require 'debugger'
|
3
4
|
|
4
5
|
module Sredder
|
5
6
|
class ArgParser
|
@@ -17,8 +18,7 @@ module Sredder
|
|
17
18
|
end
|
18
19
|
|
19
20
|
def valid?
|
20
|
-
( options[:
|
21
|
-
options[:title] &&
|
21
|
+
( options[:title] &&
|
22
22
|
options[:message] &&
|
23
23
|
options[:hours]
|
24
24
|
) || (
|
data/lib/sredder/github_auth.rb
CHANGED
data/lib/sredder/util.rb
CHANGED
@@ -2,9 +2,12 @@ module Sredder
|
|
2
2
|
|
3
3
|
module Util
|
4
4
|
|
5
|
-
|
5
|
+
### Old: Wrike expects this "yyyy-MM-dd'T'HH:mm.ss"
|
6
|
+
### time.strftime('%Y-%m-%d %R.00')
|
7
|
+
#
|
8
|
+
# Wrike expects this "yyyy-MM-dd"
|
6
9
|
def self.time_stamp(time = Time.now)
|
7
|
-
time.strftime('%Y-%m-%d
|
10
|
+
time.strftime('%Y-%m-%d')
|
8
11
|
end
|
9
12
|
|
10
13
|
# just block execution until the user hits ENTER
|
@@ -15,4 +18,4 @@ module Sredder
|
|
15
18
|
|
16
19
|
end
|
17
20
|
|
18
|
-
end
|
21
|
+
end
|
data/lib/sredder/version.rb
CHANGED
data/lib/sredder/wrike_auth.rb
CHANGED
data/lib/sredder.rb
CHANGED
@@ -6,9 +6,12 @@ require "sredder/wrike_auth"
|
|
6
6
|
require "sredder/wrike_request"
|
7
7
|
require "sredder/github_auth"
|
8
8
|
require "sredder/github_request"
|
9
|
+
require 'debugger'
|
9
10
|
|
10
11
|
module Sredder
|
11
12
|
|
13
|
+
# When debugging, comment out the validate! call and use something like...
|
14
|
+
# > Sredder.run_command(['-t Hello', '-m Message', '-h3'])
|
12
15
|
def self.run_command(argv)
|
13
16
|
args_parser = ArgParser.new
|
14
17
|
args_parser.parse(argv)
|
@@ -42,13 +45,13 @@ module Sredder
|
|
42
45
|
request = WrikeRequest.new(access)
|
43
46
|
request.post('/api/json/v2/wrike.folder.tree', {})
|
44
47
|
regex = Regexp.new(Regexp.escape("SRED Time Tracking/#{folder}"))
|
45
|
-
|
48
|
+
|
49
|
+
if request.json["error"]
|
50
|
+
puts request.json["error"]
|
51
|
+
else
|
46
52
|
request.json["foldersTree"]["folders"].each_with_object([]) do |folder, arr|
|
47
53
|
arr << folder['id'].to_i if folder['fullPath'] =~ regex
|
48
54
|
end
|
49
|
-
else
|
50
|
-
puts request.json
|
51
|
-
puts 'Invalid response from Wrike'
|
52
55
|
end
|
53
56
|
end
|
54
57
|
|
@@ -61,18 +64,34 @@ module Sredder
|
|
61
64
|
status: 1,
|
62
65
|
parents: parent_folder_ids
|
63
66
|
})
|
64
|
-
|
67
|
+
|
68
|
+
if request.json["error"]
|
69
|
+
puts "#{request.json["error"]["code"]}: #{request.json["error"]["message"]}"
|
70
|
+
else
|
71
|
+
puts "Task Entry #: #{request.json["task"]["id"]}"
|
72
|
+
puts "Title: #{request.json["task"]["title"]}"
|
73
|
+
puts "Message: #{request.json["task"]["description"]}"
|
74
|
+
request.json["task"]["id"]
|
75
|
+
end
|
65
76
|
end
|
66
77
|
|
67
78
|
# Attaches a timelog entry to a Wrike task
|
68
79
|
def self.create_timelog(access, date, task_id, hours, comment='')
|
69
80
|
request = WrikeRequest.new(access)
|
81
|
+
|
70
82
|
request.post('/api/json/v2/wrike.timelog.add', {
|
71
83
|
date: date,
|
72
84
|
taskId: task_id,
|
73
85
|
hours: hours,
|
74
86
|
comment: comment
|
75
87
|
})
|
88
|
+
|
89
|
+
if request.json["error"]
|
90
|
+
puts "#{request.json["error"]["code"]}: #{request.json["error"]["message"]}"
|
91
|
+
else
|
92
|
+
puts "Timelog Entry #: #{request.json["timelog"]["id"]}"
|
93
|
+
puts "On #{request.json["timelog"]["date"]} for #{request.json["timelog"]["hours"]} hours with comment: '#{request.json["timelog"]["comment"]}'"
|
94
|
+
end
|
76
95
|
end
|
77
96
|
|
78
97
|
### Github
|
@@ -84,7 +103,8 @@ module Sredder
|
|
84
103
|
request.get("https://api.github.com/repos/cloudClinic/cloudClinic-Server/pulls/#{options[:github_id]}")
|
85
104
|
|
86
105
|
options[:title] = request.json["title"]
|
87
|
-
options[:message] = request.json["body"]
|
106
|
+
options[:message] = request.json["body"].gsub("\n", "<br>")
|
107
|
+
options[:date] = Util.time_stamp(Time.parse(request.json["created_at"]))
|
88
108
|
|
89
109
|
options
|
90
110
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
name: sredder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Matthew Robertson
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
version_requirements: !ruby/object:Gem::Requirement
|