simple_flaggable_column 0.0.2 → 0.0.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: b85577a3634dae66307e60d277336bcc50e9fa8c
4
- data.tar.gz: 627f79aa1e5e2354fc7f855f20a9b8160b9c8e6a
3
+ metadata.gz: 5519375f06815a7e44b9158d7c775fc9008c2d6a
4
+ data.tar.gz: e72384692c2244b58e966e9df850d398cb526c0f
5
5
  SHA512:
6
- metadata.gz: 2b13f6be90bf09d96f52feffdb6475a6a29607233b98e6ac1d30474af450b01fe8d97a169916fdc392bb38a7465eef355845a3d8bc563c94a8b2377ee5cc2def
7
- data.tar.gz: 781d196b0c8fa2326beb1defc35df4d5515ab1c0cde50519b11f3453a0ecf91c608985ba93e22118b25909f687599eb958b3ebf4d215d405df5967b2fa2db1a8
6
+ metadata.gz: 10cd8c9d6d416277da37f339be37e875427b8ee76ecb86c53eda34cfb152e7ed96a0da5f4228d6a492db2cde6b998c6ca1afd8f018d5e8808fe656641041e0ce
7
+ data.tar.gz: d726167cc47139e3e9a4e98b30527b02f3814043cd6e909020893c40b4dd8901979d265e9007157dc93499b7e2d72e640fe60f0bf7e2555e1b06e940603d4433
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2015 Zequez
1
+ Copyright (c) 2016 Zequez
2
2
 
3
3
  MIT License
4
4
 
data/Rakefile ADDED
@@ -0,0 +1,7 @@
1
+ require 'bundler/setup'
2
+ require 'bundler/gem_tasks'
3
+ require 'rspec/core/rake_task'
4
+
5
+ RSpec::Core::RakeTask.new(:spec)
6
+
7
+ task :default => :spec
@@ -1,3 +1,3 @@
1
1
  module SimpleFlaggableColumn
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -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', '~> 4.2'
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
- with_model :GameModel do
3
- table do |t|
4
- t.integer :platforms, default: 0, null: false
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
- model do
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(GameModel.new.platforms).to eq []
25
+ expect(Game.new.platforms).to eq []
20
26
  end
21
27
 
22
28
  it 'should let you save data' do
23
- game = GameModel.new
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 = GameModel.new
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 = GameModel.new
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 = GameModel.new
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(GameModel.platforms_flags).to eq({
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(GameModel.platforms_flags(:win, :linux)).to eq 0b101
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(GameModel.flags_platforms).to eq({
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 'with_model'
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.2
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: 2015-10-02 00:00:00.000000000 Z
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: '4.2'
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: '4.2'
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.4.5
151
+ rubygems_version: 2.5.1
151
152
  signing_key:
152
153
  specification_version: 4
153
154
  summary: Simple binary flags columns