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 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