test_redmine_vz 0.0.24
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/.gitignore +18 -0
- data/Gemfile +4 -0
- data/README.md +71 -0
- data/Rakefile +20 -0
- data/config/currency_iso.json +2532 -0
- data/doc/CHANGELOG +55 -0
- data/doc/LICENSE.txt +339 -0
- data/lib/redmine_crm.rb +67 -0
- data/lib/redmine_crm/currency.rb +439 -0
- data/lib/redmine_crm/currency/formatting.rb +227 -0
- data/lib/redmine_crm/currency/heuristics.rb +151 -0
- data/lib/redmine_crm/currency/loader.rb +24 -0
- data/lib/redmine_crm/helpers/tags_helper.rb +15 -0
- data/lib/redmine_crm/helpers/vote_helper.rb +38 -0
- data/lib/redmine_crm/liquid/drops/issues_drop.rb +61 -0
- data/lib/redmine_crm/liquid/drops/news_drop.rb +45 -0
- data/lib/redmine_crm/liquid/drops/projects_drop.rb +78 -0
- data/lib/redmine_crm/liquid/drops/users_drop.rb +59 -0
- data/lib/redmine_crm/liquid/filters.rb +85 -0
- data/lib/redmine_crm/money_helper.rb +67 -0
- data/lib/redmine_crm/rcrm_acts_as_taggable.rb +342 -0
- data/lib/redmine_crm/rcrm_acts_as_viewed.rb +287 -0
- data/lib/redmine_crm/rcrm_acts_as_votable.rb +79 -0
- data/lib/redmine_crm/rcrm_acts_as_voter.rb +27 -0
- data/lib/redmine_crm/tag.rb +81 -0
- data/lib/redmine_crm/tag_list.rb +112 -0
- data/lib/redmine_crm/tagging.rb +20 -0
- data/lib/redmine_crm/version.rb +3 -0
- data/lib/redmine_crm/votable.rb +334 -0
- data/lib/redmine_crm/vote.rb +30 -0
- data/lib/redmine_crm/voter.rb +136 -0
- data/redmine_crm.gemspec +22 -0
- data/test/acts_as_taggable_test.rb +384 -0
- data/test/currency_test.rb +292 -0
- data/test/database.yml +17 -0
- data/test/fixtures/issue.rb +14 -0
- data/test/fixtures/issues.yml +12 -0
- data/test/fixtures/taggings.yml +32 -0
- data/test/fixtures/tags.yml +11 -0
- data/test/fixtures/user.rb +7 -0
- data/test/fixtures/users.yml +5 -0
- data/test/fixtures/votable_caches.yml +2 -0
- data/test/fixtures/votables.yml +4 -0
- data/test/fixtures/vote_classes.rb +54 -0
- data/test/fixtures/voters.yml +6 -0
- data/test/liquid_test.rb +80 -0
- data/test/money_helper_test.rb +12 -0
- data/test/schema.rb +100 -0
- data/test/tag_test.rb +63 -0
- data/test/tagging_test.rb +14 -0
- data/test/tags_helper_test.rb +29 -0
- data/test/test_helper.rb +118 -0
- data/test/viewed_test.rb +45 -0
- data/test/votable_model_test.rb +478 -0
- data/test/votable_test.rb +17 -0
- data/test/vote_helper_test.rb +28 -0
- data/test/voter_model_test.rb +296 -0
- metadata +141 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class VotableTest < ActiveSupport::TestCase
|
4
|
+
def test_not_be_votable
|
5
|
+
assert !NotVotable.votable?, false
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_be_votable
|
9
|
+
assert Votable.votable?, true
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_behaves_like_votable_model
|
13
|
+
assert Voter.create(:name => 'i can vote!')
|
14
|
+
assert VotableCache.create(:name => 'voting model with cache')
|
15
|
+
assert VotableVoter.create(:name => 'i can vote too!')
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class VoteHelperTest < ActiveSupport::TestCase
|
4
|
+
def vote
|
5
|
+
RedmineCrm::ActsAsVotable::Vote.new
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_know_that_like_is_a_true_vote
|
9
|
+
assert vote.votable_words.that_mean_true.include? "like"
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_know_that_bad_is_a_false_vote
|
13
|
+
assert vote.votable_words.that_mean_false.include? "bad"
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_be_a_vote_for_true_when_word_is_good
|
17
|
+
assert vote.votable_words.meaning_of('good')
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_be_a_vote_for_false_when_word_is_down
|
21
|
+
assert !vote.votable_words.meaning_of('down')
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_be_a_vote_for_true_when_the_word_is_unknown
|
25
|
+
assert vote.votable_words.meaning_of('lsdhklkadhfs')
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,296 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class VoterModelTest < ActiveSupport::TestCase
|
4
|
+
def votable
|
5
|
+
votables(:votable)
|
6
|
+
end
|
7
|
+
|
8
|
+
def voter
|
9
|
+
voters(:voter)
|
10
|
+
end
|
11
|
+
|
12
|
+
def votable_cache
|
13
|
+
votable_caches(:votable_cache)
|
14
|
+
end
|
15
|
+
|
16
|
+
def votable_klass
|
17
|
+
votable.class
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_be_voted_on_after_a_voter_has_voted
|
21
|
+
votable.vote_by :voter => voter
|
22
|
+
assert voter.voted_on?(votable)
|
23
|
+
assert voter.voted_for?(votable)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_not_be_voted_on_if_a_voter_has_not_voted
|
27
|
+
assert !voter.voted_on?(votable)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_be_voted_on_after_a_voter_has_voted_under_scope
|
31
|
+
votable.vote_by :voter => voter, :vote_scope => 'rank'
|
32
|
+
assert voter.voted_on?(votable, :vote_scope => 'rank')
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_not_be_voted_on_other_scope_after_a_voter_has_voted_under_one_scope
|
36
|
+
votable.vote_by(:voter => voter, :vote_scope => 'rank')
|
37
|
+
assert !voter.voted_on?(votable)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_be_voted_as_true_when_a_voter_has_voted_true
|
41
|
+
votable.vote_by(:voter => voter)
|
42
|
+
assert voter.voted_as_when_voted_on(votable)
|
43
|
+
assert voter.voted_as_when_voted_for(votable)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_be_voted_as_true_when_a_voter_has_voted_true_under_scope
|
47
|
+
votable.vote_by(:voter => voter, :vote_scope => 'rank')
|
48
|
+
assert voter.voted_as_when_voted_for(votable, :vote_scope => 'rank')
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_be_voted_as_false_when_a_voter_has_voted_false
|
52
|
+
votable.vote_by(:voter => voter, :vote => false)
|
53
|
+
assert !voter.voted_as_when_voted_for(votable)
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_be_voted_as_false_when_a_voter_has_voted_false_under_scope
|
57
|
+
votable.vote_by(:voter => voter, :vote => false, :vote_scope => 'rank')
|
58
|
+
assert !voter.voted_as_when_voted_for(votable, :vote_scope => 'rank')
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_be_voted_as_nil_when_a_voter_has_never_voted
|
62
|
+
assert_equal voter.voted_as_when_voting_on(votable), nil
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_be_voted_as_nil_when_a_voter_has_never_voted_under_the_scope
|
66
|
+
votable.vote_by :voter => voter, :vote => false, :vote_scope => 'rank'
|
67
|
+
assert_equal voter.voted_as_when_voting_on(votable), nil
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_return_true_if_voter_has_voted_true
|
71
|
+
votable.vote_by(:voter => voter)
|
72
|
+
assert voter.voted_up_on?(votable)
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_return_false_if_voter_has_not_voted_true
|
76
|
+
votable.vote_by(:voter => voter, :vote => false)
|
77
|
+
assert !voter.voted_up_on?(votable)
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_return_true_if_the_voter_has_voted_false
|
81
|
+
votable.vote_by(:voter => voter, :vote => false)
|
82
|
+
assert voter.voted_down_on?(votable)
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_return_false_if_the_voter_has_not_voted_false
|
86
|
+
votable.vote_by(:voter => voter, :vote => true)
|
87
|
+
assert !voter.voted_down_on?(votable)
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_provide_reserve_functionality_voter_can_vote_on_votable
|
91
|
+
voter.vote(:votable => votable, :vote => 'bad')
|
92
|
+
assert !voter.voted_as_when_voting_on(votable)
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_allow_the_voter_to_vote_up_a_model
|
96
|
+
voter.vote_up_for(votable)
|
97
|
+
assert_equal votable.get_up_votes.first.voter, voter
|
98
|
+
assert_equal votable.votes_for.up.first.voter, voter
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_allow_the_voter_to_vote_down_a_model
|
102
|
+
voter.vote_down_for(votable)
|
103
|
+
assert_equal votable.get_down_votes.first.voter, voter
|
104
|
+
assert_equal votable.votes_for.down.first.voter, voter
|
105
|
+
end
|
106
|
+
|
107
|
+
def test_allow_the_voter_to_unvote_a_model
|
108
|
+
voter.vote_up_for(votable)
|
109
|
+
voter.unvote_for(votable)
|
110
|
+
assert_equal votable.find_votes_for.size, 0
|
111
|
+
assert_equal votable.votes_for.count, 0
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_get_all_of_the_voters_votes
|
115
|
+
voter.vote_up_for(votable)
|
116
|
+
assert_equal voter.find_votes.size, 1
|
117
|
+
assert_equal voter.votes.up.count, 1
|
118
|
+
end
|
119
|
+
|
120
|
+
def test_get_all_of_the_voters_up_votes
|
121
|
+
voter.vote_up_for(votable)
|
122
|
+
assert_equal voter.find_up_votes.size, 1
|
123
|
+
assert_equal voter.votes.up.count, 1
|
124
|
+
end
|
125
|
+
|
126
|
+
def test_get_all_of_the_voters_down_votes
|
127
|
+
voter.vote_down_for(votable)
|
128
|
+
assert_equal voter.find_down_votes.size, 1
|
129
|
+
assert_equal voter.votes.down.count, 1
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_get_all_of_the_votes_otes_for_a_class
|
133
|
+
votable.vote_by(:voter => voter)
|
134
|
+
votables(:votable2).vote_by(:voter => voter, :vote => false)
|
135
|
+
assert_equal voter.find_votes_for_class(votable_klass).size, 2
|
136
|
+
assert_equal voter.votes.for_type(votable_klass).count, 2
|
137
|
+
end
|
138
|
+
|
139
|
+
def test_get_all_of_the_voters_up_votes_for_a_class
|
140
|
+
votable.vote_by(:voter => voter)
|
141
|
+
votables(:votable2).vote_by( :voter => voter, :vote => false)
|
142
|
+
assert_equal voter.find_up_votes_for_class(votable_klass).size, 1
|
143
|
+
assert_equal voter.votes.up.for_type(votable_klass).count, 1
|
144
|
+
end
|
145
|
+
|
146
|
+
def test_get_all_of_the_voters_down_votes_for_a_class
|
147
|
+
votable.vote_by(:voter => voter)
|
148
|
+
votables(:votable2).vote_by( :voter => voter, :vote => false)
|
149
|
+
assert_equal voter.find_down_votes_for_class(votable_klass).size, 1
|
150
|
+
assert_equal voter.votes.down.for_type(votable_klass).count, 1
|
151
|
+
end
|
152
|
+
|
153
|
+
def test_be_contained_to_instances
|
154
|
+
voter.vote(:votable => votable, :vote => false)
|
155
|
+
voters(:voter2).vote(:votable => votable)
|
156
|
+
|
157
|
+
assert !voter.voted_as_when_voting_on(votable)
|
158
|
+
end
|
159
|
+
|
160
|
+
# describe '#find_voted_items
|
161
|
+
|
162
|
+
def test_returns_objects_that_a_user_has_upvoted_for
|
163
|
+
votable.vote_by(:voter => voter)
|
164
|
+
votables(:votable2).vote_by(:voter => voters(:voter2))
|
165
|
+
assert voter.find_voted_items.include? votable
|
166
|
+
assert_equal voter.find_voted_items.size, 1
|
167
|
+
end
|
168
|
+
|
169
|
+
def test_returns_objects_that_a_user_has_upvoted_for_using_scope
|
170
|
+
votable.vote_by(:voter => voter, :vote_scope => 'rank')
|
171
|
+
votables(:votable2).vote_by(:voter => voters(:voter2), :vote_scope => 'rank')
|
172
|
+
assert voter.find_voted_items(:vote_scope => 'rank').include? votable
|
173
|
+
assert_equal voter.find_voted_items(:vote_scope => 'rank').size, 1
|
174
|
+
end
|
175
|
+
|
176
|
+
def test_returns_objects_that_a_user_has_downvoted_for
|
177
|
+
votable.vote_down(voter)
|
178
|
+
votables(:votable2).vote_down(voters(:voter2))
|
179
|
+
assert voter.find_voted_items.include? votable
|
180
|
+
assert_equal voter.find_voted_items.size, 1
|
181
|
+
end
|
182
|
+
|
183
|
+
def test_returns_objects_that_a_user_has_downvoted_for_using_scope
|
184
|
+
votable.vote_down voter, :vote_scope => 'rank'
|
185
|
+
votables(:votable2).vote_down(voters(:voter2), :vote_scope => 'rank')
|
186
|
+
assert voter.find_voted_items(:vote_scope => 'rank').include? votable
|
187
|
+
assert_equal voter.find_voted_items(:vote_scope => 'rank').size, 1
|
188
|
+
end
|
189
|
+
|
190
|
+
# describe '#find_up_voted_items
|
191
|
+
def test_returns_objects_that_a_user_has_upvoted_for
|
192
|
+
votable.vote_by(:voter => voter)
|
193
|
+
votables(:votable2).vote_by :voter => voters(:voter2)
|
194
|
+
assert voter.find_up_voted_items.include? votable
|
195
|
+
assert_equal voter.find_up_voted_items.size, 1
|
196
|
+
assert voter.find_liked_items.include? votable
|
197
|
+
assert_equal voter.find_liked_items.size, 1
|
198
|
+
end
|
199
|
+
|
200
|
+
def test_returns_objects_that_a_user_has_upvoted_for_using_scope
|
201
|
+
votable.vote_by(:voter => voter, :vote_scope => 'rank')
|
202
|
+
votables(:votable2).vote_by(:voter => voters(:voter2), :vote_scope => 'rank')
|
203
|
+
assert voter.find_up_voted_items(:vote_scope => 'rank').include? votable
|
204
|
+
assert_equal voter.find_up_voted_items(:vote_scope => 'rank').size, 1
|
205
|
+
end
|
206
|
+
|
207
|
+
def test_does_not_return_objects_that_a_user_has_downvoted_for
|
208
|
+
votable.vote_down voter
|
209
|
+
assert_equal voter.find_up_voted_items.size, 0
|
210
|
+
end
|
211
|
+
|
212
|
+
def test_does_not_return_objects_that_a_user_has_downvoted_for_using_scope
|
213
|
+
votable.vote_down voter, :vote_scope => 'rank'
|
214
|
+
assert_equal voter.find_up_voted_items(:vote_scope => 'rank').size, 0
|
215
|
+
end
|
216
|
+
|
217
|
+
# describe '#find_down_voted_items
|
218
|
+
|
219
|
+
def test_does_not_return_objects_that_a_user_has_upvoted_for
|
220
|
+
votable.vote_by :voter => voter
|
221
|
+
assert_equal voter.find_down_voted_items.size, 0
|
222
|
+
end
|
223
|
+
|
224
|
+
def test_does_not_return_objects_that_a_user_has_upvoted_for_using_scope
|
225
|
+
votable.vote_by :voter => voter, :vote_scope => 'rank'
|
226
|
+
assert_equal voter.find_down_voted_items(:vote_scope => 'rank').size, 0
|
227
|
+
end
|
228
|
+
|
229
|
+
def test_returns_objects_that_a_user_has_downvoted_for
|
230
|
+
votable.vote_down voter
|
231
|
+
votables(:votable2).vote_down voters(:voter2)
|
232
|
+
assert voter.find_down_voted_items.include? votable
|
233
|
+
assert_equal voter.find_down_voted_items.size, 1
|
234
|
+
assert voter.find_disliked_items.include? votable
|
235
|
+
assert_equal voter.find_disliked_items.size, 1
|
236
|
+
end
|
237
|
+
|
238
|
+
def test_returns_objects_that_a_user_has_downvoted_for_using_scope
|
239
|
+
votable.vote_down voter, :vote_scope => 'rank'
|
240
|
+
votables(:votable2).vote_down voters(:voter2), :vote_scope => 'rank'
|
241
|
+
assert voter.find_down_voted_items(:vote_scope => 'rank').include? votable
|
242
|
+
assert_equal voter.find_down_voted_items(:vote_scope => 'rank').size, 1
|
243
|
+
end
|
244
|
+
|
245
|
+
# describe '#get_voted
|
246
|
+
def get_voted
|
247
|
+
voter.get_voted(votable.class)
|
248
|
+
end
|
249
|
+
|
250
|
+
def test_returns_objects_of_a_class_that_a_voter_has_voted_for
|
251
|
+
votable.vote_by :voter => voter
|
252
|
+
votables(:votable2).vote_down voter
|
253
|
+
assert get_voted.include? votable
|
254
|
+
assert get_voted.include? votables(:votable2)
|
255
|
+
assert_equal get_voted.size, 2
|
256
|
+
end
|
257
|
+
|
258
|
+
def test_does_not_return_objects_of_a_class_that_a_voter_has_voted_for
|
259
|
+
votable.vote_by :voter => voters(:voter2)
|
260
|
+
votables(:votable2).vote_by :voter => voters(:voter2)
|
261
|
+
assert_equal get_voted.size, 0
|
262
|
+
end
|
263
|
+
|
264
|
+
# describe '#get_up_voted
|
265
|
+
|
266
|
+
def get_up_voted
|
267
|
+
voter.get_up_voted(votable.class)
|
268
|
+
end
|
269
|
+
|
270
|
+
def test_returns_up_voted_items_that_a_voter_has_voted_for
|
271
|
+
votable.vote_by :voter => voter
|
272
|
+
assert get_up_voted.include? votable
|
273
|
+
assert_equal get_up_voted.size, 1
|
274
|
+
end
|
275
|
+
|
276
|
+
def test_does_not_return_down_voted_items_a_voter_has_voted_for
|
277
|
+
votable.vote_down voter
|
278
|
+
assert_equal get_up_voted.size, 0
|
279
|
+
end
|
280
|
+
|
281
|
+
# describe '#get_down_voted
|
282
|
+
def get_down_voted
|
283
|
+
voter.get_down_voted(votable.class)
|
284
|
+
end
|
285
|
+
|
286
|
+
def test_does_not_return_up_voted_items_that_a_voter_has_voted_for
|
287
|
+
votable.vote_by :voter => voter
|
288
|
+
assert_equal get_down_voted.size, 0
|
289
|
+
end
|
290
|
+
|
291
|
+
def test_returns_down_voted_items_a_voter_has_voted_for
|
292
|
+
votable.vote_down voter
|
293
|
+
assert get_down_voted.include? votable
|
294
|
+
assert_equal get_down_voted.size, 1
|
295
|
+
end
|
296
|
+
end
|
metadata
ADDED
@@ -0,0 +1,141 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: test_redmine_vz
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.24
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Redmine
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-01-05 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: liquid
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "<"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.6.4
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "<"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.6.4
|
27
|
+
description: Common libraries for RedmineCRM plugins for Redmine. Requered Redmine
|
28
|
+
from http://redmine.org
|
29
|
+
email:
|
30
|
+
- support@redminecrm.com
|
31
|
+
executables: []
|
32
|
+
extensions: []
|
33
|
+
extra_rdoc_files: []
|
34
|
+
files:
|
35
|
+
- ".gitignore"
|
36
|
+
- Gemfile
|
37
|
+
- README.md
|
38
|
+
- Rakefile
|
39
|
+
- config/currency_iso.json
|
40
|
+
- doc/CHANGELOG
|
41
|
+
- doc/LICENSE.txt
|
42
|
+
- lib/redmine_crm.rb
|
43
|
+
- lib/redmine_crm/currency.rb
|
44
|
+
- lib/redmine_crm/currency/formatting.rb
|
45
|
+
- lib/redmine_crm/currency/heuristics.rb
|
46
|
+
- lib/redmine_crm/currency/loader.rb
|
47
|
+
- lib/redmine_crm/helpers/tags_helper.rb
|
48
|
+
- lib/redmine_crm/helpers/vote_helper.rb
|
49
|
+
- lib/redmine_crm/liquid/drops/issues_drop.rb
|
50
|
+
- lib/redmine_crm/liquid/drops/news_drop.rb
|
51
|
+
- lib/redmine_crm/liquid/drops/projects_drop.rb
|
52
|
+
- lib/redmine_crm/liquid/drops/users_drop.rb
|
53
|
+
- lib/redmine_crm/liquid/filters.rb
|
54
|
+
- lib/redmine_crm/money_helper.rb
|
55
|
+
- lib/redmine_crm/rcrm_acts_as_taggable.rb
|
56
|
+
- lib/redmine_crm/rcrm_acts_as_viewed.rb
|
57
|
+
- lib/redmine_crm/rcrm_acts_as_votable.rb
|
58
|
+
- lib/redmine_crm/rcrm_acts_as_voter.rb
|
59
|
+
- lib/redmine_crm/tag.rb
|
60
|
+
- lib/redmine_crm/tag_list.rb
|
61
|
+
- lib/redmine_crm/tagging.rb
|
62
|
+
- lib/redmine_crm/version.rb
|
63
|
+
- lib/redmine_crm/votable.rb
|
64
|
+
- lib/redmine_crm/vote.rb
|
65
|
+
- lib/redmine_crm/voter.rb
|
66
|
+
- redmine_crm.gemspec
|
67
|
+
- test/acts_as_taggable_test.rb
|
68
|
+
- test/currency_test.rb
|
69
|
+
- test/database.yml
|
70
|
+
- test/fixtures/issue.rb
|
71
|
+
- test/fixtures/issues.yml
|
72
|
+
- test/fixtures/taggings.yml
|
73
|
+
- test/fixtures/tags.yml
|
74
|
+
- test/fixtures/user.rb
|
75
|
+
- test/fixtures/users.yml
|
76
|
+
- test/fixtures/votable_caches.yml
|
77
|
+
- test/fixtures/votables.yml
|
78
|
+
- test/fixtures/vote_classes.rb
|
79
|
+
- test/fixtures/voters.yml
|
80
|
+
- test/liquid_test.rb
|
81
|
+
- test/money_helper_test.rb
|
82
|
+
- test/schema.rb
|
83
|
+
- test/tag_test.rb
|
84
|
+
- test/tagging_test.rb
|
85
|
+
- test/tags_helper_test.rb
|
86
|
+
- test/test_helper.rb
|
87
|
+
- test/viewed_test.rb
|
88
|
+
- test/votable_model_test.rb
|
89
|
+
- test/votable_test.rb
|
90
|
+
- test/vote_helper_test.rb
|
91
|
+
- test/voter_model_test.rb
|
92
|
+
homepage: ''
|
93
|
+
licenses:
|
94
|
+
- GPL2
|
95
|
+
metadata: {}
|
96
|
+
post_install_message:
|
97
|
+
rdoc_options: []
|
98
|
+
require_paths:
|
99
|
+
- lib
|
100
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
requirements: []
|
111
|
+
rubyforge_project:
|
112
|
+
rubygems_version: 2.4.4
|
113
|
+
signing_key:
|
114
|
+
specification_version: 4
|
115
|
+
summary: Common libraries for RedmineCRM plugins for Redmine
|
116
|
+
test_files:
|
117
|
+
- test/acts_as_taggable_test.rb
|
118
|
+
- test/currency_test.rb
|
119
|
+
- test/database.yml
|
120
|
+
- test/fixtures/issue.rb
|
121
|
+
- test/fixtures/issues.yml
|
122
|
+
- test/fixtures/taggings.yml
|
123
|
+
- test/fixtures/tags.yml
|
124
|
+
- test/fixtures/user.rb
|
125
|
+
- test/fixtures/users.yml
|
126
|
+
- test/fixtures/votable_caches.yml
|
127
|
+
- test/fixtures/votables.yml
|
128
|
+
- test/fixtures/vote_classes.rb
|
129
|
+
- test/fixtures/voters.yml
|
130
|
+
- test/liquid_test.rb
|
131
|
+
- test/money_helper_test.rb
|
132
|
+
- test/schema.rb
|
133
|
+
- test/tag_test.rb
|
134
|
+
- test/tagging_test.rb
|
135
|
+
- test/tags_helper_test.rb
|
136
|
+
- test/test_helper.rb
|
137
|
+
- test/viewed_test.rb
|
138
|
+
- test/votable_model_test.rb
|
139
|
+
- test/votable_test.rb
|
140
|
+
- test/vote_helper_test.rb
|
141
|
+
- test/voter_model_test.rb
|