timetrello 1.0.1 → 1.0.2
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.
- checksums.yaml +4 -4
- data/lib/time_trello.rb +1 -1
- data/lib/time_trello/activity_record.rb +3 -0
- data/lib/time_trello/duration.rb +16 -6
- data/lib/time_trello/parser.rb +5 -6
- data/lib/time_trello/report.rb +4 -1
- data/lib/time_trello/trello_driver.rb +2 -1
- data/lib/time_trello/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9eb8a024baf17269e1034ddf6366a34d1e8c7f6e
|
4
|
+
data.tar.gz: aa906e7ada1ada537f36becaac9c6e7079fca65c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 270d966db6ef5a09c33d8c7d0f1d6e07b5fc945d4ddae229c48f95ea57f880d4521cd32d319ba59ca7d56c6f3a1cd823fc23349cb43f2eda58c31d39f0ca376f
|
7
|
+
data.tar.gz: e23e7339d760f98f74212364c015d56e5a1ecb078bcb711e5135e9433bfd53027bc273b3e2bd777f6c74eb222bef4ddc1672b4e9f51aea95fc8f44a5e53723ac
|
data/lib/time_trello.rb
CHANGED
@@ -46,7 +46,7 @@ module TimeTrello
|
|
46
46
|
# Private: Getter for a report instance. Guarantees only one single instance
|
47
47
|
# available for caching optimization.
|
48
48
|
def self.report(start_date, end_date, board_id)
|
49
|
-
if @report
|
49
|
+
if @report.nil?
|
50
50
|
@report = Report.new(start_date, end_date, board_id, @prefix)
|
51
51
|
else
|
52
52
|
# Updates report parameters
|
@@ -29,6 +29,8 @@ module TimeTrello
|
|
29
29
|
attr_accessor :start_date
|
30
30
|
# Public: Task comment
|
31
31
|
attr_accessor :task_description
|
32
|
+
# Public: Card Name
|
33
|
+
attr_accessor :card_name
|
32
34
|
|
33
35
|
# Public: Initializes this class with proper information about a given task
|
34
36
|
#
|
@@ -44,6 +46,7 @@ module TimeTrello
|
|
44
46
|
@project = args[3]
|
45
47
|
@start_date = args[4]
|
46
48
|
@task_description = args[5]
|
49
|
+
@card_name = args[6]
|
47
50
|
end
|
48
51
|
end
|
49
52
|
|
data/lib/time_trello/duration.rb
CHANGED
@@ -28,7 +28,7 @@ module TimeTrello
|
|
28
28
|
def initialize(*args)
|
29
29
|
@internal_seconds = 0
|
30
30
|
time_components = args
|
31
|
-
if args.size == 1 && args[0].
|
31
|
+
if args.size == 1 && args[0].kind_of?(String)
|
32
32
|
time_components = args[0].split(/[:.]/)
|
33
33
|
end
|
34
34
|
factor = 3600
|
@@ -40,24 +40,29 @@ module TimeTrello
|
|
40
40
|
|
41
41
|
# Public: Getter. Returns the number of hours from a given duration
|
42
42
|
def hours
|
43
|
-
@internal_seconds
|
43
|
+
@internal_seconds / 3600
|
44
44
|
end
|
45
45
|
|
46
46
|
# Public: Getter. Returns the number of minutes from the internal representation
|
47
47
|
def minutes
|
48
|
-
(@internal_seconds
|
48
|
+
(@internal_seconds / 60) % 60
|
49
49
|
end
|
50
50
|
|
51
51
|
# Public: Getter. Returns the number of seconds of a given duration
|
52
52
|
def seconds
|
53
|
-
@internal_seconds
|
53
|
+
@internal_seconds % 60
|
54
54
|
end
|
55
55
|
|
56
56
|
# Public: Getter. Returns the number of raw minutes of a given duration
|
57
57
|
#
|
58
58
|
# Important: This is a float value, since it is a raw value
|
59
59
|
def raw_minutes
|
60
|
-
@internal_seconds.
|
60
|
+
@internal_seconds.to_f / 60.0
|
61
|
+
end
|
62
|
+
|
63
|
+
# Public: Getter. Returns the raw seconds for a given duration.
|
64
|
+
def raw_seconds
|
65
|
+
@internal_seconds
|
61
66
|
end
|
62
67
|
|
63
68
|
# Public: Operator overload. Sums up two different instances of Duration
|
@@ -80,7 +85,7 @@ module TimeTrello
|
|
80
85
|
# integer division.
|
81
86
|
def -(other)
|
82
87
|
duration = Duration.new(0)
|
83
|
-
duration.internal_seconds = @internal_seconds - other.internal_seconds
|
88
|
+
duration.internal_seconds = (@internal_seconds - other.internal_seconds).abs
|
84
89
|
|
85
90
|
duration
|
86
91
|
end
|
@@ -92,6 +97,11 @@ module TimeTrello
|
|
92
97
|
def to_s
|
93
98
|
"#{hours}:#{minutes}.#{seconds}"
|
94
99
|
end
|
100
|
+
|
101
|
+
# Public: Let a developer to inspect this class instance
|
102
|
+
def inspect
|
103
|
+
self.to_s
|
104
|
+
end
|
95
105
|
end
|
96
106
|
|
97
107
|
end
|
data/lib/time_trello/parser.rb
CHANGED
@@ -70,16 +70,15 @@ module TimeTrello
|
|
70
70
|
!activity.start_date.nil?
|
71
71
|
end,
|
72
72
|
|
73
|
-
# Parses the task comment
|
73
|
+
# Parses the task comment and card name
|
74
74
|
lambda do |action_record, activity|
|
75
|
-
txt_comment = action_record[:action].data["text"].scan(/"[
|
75
|
+
txt_comment = action_record[:action].data["text"].scan(/"[\w\W\s]+"/)
|
76
76
|
if txt_comment.size != 0
|
77
|
-
activity.task_description = txt_comment
|
78
|
-
else
|
79
|
-
activity.task_description = action_record[:action].card.name
|
77
|
+
activity.task_description = txt_comment.first.delete("\"")
|
80
78
|
end
|
79
|
+
activity.card_name = action_record[:action].card.name
|
81
80
|
|
82
|
-
!activity.task_description.nil?
|
81
|
+
!activity.card_name.nil? || !activity.task_description.nil?
|
83
82
|
end,
|
84
83
|
|
85
84
|
# Parses the task id
|
data/lib/time_trello/report.rb
CHANGED
@@ -64,10 +64,13 @@ module TimeTrello
|
|
64
64
|
result_set
|
65
65
|
end
|
66
66
|
|
67
|
+
# Public: Setter. Overrides the board_id setter in order to re-initialize
|
68
|
+
# the driver properly with new settings.
|
67
69
|
def board_id=(board_id)
|
68
70
|
if board_id != @board_id
|
69
71
|
@board_id = board_id
|
70
|
-
|
72
|
+
# Forces the driver reload with the new settings
|
73
|
+
@driver = nil
|
71
74
|
end
|
72
75
|
end
|
73
76
|
|
@@ -79,7 +79,7 @@ module TimeTrello
|
|
79
79
|
@activities = []
|
80
80
|
self.board.cards.each do |card|
|
81
81
|
card.actions.each do |action|
|
82
|
-
member = self.members.first
|
82
|
+
member = self.members.select { |member| member.id == action.member_creator_id }.first
|
83
83
|
action_record = {action: action, member: member}
|
84
84
|
activity = self.parser.parse(action_record)
|
85
85
|
@activities.push(activity) unless activity.nil?
|
@@ -93,6 +93,7 @@ module TimeTrello
|
|
93
93
|
def reset_cache
|
94
94
|
@activities = nil
|
95
95
|
@board = nil
|
96
|
+
@members = nil
|
96
97
|
end
|
97
98
|
end
|
98
99
|
end
|
data/lib/time_trello/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timetrello
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Caio Tarifa
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-04-
|
12
|
+
date: 2016-04-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ruby-trello
|