trello_lead_time 0.0.1 → 0.1.0

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: a25cde3ef1f75314cce048dcb11f087905d8f9c1
4
- data.tar.gz: 616f613d0eb115cf779a7aff107f88186fd33019
3
+ metadata.gz: ebb46d164441714720302263800024ee5fc651cd
4
+ data.tar.gz: 3105c32a61a10087082469f5e665a397e66d2e26
5
5
  SHA512:
6
- metadata.gz: dd7741923539d8c0b86fd10c95c9cd9858e04ad78a7abab39d6d61f9d740e21d921d5c855ba1f558410490fe9c623968b8ef3efaccaeacae9ce8be042df9bc50
7
- data.tar.gz: 4ba87e3d671cfb5a6ac9324809ad49c9eab3d83dee0d8e51d5c9eb3fa6d958a74283e52a021df63a39b88cafcd865a9b6a335e55dc3a7bf278ccaf649e0da039
6
+ metadata.gz: c58c18473e497d0bd1938b63dd01b6547c649539fc037c363561503b648a05eed5ae825f6b3df255e220a15010d1ff3a04e6c42cca32254b8505e8f30976fd18
7
+ data.tar.gz: b208697cb6bc6e399dc43c6ca2e86f0708940ccca139ec07d60e0e23420ab1adf1643fdc1f593fed2ce94a1e856114458a3d86fa3e97ad5900dae29e849ff8e6
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trello_lead_time (0.0.1)
4
+ trello_lead_time (0.1.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -0,0 +1,11 @@
1
+ module TrelloLeadTime
2
+ module ArraySearcher
3
+ def find_name_like(elements, name)
4
+ elements.detect { |element| element_matches_expression?(element, name) }
5
+ end
6
+
7
+ def element_matches_expression?(element, expression)
8
+ element =~ /#{Regexp.quote(expression)}/
9
+ end
10
+ end
11
+ end
@@ -1,5 +1,6 @@
1
1
  module TrelloLeadTime
2
2
  class Board
3
+ include ArraySearcher
3
4
 
4
5
  def self.from_url(url)
5
6
  @org = Trello::Organization.find(TrelloLeadTime::Config.organization_name)
@@ -47,8 +48,9 @@ module TrelloLeadTime
47
48
  private
48
49
 
49
50
  def find_list_by_name(name)
50
- if !@_lists.has_key?(name)
51
- trello_list = @trello_board.lists({filter: 'all'}).detect { |l| l.name == name }
51
+ matched_name = find_name_like(@_lists.keys, name)
52
+ if matched_name.nil?
53
+ trello_list = @trello_board.lists({filter: 'all'}).detect { |l| element_matches_expression?(l.name, name) }
52
54
  @_lists[name] = TrelloLeadTime::List.from_trello_list(trello_list) if trello_list
53
55
  end
54
56
  @_lists[name]
@@ -1,5 +1,7 @@
1
1
  module TrelloLeadTime
2
2
  class Timeline
3
+ include ArraySearcher
4
+
3
5
  def self.for_trello_card(trello_card)
4
6
  Timeline.new(trello_card)
5
7
  end
@@ -31,7 +33,7 @@ module TrelloLeadTime
31
33
  end
32
34
 
33
35
  def seconds_in_list(list_name)
34
- matched_list = @_seconds_in_list.values.detect { |list| list[:list_name] == list_name }
36
+ matched_list = @_seconds_in_list.values.detect { |list| element_matches_expression?(list[:list_name], list_name) }
35
37
  return matched_list[:seconds_in_list] if !matched_list.nil?
36
38
  0
37
39
  end
@@ -1,3 +1,3 @@
1
1
  module TrelloLeadTime
2
- VERSION = '0.0.1'
2
+ VERSION = '0.1.0'
3
3
  end
@@ -8,7 +8,7 @@
8
8
  "id": "3333"
9
9
  },
10
10
  "listBefore": {
11
- "name": "Acceptance",
11
+ "name": "Acceptance [5]",
12
12
  "id": "5555"
13
13
  },
