trollo 0.2.1 → 0.2.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 +7 -0
- data/lib/generators/active_record/templates/migration.rb +2 -2
- data/lib/trollo/board.rb +15 -0
- data/lib/trollo/card.rb +5 -1
- data/lib/trollo/list.rb +0 -15
- data/lib/trollo/version.rb +1 -1
- data/spec/internal/db/schema.rb +2 -2
- data/spec/lib/trollo/board_spec.rb +28 -0
- metadata +7 -23
- data/spec/lib/trollo/list_spec.rb +0 -28
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: bd5e2d080cd0c578f65d74cb53a6aaa90aef9434
|
4
|
+
data.tar.gz: 48d020cfed27768c4e382596f5e5846625ef4fbc
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 3d1824a4f6675db5fa8b93806718fba42500d97cb51aa382282128a95196d2332e673a6def19cf06bcce0f75211d09fdce14a38a9b4fec08d9a462d51b91804e
|
7
|
+
data.tar.gz: 9109e88cf09179fa217d80d04719a3caba889aadfa482224d98dca5750f27b249c6c1256d4d2a53e3d601997c79cd0160d76a19c395560cbe0764f386f36186f
|
@@ -54,9 +54,9 @@ class CreateTrolloTables < ActiveRecord::Migration
|
|
54
54
|
t.string :name
|
55
55
|
end
|
56
56
|
|
57
|
-
create_table :
|
57
|
+
create_table :trollo_boards_labels do |t|
|
58
|
+
t.references :board
|
58
59
|
t.references :label
|
59
|
-
t.references :list
|
60
60
|
end
|
61
61
|
|
62
62
|
create_table :trollo_cards_labels do |t|
|
data/lib/trollo/board.rb
CHANGED
@@ -3,6 +3,7 @@ module Trollo
|
|
3
3
|
class Board < ActiveRecord::Base
|
4
4
|
has_many :lists, order: 'ordinal ASC', dependent: :destroy
|
5
5
|
has_many :subscriptions, dependent: :destroy
|
6
|
+
has_and_belongs_to_many :labels, join_table: 'trollo_boards_labels'
|
6
7
|
attr_accessible :name
|
7
8
|
|
8
9
|
def tasks
|
@@ -18,6 +19,20 @@ module Trollo
|
|
18
19
|
def overdue_tasks
|
19
20
|
incomplete_tasks.overdue
|
20
21
|
end
|
22
|
+
|
23
|
+
def add_label(name)
|
24
|
+
return if has_label?(name)
|
25
|
+
label = Label.where(name: name).first || Label.create!(name: name)
|
26
|
+
self.labels << label
|
27
|
+
end
|
28
|
+
|
29
|
+
def remove_label(name)
|
30
|
+
self.labels -= Label.where(name: name)
|
31
|
+
end
|
32
|
+
|
33
|
+
def has_label?(name)
|
34
|
+
labels.pluck(:name).include?(name)
|
35
|
+
end
|
21
36
|
end
|
22
37
|
|
23
38
|
end
|
data/lib/trollo/card.rb
CHANGED
@@ -45,6 +45,10 @@ module Trollo
|
|
45
45
|
return if has_label?(name)
|
46
46
|
label = Label.where(name: name).first || Label.create!(name: name)
|
47
47
|
self.labels << label
|
48
|
+
|
49
|
+
if self.list && self.list.board
|
50
|
+
self.list.board.add_label(name)
|
51
|
+
end
|
48
52
|
end
|
49
53
|
|
50
54
|
def remove_label(name)
|
@@ -52,7 +56,7 @@ module Trollo
|
|
52
56
|
end
|
53
57
|
|
54
58
|
def has_label?(name)
|
55
|
-
labels.
|
59
|
+
labels.pluck(:name).include?(name)
|
56
60
|
end
|
57
61
|
|
58
62
|
end
|
data/lib/trollo/list.rb
CHANGED
@@ -3,26 +3,11 @@ module Trollo
|
|
3
3
|
class List < ActiveRecord::Base
|
4
4
|
belongs_to :board
|
5
5
|
has_many :cards, order: 'due_at ASC', dependent: :destroy
|
6
|
-
has_and_belongs_to_many :labels, join_table: 'trollo_labels_lists'
|
7
6
|
attr_accessible :name
|
8
7
|
|
9
8
|
def named(name)
|
10
9
|
where(name: name).first
|
11
10
|
end
|
12
|
-
|
13
|
-
def add_label(name)
|
14
|
-
return if has_label?(name)
|
15
|
-
label = Label.where(name: name).first || Label.create!(name: name)
|
16
|
-
self.labels << label
|
17
|
-
end
|
18
|
-
|
19
|
-
def remove_label(name)
|
20
|
-
self.labels -= Label.where(name: name)
|
21
|
-
end
|
22
|
-
|
23
|
-
def has_label?(name)
|
24
|
-
labels.map(&:name).include?(name)
|
25
|
-
end
|
26
11
|
end
|
27
12
|
|
28
13
|
end
|
data/lib/trollo/version.rb
CHANGED
data/spec/internal/db/schema.rb
CHANGED
@@ -53,9 +53,9 @@ ActiveRecord::Schema.define do
|
|
53
53
|
t.string :name
|
54
54
|
end
|
55
55
|
|
56
|
-
create_table :
|
56
|
+
create_table :trollo_boards_labels do |t|
|
57
|
+
t.references :board
|
57
58
|
t.references :label
|
58
|
-
t.references :list
|
59
59
|
end
|
60
60
|
|
61
61
|
create_table :trollo_cards_labels do |t|
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Trollo::Board do
|
4
|
+
|
5
|
+
it "can be labelled" do
|
6
|
+
board = Trollo::Board.create!
|
7
|
+
|
8
|
+
expect{board.add_label('Bug')}.to change{Trollo::Label.count}.by(1)
|
9
|
+
expect{board.add_label('Bug')}.to change{Trollo::Label.count}.by(0)
|
10
|
+
expect{board.add_label('Bug')}.to change{board.labels.count}.by(0)
|
11
|
+
|
12
|
+
board.labels.map(&:name).should == ['Bug']
|
13
|
+
end
|
14
|
+
|
15
|
+
it "can have labels removed" do
|
16
|
+
board = Trollo::Board.create!
|
17
|
+
|
18
|
+
board.add_label('Bug')
|
19
|
+
board.add_label('Tree')
|
20
|
+
board.add_label('Foo')
|
21
|
+
|
22
|
+
expect{board.remove_label('Bug')}.to change{Trollo::Label.count}.by(0)
|
23
|
+
expect{board.remove_label('Tree')}.to change{board.labels.count}.by(-1)
|
24
|
+
|
25
|
+
board.labels.map(&:name).should == ['Foo']
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trollo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Douglas Anderson
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-08-07 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activesupport
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ! '>='
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: activerecord
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: i18n
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ! '>='
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ! '>='
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,7 +55,6 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: workflow
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ! '>='
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ! '>='
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,7 +69,6 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: acts_as_commentable
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - '='
|
84
74
|
- !ruby/object:Gem::Version
|
@@ -86,7 +76,6 @@ dependencies:
|
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - '='
|
92
81
|
- !ruby/object:Gem::Version
|
@@ -94,7 +83,6 @@ dependencies:
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: combustion
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
87
|
- - ~>
|
100
88
|
- !ruby/object:Gem::Version
|
@@ -102,7 +90,6 @@ dependencies:
|
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
94
|
- - ~>
|
108
95
|
- !ruby/object:Gem::Version
|
@@ -110,7 +97,6 @@ dependencies:
|
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: database_cleaner
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
101
|
- - ~>
|
116
102
|
- !ruby/object:Gem::Version
|
@@ -118,7 +104,6 @@ dependencies:
|
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
108
|
- - ~>
|
124
109
|
- !ruby/object:Gem::Version
|
@@ -155,34 +140,33 @@ files:
|
|
155
140
|
- spec/internal/db/schema.rb
|
156
141
|
- spec/internal/log/.gitignore
|
157
142
|
- spec/internal/public/favicon.ico
|
143
|
+
- spec/lib/trollo/board_spec.rb
|
158
144
|
- spec/lib/trollo/card_spec.rb
|
159
|
-
- spec/lib/trollo/list_spec.rb
|
160
145
|
- spec/lib/trollo/task_spec.rb
|
161
146
|
- spec/spec_helper.rb
|
162
147
|
- trollo.gemspec
|
163
148
|
homepage: https://github.com/teachme2/trollo
|
164
149
|
licenses: []
|
150
|
+
metadata: {}
|
165
151
|
post_install_message:
|
166
152
|
rdoc_options: []
|
167
153
|
require_paths:
|
168
154
|
- lib
|
169
155
|
required_ruby_version: !ruby/object:Gem::Requirement
|
170
|
-
none: false
|
171
156
|
requirements:
|
172
157
|
- - ! '>='
|
173
158
|
- !ruby/object:Gem::Version
|
174
159
|
version: '0'
|
175
160
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
|
-
none: false
|
177
161
|
requirements:
|
178
162
|
- - ! '>='
|
179
163
|
- !ruby/object:Gem::Version
|
180
164
|
version: '0'
|
181
165
|
requirements: []
|
182
166
|
rubyforge_project: trollo
|
183
|
-
rubygems_version:
|
167
|
+
rubygems_version: 2.4.1
|
184
168
|
signing_key:
|
185
|
-
specification_version:
|
169
|
+
specification_version: 4
|
186
170
|
summary: A trollo gem.
|
187
171
|
test_files:
|
188
172
|
- spec/README
|
@@ -191,7 +175,7 @@ test_files:
|
|
191
175
|
- spec/internal/db/schema.rb
|
192
176
|
- spec/internal/log/.gitignore
|
193
177
|
- spec/internal/public/favicon.ico
|
178
|
+
- spec/lib/trollo/board_spec.rb
|
194
179
|
- spec/lib/trollo/card_spec.rb
|
195
|
-
- spec/lib/trollo/list_spec.rb
|
196
180
|
- spec/lib/trollo/task_spec.rb
|
197
181
|
- spec/spec_helper.rb
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Trollo::List do
|
4
|
-
|
5
|
-
it "can be labelled" do
|
6
|
-
list = Trollo::List.create!
|
7
|
-
|
8
|
-
expect{list.add_label('Bug')}.to change{Trollo::Label.count}.by(1)
|
9
|
-
expect{list.add_label('Bug')}.to change{Trollo::Label.count}.by(0)
|
10
|
-
expect{list.add_label('Bug')}.to change{list.labels.count}.by(0)
|
11
|
-
|
12
|
-
list.labels.map(&:name).should == ['Bug']
|
13
|
-
end
|
14
|
-
|
15
|
-
it "can have labels removed" do
|
16
|
-
list = Trollo::List.create!
|
17
|
-
|
18
|
-
list.add_label('Bug')
|
19
|
-
list.add_label('Tree')
|
20
|
-
list.add_label('Foo')
|
21
|
-
|
22
|
-
expect{list.remove_label('Bug')}.to change{Trollo::Label.count}.by(0)
|
23
|
-
expect{list.remove_label('Tree')}.to change{list.labels.count}.by(-1)
|
24
|
-
|
25
|
-
list.labels.map(&:name).should == ['Foo']
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|