active_flag 1.0.0 → 1.1.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c38cf223e88173548cc81d49db1b87924495a7d5
4
- data.tar.gz: d8e9a67e3000761c9f48bf4a19cb8926355de4db
3
+ metadata.gz: 410d32693a7229ede47d5ea2b36de38fb212bf2b
4
+ data.tar.gz: d21f7da57dd5c1ec8cd3ed0391fe2fbf962399f2
5
5
  SHA512:
6
- metadata.gz: 134373392f121125eb995df42b6f1d2e91b8dcc4f36c8697973e9219259256d20b54ab16b11b9e6625d43a7a1738274f5852348ddbd0be9ee8f2e89d615ee93c
7
- data.tar.gz: 8e1b3f32ab2610a9b864e725a2ca14acb70af00f56dae55cf974c79d0e947bd07df409644a90c15bd4acf9b3834b53731ddd7b1404c3c0cc04339bdf586769b1
6
+ metadata.gz: e6f03b42e864e2ec24403b6dc2555c2b9fb9bcadabe337a9fcb2a6fc0dd746038180e6ee2517690880f7036c891dcd4e3fa36080741434651ccf2e029fd16a73
7
+ data.tar.gz: f4b19c1b979743a95cd75f62a82fd2b8fbf7c106db2d82b1e0541f7dcfd7e16c48f2b4a6a7abb0a5477d33db7a000e05738642993778448a47edf20d8d2ff481
data/README.md CHANGED
@@ -19,6 +19,9 @@ end
19
19
  # Instance methods
20
20
  profile.languages #=> #<ActiveFlag::Value: {:english, :japanese}>
21
21
  profile.languages.english? #=> true
22
+ profile.languages.set?(:english) #=> true
23
+ profile.languages.unset?(:english) #=> false
24
+
22
25
  profile.languages.set(:spanish)
23
26
  profile.languages.unset(:japanese)
24
27
  profile.languages.raw #=> 3
data/lib/active_flag.rb CHANGED
@@ -9,11 +9,16 @@ module ActiveFlag
9
9
 
10
10
  module ClassMethods
11
11
  def flag(column, keys)
12
- class << self
13
- attr_reader :active_flags
12
+ unless respond_to?(:active_flags)
13
+ define_singleton_method :active_flags do
14
+ @@active_flags
15
+ end
16
+ @@active_flags ||= {}
14
17
  end
15
- @active_flags ||= {}
16
- @active_flags[column] = Definition.new(column, keys, self)
18
+
19
+ raise "active_flags on :#{column} already defined!" if active_flags[column]
20
+
21
+ @@active_flags[column] = Definition.new(column, keys, self)
17
22
 
18
23
  # Getter
19
24
  define_method column do
@@ -1,3 +1,3 @@
1
1
  module ActiveFlag
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_flag
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenn Ejima
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-17 00:00:00.000000000 Z
11
+ date: 2017-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord