sequel-bit_fields 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/sequel/plugins/bit_fields.rb +19 -19
- metadata +2 -2
@@ -3,33 +3,33 @@ require 'sequel'
|
|
3
3
|
module Sequel::Plugins
|
4
4
|
module BitFields
|
5
5
|
def self.configure(model, bit_field_column, bit_fields, options = {})
|
6
|
-
model.
|
6
|
+
model.class_eval do
|
7
7
|
@@bit_fields ||= {}
|
8
8
|
@@bit_fields[bit_field_column] = bit_fields
|
9
|
+
end
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
end
|
11
|
+
unless model.respond_to?(:bit_fields)
|
12
|
+
model.send(:define_singleton_method, :bit_fields) do |*args|
|
13
|
+
if column_name = [*args].first
|
14
|
+
@@bit_fields[column_name]
|
15
|
+
else
|
16
|
+
@@bit_fields
|
17
17
|
end
|
18
18
|
end
|
19
|
+
end
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
@@bit_fields[column_name].each_with_index do |attribute, i|
|
26
|
-
hash[attribute.to_sym] = 2**i
|
27
|
-
end
|
21
|
+
unless model.respond_to?(:bit_field_indexes_for)
|
22
|
+
model.send(:define_singleton_method, :bit_field_indexes_for) do |*args|
|
23
|
+
if column_name = [*args].first
|
24
|
+
hash = {}
|
28
25
|
|
29
|
-
|
30
|
-
|
31
|
-
raise 'No bit field name was passed!'
|
26
|
+
@@bit_fields[column_name].each_with_index do |attribute, i|
|
27
|
+
hash[attribute.to_sym] = 2**i
|
32
28
|
end
|
29
|
+
|
30
|
+
hash
|
31
|
+
else
|
32
|
+
raise 'No bit field name was passed!'
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequel-bit_fields
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -49,7 +49,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
49
49
|
version: '0'
|
50
50
|
segments:
|
51
51
|
- 0
|
52
|
-
hash:
|
52
|
+
hash: 1844713943839378308
|
53
53
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
54
54
|
none: false
|
55
55
|
requirements:
|