mongoid-state_bits 0.2.2 → 0.2.3

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: b331cda3a5f0873c5ec6b623720e96060ee354a4
4
- data.tar.gz: 68f897bf9d6c75d5698a3fa4e161f909b57433ef
3
+ metadata.gz: 8f663b1d207eaf1776e1bf070b6fe2c341130765
4
+ data.tar.gz: cf5763e5e8f7e7659c45bbcb6725c21452baa544
5
5
  SHA512:
6
- metadata.gz: d52b49eb58b4cd2b4c58c51cbf04a570d4af17aa6975ce1daa754e79bfe26817cc380f06aa4f48e2fba18ad1dbb0f3874f0856c879d5d7d1b685897d64bbc068
7
- data.tar.gz: 10674a6ab75dd57f96a3af0a15276a37816bbc67fec44a5b115fa411ce6f75e9851052dbb11f6933fc3f5e2ded13a66fb3eb2bb728ea492241240ee7f9bd730e
6
+ metadata.gz: a7ccb614becb163df66afdc19a804aa513979a0bfb8b2fde1205c816d73de34079b25e22409fbdbbc5991bb99af4d28e414c94bf0557c95560277b379ea76f53
7
+ data.tar.gz: 495030688da91754f187e049a37cf415c2d2ab4608b5848b8e9d8ffe689ad2bce431bd87a554f61ba5b6cf23825aebd0f7da5dce8a18c61ea8e70a09f934ac6b
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module StateBits
3
- VERSION = "0.2.2"
3
+ VERSION = "0.2.3"
4
4
  end
5
5
  end
@@ -29,6 +29,11 @@ module Mongoid
29
29
  end
30
30
  # declare the field
31
31
  field :state_bits, type: Integer, default: default
32
+ scope :state_bits, ->(map) do
33
+ keys = bits.map{|k| k.to_sym}
34
+ value = map.inject(0){|sum, v| sum += (v[1] ? 2**keys.index(v[0]): 0)}
35
+ where("this.state_bits & #{value} == #{value}")
36
+ end
32
37
  # define methods
33
38
  bits.each_with_index do |bit, index|
34
39
  define_method "#{bit}=" do |bool|
metadata CHANGED
@@ -1,69 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-state_bits
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Binz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-10 00:00:00.000000000 Z
11
+ date: 2015-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.5'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mongoid
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  description: Merge multiple boolean fields into one field.
@@ -73,7 +73,7 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - .gitignore
76
+ - ".gitignore"
77
77
  - Gemfile
78
78
  - LICENSE.txt
79
79
  - README.md
@@ -92,17 +92,17 @@ require_paths:
92
92
  - lib
93
93
  required_ruby_version: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - '>='
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - '>='
100
+ - - ">="
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  requirements: []
104
104
  rubyforge_project:
105
- rubygems_version: 2.0.14
105
+ rubygems_version: 2.2.2
106
106
  signing_key:
107
107
  specification_version: 4
108
108
  summary: Use one field to generate multiple boolean fields transparently.