simple_flaggable_column 0.0.2 → 0.0.3
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 +4 -4
- data/LICENSE.txt +1 -1
- data/Rakefile +7 -0
- data/lib/simple_flaggable_column/version.rb +1 -1
- data/simple_flaggable_column.gemspec +2 -2
- data/spec/simple_flaggable_column/simple_flaggable_column_spec.rb +18 -12
- data/spec/spec_helper.rb +1 -3
- metadata +22 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5519375f06815a7e44b9158d7c775fc9008c2d6a
|
4
|
+
data.tar.gz: e72384692c2244b58e966e9df850d398cb526c0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10cd8c9d6d416277da37f339be37e875427b8ee76ecb86c53eda34cfb152e7ed96a0da5f4228d6a492db2cde6b998c6ca1afd8f018d5e8808fe656641041e0ce
|
7
|
+
data.tar.gz: d726167cc47139e3e9a4e98b30527b02f3814043cd6e909020893c40b4dd8901979d265e9007157dc93499b7e2d72e640fe60f0bf7e2555e1b06e940603d4433
|
data/LICENSE.txt
CHANGED
data/Rakefile
ADDED
@@ -17,12 +17,12 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
|
-
spec.add_dependency 'activesupport', '
|
20
|
+
spec.add_dependency 'activesupport', '>= 5.0'
|
21
21
|
|
22
22
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
23
23
|
spec.add_development_dependency 'rake', '~> 10.0'
|
24
|
-
spec.add_development_dependency 'with_model', '~> 1.2'
|
25
24
|
spec.add_development_dependency 'sqlite3', '~> 1.3'
|
26
25
|
spec.add_development_dependency 'guard', '~> 2.13'
|
27
26
|
spec.add_development_dependency 'guard-rspec', '~> 4.6'
|
27
|
+
spec.add_development_dependency 'activerecord', '>= 5.0'
|
28
28
|
end
|
@@ -1,10 +1,16 @@
|
|
1
1
|
describe SimpleFlaggableColumn do
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
before :all do
|
3
|
+
class Migration < ActiveRecord::Migration[5.0]
|
4
|
+
def change
|
5
|
+
create_table :games do |t|
|
6
|
+
t.integer :platforms, default: 0, null: false
|
7
|
+
end
|
8
|
+
end
|
5
9
|
end
|
6
10
|
|
7
|
-
|
11
|
+
Migration.new.migrate(:up)
|
12
|
+
|
13
|
+
class Game < ActiveRecord::Base
|
8
14
|
include SimpleFlaggableColumn
|
9
15
|
|
10
16
|
flag_column :platforms, {
|
@@ -16,25 +22,25 @@ describe SimpleFlaggableColumn do
|
|
16
22
|
end
|
17
23
|
|
18
24
|
it 'should be empty by default' do
|
19
|
-
expect(
|
25
|
+
expect(Game.new.platforms).to eq []
|
20
26
|
end
|
21
27
|
|
22
28
|
it 'should let you save data' do
|
23
|
-
game =
|
29
|
+
game = Game.new
|
24
30
|
game.platforms = [:mac, :linux]
|
25
31
|
expect(game.read_attribute(:platforms)).to eq 0b110
|
26
32
|
expect(game.platforms).to match_array [:mac, :linux]
|
27
33
|
end
|
28
34
|
|
29
35
|
it "should ignore items that aren't on the list" do
|
30
|
-
game =
|
36
|
+
game = Game.new
|
31
37
|
game.platforms = [:mac, :linux, :potato]
|
32
38
|
expect(game.read_attribute(:platforms)).to eq 0b110
|
33
39
|
expect(game.platforms).to match_array [:mac, :linux]
|
34
40
|
end
|
35
41
|
|
36
42
|
it 'should set the value to 0 when nil' do
|
37
|
-
game =
|
43
|
+
game = Game.new
|
38
44
|
game.platforms = [:mac, :linux]
|
39
45
|
expect(game.platforms).to eq [:mac, :linux]
|
40
46
|
game.platforms = nil
|
@@ -42,14 +48,14 @@ describe SimpleFlaggableColumn do
|
|
42
48
|
end
|
43
49
|
|
44
50
|
it 'should allow you to set numeric values directly' do
|
45
|
-
game =
|
51
|
+
game = Game.new
|
46
52
|
game.platforms = 0b101
|
47
53
|
expect(game.platforms).to eq [:win, :linux]
|
48
54
|
end
|
49
55
|
|
50
56
|
describe 'flags lists' do
|
51
57
|
it 'should define the list of flags' do
|
52
|
-
expect(
|
58
|
+
expect(Game.platforms_flags).to eq({
|
53
59
|
win: 0b001,
|
54
60
|
mac: 0b010,
|
55
61
|
linux: 0b100
|
@@ -57,11 +63,11 @@ describe SimpleFlaggableColumn do
|
|
57
63
|
end
|
58
64
|
|
59
65
|
it 'should let you get a join list of flags' do
|
60
|
-
expect(
|
66
|
+
expect(Game.platforms_flags(:win, :linux)).to eq 0b101
|
61
67
|
end
|
62
68
|
|
63
69
|
it 'should define the reverse list of flags' do
|
64
|
-
expect(
|
70
|
+
expect(Game.flags_platforms).to eq({
|
65
71
|
0b001 => :win,
|
66
72
|
0b010 => :mac,
|
67
73
|
0b100 => :linux
|
data/spec/spec_helper.rb
CHANGED
@@ -1,12 +1,10 @@
|
|
1
1
|
require 'simple_flaggable_column'
|
2
|
-
require '
|
2
|
+
require 'active_record'
|
3
3
|
|
4
4
|
ActiveRecord::Base.establish_connection adapter: 'sqlite3', database: ':memory:'
|
5
5
|
ActiveRecord::Migration.verbose = false
|
6
6
|
|
7
7
|
RSpec.configure do |config|
|
8
|
-
config.extend WithModel
|
9
|
-
|
10
8
|
config.expect_with :rspec do |expectations|
|
11
9
|
# Default in RSpec 4
|
12
10
|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_flaggable_column
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zequez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-10-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '5.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '5.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: with_model
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.2'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '1.2'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: sqlite3
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +94,20 @@ dependencies:
|
|
108
94
|
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
96
|
version: '4.6'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: activerecord
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '5.0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '5.0'
|
111
111
|
description: This gem adds a concern to allow you to use binary flags columns in ActiveRecord
|
112
112
|
models
|
113
113
|
email:
|
@@ -122,6 +122,7 @@ files:
|
|
122
122
|
- Guardfile
|
123
123
|
- LICENSE.txt
|
124
124
|
- README.md
|
125
|
+
- Rakefile
|
125
126
|
- lib/simple_flaggable_column.rb
|
126
127
|
- lib/simple_flaggable_column/version.rb
|
127
128
|
- simple_flaggable_column.gemspec
|
@@ -147,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
148
|
version: '0'
|
148
149
|
requirements: []
|
149
150
|
rubyforge_project:
|
150
|
-
rubygems_version: 2.
|
151
|
+
rubygems_version: 2.5.1
|
151
152
|
signing_key:
|
152
153
|
specification_version: 4
|
153
154
|
summary: Simple binary flags columns
|