14
14
  "board": {
@@ -42,11 +42,11 @@
42
42
  "idMemberCreator": "1234",
43
43
  "data": {
44
44
  "listAfter": {
45
- "name": "Acceptance",
45
+ "name": "Acceptance [5]",
46
46
  "id": "5555"
47
47
  },
48
48
  "listBefore": {
49
- "name": "Development",
49
+ "name": "Development [3]",
50
50
  "id": "2222"
51
51
  },
52
52
  "board": {
@@ -80,7 +80,7 @@
80
80
  "idMemberCreator": "1234",
81
81
  "data": {
82
82
  "listAfter": {
83
- "name": "Development",
83
+ "name": "Development [3]",
84
84
  "id": "2222"
85
85
  },
86
86
  "listBefore": {
@@ -123,7 +123,7 @@
123
123
  "id": "1234"
124
124
  },
125
125
  "list": {
126
- "name": "Product Backlog",
126
+ "name": "Product Backlog [6]",
127
127
  "id": "1111"
128
128
  },
129
129
  "card": {
@@ -8,7 +8,7 @@
8
8
  "id": "3333"
9
9
  },
10
10
  "listBefore": {
11
- "name": "Acceptance",
11
+ "name": "Acceptance [3]",
12
12
  "id": "5555"
13
13
  },
14
14
  "board": {
@@ -42,11 +42,11 @@
42
42
  "idMemberCreator": "1234",
43
43
  "data": {
44
44
  "listAfter": {
45
- "name": "Acceptance",
45
+ "name": "Acceptance [3]",
46
46
  "id": "5555"
47
47
  },
48
48
  "listBefore": {
49
- "name": "Development",
49
+ "name": "Development [2]",
50
50
  "id": "2222"
51
51
  },
52
52
  "board": {
@@ -80,7 +80,7 @@
80
80
  "idMemberCreator": "1234",
81
81
  "data": {
82
82
  "listAfter": {
83
- "name": "Development",
83
+ "name": "Development [2]",
84
84
  "id": "2222"
85
85
  },
86
86
  "listBefore": {
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe TrelloLeadTime::ArraySearcher do
4
+ describe "array searcher" do
5
+ let(:elements) { ["Development [4]", "Acceptance [3]", "Done for 2014-05-05"] }
6
+ subject { Object.new.extend TrelloLeadTime::ArraySearcher }
7
+
8
+ it "should find a name" do
9
+ expect(subject.find_name_like(elements, "Development")).to eq("Development [4]")
10
+ end
11
+
12
+ it "matches name with expression" do
13
+ subject.element_matches_expression?("Development [4]", "Development").should be_true
14
+ end
15
+ end
16
+ end
@@ -20,4 +20,5 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.5"
22
22
  spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "ruby-trello"
23
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trello_lead_time
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Baldwin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-17 00:00:00.000000000 Z
11
+ date: 2014-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ruby-trello
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  description: ''
42
56
  email:
43
57
  - scottsbaldwin@gmail.com
@@ -56,6 +70,7 @@ files:
56
70
  - Rakefile
57
71
  - lib/trello_lead_time.rb
58
72
  - lib/trello_lead_time/action.rb
73
+ - lib/trello_lead_time/array_searcher.rb
59
74
  - lib/trello_lead_time/board.rb
60
75
  - lib/trello_lead_time/card.rb
61
76
  - lib/trello_lead_time/config.rb
@@ -73,6 +88,7 @@ files:
73
88
  - spec/fixtures/cards.json
74
89
  - spec/fixtures/lists.json
75
90
  - spec/fixtures/organization.json
91
+ - spec/lib/trello_lead_time/array_matcher_spec.rb
76
92
  - spec/lib/trello_lead_time/board_spec.rb
77
93
  - spec/lib/trello_lead_time/card_spec.rb
78
94
  - spec/lib/trello_lead_time/config_spec.rb
@@ -115,6 +131,7 @@ test_files:
115
131
  - spec/fixtures/cards.json
116
132
  - spec/fixtures/lists.json
117
133
  - spec/fixtures/organization.json
134
+ - spec/lib/trello_lead_time/array_matcher_spec.rb
118
135
  - spec/lib/trello_lead_time/board_spec.rb
119
136
  - spec/lib/trello_lead_time/card_spec.rb
120
137
  - spec/lib/trello_lead_time/config_spec.rb