flag_shih_tzu 0.3.6 → 0.3.7
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/flag_shih_tzu.rb +5 -5
- data/lib/flag_shih_tzu/version.rb +1 -1
- data/test/flag_shih_tzu_test.rb +4 -0
- 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: 3c9ecb9654411ac0213bcc2e6c0942dcc12142c1
|
4
|
+
data.tar.gz: 29cb7d8958165e9fb98929e71a658ed8fdbf338b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28d35a352d8668e8bdcf8c0d1397b1c5052ae3262aaddc01d85f8f51e650fdee25c4d5928411d85bac44be4267e9619f36fa3369a309ce230641049681527657
|
7
|
+
data.tar.gz: ee18826fd3dabd765164a8dbfeeb36bab661d62bcbecc6615a297f5b5dd7cb751bca7c9744276105c344ac8cd1d4ab8dbb43b00fc00d3fba5d46ca6e784ad7fa
|
data/lib/flag_shih_tzu.rb
CHANGED
@@ -208,12 +208,13 @@ module FlagShihTzu
|
|
208
208
|
|
209
209
|
private
|
210
210
|
|
211
|
-
def
|
212
|
-
flag_mapping[colmn].values.max
|
211
|
+
def flag_value_range_for_column(colmn)
|
212
|
+
max = flag_mapping[colmn].values.max
|
213
|
+
Range.new(0, (2 * max) - 1)
|
213
214
|
end
|
214
215
|
|
215
216
|
def chained_flags_values(colmn, *args)
|
216
|
-
val = (
|
217
|
+
val = flag_value_range_for_column(colmn).to_a
|
217
218
|
args.each do |flag|
|
218
219
|
neg = false
|
219
220
|
if flag.to_s.match /^not_/
|
@@ -296,8 +297,7 @@ module FlagShihTzu
|
|
296
297
|
# returns an array of integers suitable for a SQL IN statement.
|
297
298
|
def sql_in_for_flag(flag, colmn)
|
298
299
|
val = flag_mapping[colmn][flag]
|
299
|
-
|
300
|
-
(1..num).select {|i| i & val == val}
|
300
|
+
flag_value_range_for_column(colmn).select {|i| i & val == val}
|
301
301
|
end
|
302
302
|
|
303
303
|
def sql_set_for_flag(flag, colmn, enabled = true, custom_table_name = self.table_name)
|
data/test/flag_shih_tzu_test.rb
CHANGED
@@ -396,11 +396,15 @@ class FlagShihTzuClassMethodsTest < Test::Unit::TestCase
|
|
396
396
|
spaceship_3.enable_flag(:shields)
|
397
397
|
spaceship_3.save!
|
398
398
|
spaceship_3.reload
|
399
|
+
spaceship_4 = Spaceship.new
|
400
|
+
spaceship_4.save!
|
401
|
+
spaceship_4.reload
|
399
402
|
assert_equal 2, Spaceship.chained_flags_with("flags", :warpdrive).count
|
400
403
|
assert_equal 1, Spaceship.chained_flags_with("flags", :warpdrive, :shields).count
|
401
404
|
assert_equal 1, Spaceship.chained_flags_with("flags", :warpdrive, :not_shields).count
|
402
405
|
assert_equal 0, Spaceship.chained_flags_with("flags", :not_warpdrive, :shields, :electrolytes).count
|
403
406
|
assert_equal 1, Spaceship.chained_flags_with("flags", :not_warpdrive, :shields, :not_electrolytes).count
|
407
|
+
assert_equal 1, Spaceship.chained_flags_with("flags", :not_warpdrive, :not_shields, :not_electrolytes).count
|
404
408
|
end
|
405
409
|
|
406
410
|
def test_should_not_define_named_scopes_if_not_wanted
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flag_shih_tzu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Boling
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2013-
|
15
|
+
date: 2013-10-25 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activerecord
|