acts_as_flags 1.0.0 → 1.0.1
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.
- data/lib/acts_as_flags.rb +4 -0
- data/lib/acts_as_flags/version.rb +1 -1
- data/readme.md +18 -1
- metadata +2 -2
data/lib/acts_as_flags.rb
CHANGED
@@ -10,6 +10,10 @@ module ActsAsFlags
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
+
(class << self; self; end).send(:define_method, "available_#{field}") do
|
14
|
+
flags
|
15
|
+
end
|
16
|
+
|
13
17
|
define_method "#{field}=" do |new_flags|
|
14
18
|
self.send("#{field}_mask=", (new_flags & flags).map { |r| 2**flags.index(r) }.sum )
|
15
19
|
end
|
data/readme.md
CHANGED
@@ -9,7 +9,7 @@ Installation
|
|
9
9
|
How to use it
|
10
10
|
---------------
|
11
11
|
**Add it to your model**
|
12
|
-
> acts_as_flags :flags, %w[ sent
|
12
|
+
> acts_as_flags :flags, %w[ sent re_sent ]
|
13
13
|
|
14
14
|
**Add flag mask to your table**
|
15
15
|
> \#rails g migration AddFlagsMaskToFoo
|
@@ -29,6 +29,23 @@ Instance Methods
|
|
29
29
|
>
|
30
30
|
> => [ "sent" ]
|
31
31
|
|
32
|
+
Class Methods
|
33
|
+
----------------
|
34
|
+
|
35
|
+
**Searching records by flags**
|
36
|
+
|
37
|
+
It will create a method for each possible flag
|
38
|
+
|
39
|
+
**ex:**
|
40
|
+
|
41
|
+
> Foo.only_sent
|
42
|
+
>
|
43
|
+
> => Return all foos with the flagged sent
|
44
|
+
>
|
45
|
+
> Foo.only_re_sent
|
46
|
+
>
|
47
|
+
> => Return all foos with the flagged re_sent
|
48
|
+
|
32
49
|
|
33
50
|
|
34
51
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_flags
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
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
|
+
date: 2012-05-02 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Make ActiveRecord Attributes to act as flags
|
15
15
|
email:
|