sredder 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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[:date] &&
21
- options[:title] &&
21
+ ( options[:title] &&
22
22
  options[:message] &&
23
23
  options[:hours]
24
24
  ) || (
@@ -1,6 +1,5 @@
1
1
  require 'oauth'
2
2
  require 'forwardable'
3
- require 'debugger'
4
3
 
5
4
  module Sredder
6
5
 
data/lib/sredder/util.rb CHANGED
@@ -2,9 +2,12 @@ module Sredder
2
2
 
3
3
  module Util
4
4
 
5
- # Wrike expects this "yyyy-MM-dd'T'HH:mm.ss"
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 %R.00')
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
@@ -1,3 +1,3 @@
1
1
  module Sredder
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -1,6 +1,5 @@
1
1
  require 'oauth'
2
2
  require 'forwardable'
3
- require 'debugger'
4
3
 
5
4
  module Sredder
6
5
 
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
- if request.success?
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
- request.json["task"]["id"] if request.success?
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
@@ -1,5 +1,4 @@
1
1
  require 'spec_helper'
2
- # require 'debugger'
3
2
 
4
3
  RSpec.configure do |config|
5
4
  config.before :all do
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
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-21 00:00:00.000000000 Z
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