bitswitch 1.0.4 → 1.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.
@@ -1,3 +1,3 @@
1
1
  module Bitswitch
2
- VERSION = "1.0.4"
2
+ VERSION = "1.0.5"
3
3
  end
data/lib/bitswitch.rb CHANGED
@@ -35,10 +35,11 @@ class BitSwitch
35
35
 
36
36
  # Set a bit
37
37
  def []=(bit, val)
38
- val = val > 0
38
+ val = val == true if val.is_a?(TrueClass)
39
+ val = val > 0 if val.is_a?(Fixnum)
39
40
 
40
41
  # If a string representation of a bit was provided get the numerical
41
- bit.to_s if bit.is_a?(Symbol)
42
+ bit = bit.to_s if bit.is_a?(Symbol)
42
43
  bit = @labels.invert[bit] if bit.is_a?(String)
43
44
 
44
45
  # If nil return false
@@ -56,7 +57,7 @@ class BitSwitch
56
57
  def [](bit)
57
58
 
58
59
  # If a string representation of a bit was provided get the numerical
59
- bit.to_s if bit.is_a?(Symbol)
60
+ bit = bit.to_s if bit.is_a?(Symbol)
60
61
  bit = @labels.invert[bit] if bit.is_a?(String)
61
62
 
62
63
  # If nil return false
@@ -109,6 +110,16 @@ class BitSwitch
109
110
  # Return the serialized BitSwitch
110
111
  serialized
111
112
  end
113
+
114
+ # Method missing for args access
115
+ def method_missing(method, *args)
116
+ if method[-1] == '='
117
+ method = method[0..-2]
118
+ return self[method] = args.first
119
+ end
120
+
121
+ self[method]
122
+ end
112
123
  end
113
124
 
114
125
  # Convert Fixnum to Switch
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitswitch
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-06 00:00:00.000000000 Z
12
+ date: 2012-12-09 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Have you ever wanted to store multiple true/false values in your database,
15
15
  but annoyed with how many fields your tables have, then BitSwitcher is good for