evados-tracker 0.2.1 → 0.2.2

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: 82536553d06ffde22ecc1c9f9b9f2617f0974eb0
4
- data.tar.gz: b71458ef71e3e4b0d4e6fd0734e9549ab23c493e
3
+ metadata.gz: 8768cfaf56bb541d670cd67ff0c58330a6128a59
4
+ data.tar.gz: 2cbc29a89f420153a95137b05232b0aa2e4f1153
5
5
  SHA512:
6
- metadata.gz: 251aad0a2b4e31eb712344e179fdd3daa800394e16290cfec3f6e5191705c06cb2278e70d7eb70ef6b732f209481493661f441c7437a847fba3a3358a72658e2
7
- data.tar.gz: 114069961fe55af332329f419cbab2ac2af06a1df39181c3ab77f1c82721942ab5aca7717429f570159d498cdb86beacccb13cdeaf622df9abac83fbe644d3f2
6
+ metadata.gz: cfda633fb6f0591ee9bcd4653efdc51d215ffbde467cb04b0a4f75918963b4f8de20991344d2bd8600486fd50dde99bfe838adf29e561eeacd8c636ced20e550
7
+ data.tar.gz: cc1e13ca59a4781f4453a7e31cb9025c5e6cb7db878e5ba5f10dfed93335819dd5449588f499dd64844f68d76bff7615fe9c119e8b19aaf693792b3bcf4d2ada
data/bin/et CHANGED
@@ -4,8 +4,10 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
4
 
5
5
  require 'thor'
6
6
  require 'evados_tracker'
7
+ require 'json'
7
8
 
8
9
  PATH_TO_KEY = Dir.home + "/.evados-tracker/.key"
10
+ PATH_TO_PREV_ISSUE = Dir.home + "/.evados-tracker/prev_issue.json"
9
11
 
10
12
  class CLI < Thor
11
13
  def initialize(a, b, c)
@@ -25,17 +27,35 @@ class CLI < Thor
25
27
  method_options :a => :boolean
26
28
  def start(task_num)
27
29
  check_rescue do
30
+ @tracker.current_issue_id = @tracker.numerated_list["#{task_num}"]['id']
31
+ @prev_issue = { @tracker.current_issue_id => @tracker.numerated_list[task_num.to_s]['title'] }
32
+ hash_to_json
28
33
  begin
29
- @tracker.current_isssue_id = @tracker.numerated_list["#{task_num}"]['id']
30
- pomodoro = @tracker.create_pomodoro
31
- @tracker.pomodoro_id = pomodoro["id"]
32
- puts "You started doing #{@tracker.numerated_list[task_num.to_s]['title']}"
33
- one_pomodoro_iteration
34
+ do_pomodoro(@tracker.numerated_list[task_num.to_s]['title'])
35
+ end while options[:a]
36
+ end
37
+ end
38
+
39
+ desc "resume", "resume to previous task, with key -a start autocontinue"
40
+ method_options :a => :boolean
41
+ def resume
42
+ check_rescue do
43
+ @prev_issue = json_to_hash
44
+ @tracker.current_issue_id = @prev_issue.keys.first
45
+ begin
46
+ do_pomodoro(@prev_issue[@prev_issue.keys.first])
34
47
  end while options[:a]
35
48
  end
36
49
  end
37
50
 
38
51
  private ##############
52
+ def do_pomodoro(issue_title)
53
+ pomodoro = @tracker.create_pomodoro
54
+ @tracker.pomodoro_id = pomodoro["id"]
55
+ puts "You started doing #{issue_title}"
56
+ one_pomodoro_iteration
57
+ end
58
+
39
59
  def check_for_response_error(response)
40
60
  if response.is_a? Hash
41
61
  case response["error"]
