activerecord_flag_support 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/activerecord_flag_support.rb +22 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2ab4aae40053c831b9990f2bb27e8c9011e9c12
|
4
|
+
data.tar.gz: 6383b9841b92f073c839e8e67b3b496dab6cba0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d545fe9127ca32c9fa4548839136dd7a87831c50f3349ec625def500ab7eb7fc1f3c084730baadd7e40ed33f617e26181bf03877be0ae4d5933f00400563c046
|
7
|
+
data.tar.gz: ba116e2040d88e88dee720c28bb8cda02d127ccfc2b746df0ebf86a9141906c9ebc2ddac09f4c953e1bd1c1f644ec80a6107f8167baf797c70fd9526ab7bd5ad
|
@@ -38,15 +38,29 @@ module ActiveRecordFlagSupport
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
module FlagInstanceMethods
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
41
|
+
activerecord_flag_support
|
42
|
+
if ActiveRecord::ConnectionAdapters::Column.respond_to?( :value_to_boolean )
|
43
|
+
# ------------------------------------------------------------------- set_flag
|
44
|
+
def set_flag( field, value, bit_field )
|
45
|
+
if value && ActiveRecord::ConnectionAdapters::Column.value_to_boolean( value )
|
46
|
+
( send(field).to_i | bit_field )
|
47
|
+
else
|
48
|
+
( send(field).to_i & (~bit_field) )
|
49
|
+
end
|
50
|
+
self.send( "#{field}=", value )
|
51
|
+
attributes_before_type_cast[field] = value
|
52
|
+
end
|
53
|
+
else
|
54
|
+
# ------------------------------------------------------------------- set_flag
|
55
|
+
def set_flag( field, value, bit_field )
|
56
|
+
if value && ActiveRecord::Type::Boolean.send( :cast_value, value )
|
57
|
+
( send(field).to_i | bit_field )
|
58
|
+
else
|
59
|
+
( send(field).to_i & (~bit_field) )
|
60
|
+
end
|
61
|
+
self.send( "#{field}=", value )
|
62
|
+
attributes_before_type_cast[field] = value
|
47
63
|
end
|
48
|
-
self.send( "#{field}=", value )
|
49
|
-
attributes_before_type_cast[field] = value
|
50
64
|
end
|
51
65
|
end
|
52
66
|
end
|