activerecord_flag_support 0.0.4 → 0.0.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d562acb00d0fa680763204e2000fdd87b059128f
4
- data.tar.gz: c416028f896ed8fee7e0227e459ffb7b93eb2969
3
+ metadata.gz: d2ab4aae40053c831b9990f2bb27e8c9011e9c12
4
+ data.tar.gz: 6383b9841b92f073c839e8e67b3b496dab6cba0b
5
5
  SHA512:
6
- metadata.gz: f2359e686b7036ee95a3f5363a675db060732b2084ab59d49c882adf1bc5a5fe65cfe04a74ed14c7859f3b43945283c6f85b74de18dd0fd7bc1b434c18bfc3ca
7
- data.tar.gz: aa94fa873a676bd31757d0218ecb0633d686106801d0b6c4861d676e9ce0be65f40714f55642bf1bfed44a350371cd770269b4bc2db7114c272c2fe20a257309
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
- # ------------------------------------------------------------------- set_flag
42
- def set_flag( field, value, bit_field )
43
- if value && ActiveRecord::ConnectionAdapters::Column.value_to_boolean( value )
44
- ( send(field).to_i | bit_field )
45
- else
46
- ( send(field).to_i & (~bit_field) )
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord_flag_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Palmblad