@@ -65,14 +85,18 @@ private ##############
65
85
  progressbar = ProgressBar.create( :format => '%a %bᗧ%i %p%% %t',
66
86
  :progress_mark => ' ',
67
87
  :remainder_mark => '・',
68
- :title => "Break")
69
- 100.times { sleep(3); progressbar.refresh; progressbar.increment; }
88
+ :title => "Break",
89
+ :start => 0,
90
+ :total => 300)
91
+ 300.times { sleep(1); progressbar.refresh; progressbar.increment; }
70
92
  end
71
93
 
72
94
  def display_25_minutes_timer
73
95
  progressbar = ProgressBar.create( :format => '%a %b %p%% %t',
74
- :title => "Work")
75
- 100.times { sleep(15); progressbar.refresh; progressbar.increment; }
96
+ :title => "Work",
97
+ :start => 0,
98
+ :total => 1500)
99
+ 1500.times { sleep(1); progressbar.refresh; progressbar.increment; }
76
100
  end
77
101
 
78
102
  def get_key!
@@ -96,6 +120,20 @@ private ##############
96
120
  puts "\nBye!"
97
121
  end
98
122
  end
123
+
124
+ def hash_to_json
125
+ File.delete(PATH_TO_PREV_ISSUE) if File.exists?(PATH_TO_PREV_ISSUE)
126
+ File.open(PATH_TO_PREV_ISSUE, "a+") { |f| f.write @prev_issue.to_json }
127
+ end
128
+
129
+ def json_to_hash
130
+ if File.exists? PATH_TO_PREV_ISSUE
131
+ JSON.parse(IO.read PATH_TO_PREV_ISSUE)
132
+ else
133
+ p "Haven't any previous issues. Start to do issue. 'et start {issue_number}'"
134
+ abort
135
+ end
136
+ end
99
137
  end
100
138
 
101
139
  CLI.start(ARGV)
@@ -3,11 +3,11 @@ require 'ruby-progressbar'
3
3
 
4
4
  module EvadosTracker
5
5
  class Core
6
- attr_accessor :numerated_list, :current_isssue_id, :pomodoro_id, :key
6
+ attr_accessor :numerated_list, :current_issue_id, :pomodoro_id, :key
7
7
 
8
8
  def initialize(key)
9
9
  @key = key
10
- @current_isssue_id
10
+ @current_issue_id
11
11
  @pomodoro_id
12
12
  @numerated_list = {}
13
13
  end
@@ -22,21 +22,21 @@ module EvadosTracker
22
22
 
23
23
  def create_pomodoro
24
24
  check_rescue do
25
- @pomodoro_id = HTTParty.post("http://pm.evados.com/api/v1/issues/" + "#{@current_isssue_id}" +
25
+ @pomodoro_id = HTTParty.post("http://pm.evados.com/api/v1/issues/" + "#{@current_issue_id}" +
26
26
  "/pomodoros.json?auth_token=" + "#{@key}")
27
27
  end
28
28
  end
29
29
 
30
30
  def commit_pomodoro
31
31
  check_rescue do
32
- response = HTTParty.put("http://pm.evados.com/api/v1/issues/" + "#{@current_isssue_id}" +
32
+ response = HTTParty.put("http://pm.evados.com/api/v1/issues/" + "#{@current_issue_id}" +
33
33
  "/pomodoros/" + "#{@pomodoro_id}" + ".json?auth_token=" + "#{@key}")
34
34
  end
35
35
  end
36
36
 
37
37
  def delete_pomodoro
38
38
  check_rescue do
39
- response = HTTParty.delete("http://pm.evados.com/api/v1/issues/" + "#{@current_isssue_id}" +
39
+ response = HTTParty.delete("http://pm.evados.com/api/v1/issues/" + "#{@current_issue_id}" +
40
40
  "/pomodoros/" + "#{@pomodoro_id}" + ".json?auth_token=" + "#{@key}")
41
41
  end
42
42
  end
@@ -1,3 +1,3 @@
1
1
  module EvadosTracker
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evados-tracker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seva Rybakov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-18 00:00:00.000000000 Z
12
+ date: 2014-03-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty