low_card_tables 1.0.2 → 1.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 +5 -13
- data/.travis.yml +27 -27
- data/CHANGES.md +5 -0
- data/lib/low_card_tables/has_low_card_table/low_card_association.rb +1 -1
- data/lib/low_card_tables/version.rb +1 -1
- data/spec/low_card_tables/system/namespaced_models_system_spec.rb +81 -0
- data/spec/low_card_tables/unit/has_low_card_table/low_card_association_spec.rb +23 -0
- metadata +29 -69
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MzY1YzdhODVlZmJmMzQ3MWQ3MjA0OTcyNGI1YjE5ZTU2NzhmYjRhNQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d4726bf4540f04b58951e79af67b8285c96dd72a
|
4
|
+
data.tar.gz: 7441e6bc347ab79f261d2c8f0f7750ffc158d7f9
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
MmIxOThiMTFhYzMzMGNlZDg0YmViODE0MGM3YzJiNTU0YjA2YTJmOGYwNDNk
|
11
|
-
NmZjMWJjNmY4NGE5Y2M5NTAzZjkyNTBiNDIxYTA3NWY2ZTM1ZmQ=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NzAxN2RmZDJiOGZkOTNhNDM0NjRjNzI1NDBjN2I0MzhiOWIxYzczYjVmNThh
|
14
|
-
ZmFlZWNmNThkNGFhZGJlZWU0MTg0MTNjMjA3MTBmZWMzYWI1NTE5YWRhYzBi
|
15
|
-
M2ZkZWMyZjc4YjI0ZjcwM2FlYzFmNDVkYzU2MDNhYjFkMjY1MmY=
|
6
|
+
metadata.gz: 4bfb76855df51f47da3d892abfb1902f28ad4e28fdba754f16c2b575459e31c0b4ce07edac02a5695e8806bbb9fc7e7fc0c3076239f707dacd8a5069496f63cf
|
7
|
+
data.tar.gz: 443b4f355b6e785909d5984fe74257c28564b8f0efe63163c87410f0c14fe7c9ae364e80f63ed046e35a65afa7b287ad9c5adddcfcbfe37399775659bbfbbe22
|
data/.travis.yml
CHANGED
@@ -3,7 +3,7 @@ rvm:
|
|
3
3
|
- "1.9.3"
|
4
4
|
- "2.0.0"
|
5
5
|
- "2.1.2"
|
6
|
-
- "jruby-1.7.
|
6
|
+
- "jruby-1.7.15"
|
7
7
|
env:
|
8
8
|
# Sadly, Travis seems to have a version of SQLite < 3.7.11 installed on many of its workers;
|
9
9
|
# this prevents activerecord-import from working, since those versions of the SQLite engine
|
@@ -18,12 +18,12 @@ env:
|
|
18
18
|
- LOW_CARD_TABLES_AR_TEST_VERSION=3.2.19 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=mysql
|
19
19
|
- LOW_CARD_TABLES_AR_TEST_VERSION=3.2.19 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=postgres
|
20
20
|
# - LOW_CARD_TABLES_AR_TEST_VERSION=3.2.19 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=sqlite
|
21
|
-
- LOW_CARD_TABLES_AR_TEST_VERSION=4.0.
|
22
|
-
- LOW_CARD_TABLES_AR_TEST_VERSION=4.0.
|
23
|
-
# - LOW_CARD_TABLES_AR_TEST_VERSION=4.0.
|
24
|
-
- LOW_CARD_TABLES_AR_TEST_VERSION=4.1.
|
25
|
-
- LOW_CARD_TABLES_AR_TEST_VERSION=4.1.
|
26
|
-
# - LOW_CARD_TABLES_AR_TEST_VERSION=4.1.
|
21
|
+
- LOW_CARD_TABLES_AR_TEST_VERSION=4.0.10 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=mysql
|
22
|
+
- LOW_CARD_TABLES_AR_TEST_VERSION=4.0.10 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=postgres
|
23
|
+
# - LOW_CARD_TABLES_AR_TEST_VERSION=4.0.10 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=sqlite
|
24
|
+
- LOW_CARD_TABLES_AR_TEST_VERSION=4.1.6 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=mysql
|
25
|
+
- LOW_CARD_TABLES_AR_TEST_VERSION=4.1.6 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=postgres
|
26
|
+
# - LOW_CARD_TABLES_AR_TEST_VERSION=4.1.6 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=sqlite
|
27
27
|
before_script:
|
28
28
|
- export JRUBY_OPTS="-J-Xmx256m -J-Xms256m $JRUBY_OPTS"
|
29
29
|
- mysql -e 'create database myapp_test;'
|
@@ -32,17 +32,17 @@ matrix:
|
|
32
32
|
exclude:
|
33
33
|
# ActiveRecord 4.x doesn't support Ruby 1.8.7
|
34
34
|
- rvm: 1.8.7
|
35
|
-
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.0.
|
35
|
+
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.0.10 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=mysql
|
36
36
|
- rvm: 1.8.7
|
37
|
-
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.0.
|
37
|
+
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.0.10 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=postgres
|
38
38
|
- rvm: 1.8.7
|
39
|
-
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.0.
|
39
|
+
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.0.10 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=sqlite
|
40
40
|
- rvm: 1.8.7
|
41
|
-
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.1.
|
41
|
+
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.1.6 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=mysql
|
42
42
|
- rvm: 1.8.7
|
43
|
-
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.1.
|
43
|
+
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.1.6 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=postgres
|
44
44
|
- rvm: 1.8.7
|
45
|
-
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.1.
|
45
|
+
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.1.6 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=sqlite
|
46
46
|
# There's a bug in ActiveRecord 3.1.x that makes it incompatible with Ruby 2.x
|
47
47
|
- rvm: 2.0.0
|
48
48
|
env: LOW_CARD_TABLES_AR_TEST_VERSION=3.1.12 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=mysql
|
@@ -57,23 +57,23 @@ matrix:
|
|
57
57
|
- rvm: 2.1.2
|
58
58
|
env: LOW_CARD_TABLES_AR_TEST_VERSION=3.1.12 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=sqlite
|
59
59
|
# The activerecord-import gem currently doesn't support JRuby JDBC adapters with anything but MySQL
|
60
|
-
- rvm: jruby-1.7.
|
60
|
+
- rvm: jruby-1.7.15
|
61
61
|
env: LOW_CARD_TABLES_AR_TEST_VERSION=3.0.20 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=postgres
|
62
|
-
- rvm: jruby-1.7.
|
62
|
+
- rvm: jruby-1.7.15
|
63
63
|
env: LOW_CARD_TABLES_AR_TEST_VERSION=3.1.12 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=postgres
|
64
|
-
- rvm: jruby-1.7.
|
64
|
+
- rvm: jruby-1.7.15
|
65
65
|
env: LOW_CARD_TABLES_AR_TEST_VERSION=3.2.19 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=postgres
|
66
|
-
- rvm: jruby-1.7.
|
67
|
-
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.0.
|
68
|
-
- rvm: jruby-1.7.
|
69
|
-
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.1.
|
70
|
-
- rvm: jruby-1.7.
|
66
|
+
- rvm: jruby-1.7.15
|
67
|
+
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.0.10 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=postgres
|
68
|
+
- rvm: jruby-1.7.15
|
69
|
+
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.1.6 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=postgres
|
70
|
+
- rvm: jruby-1.7.15
|
71
71
|
env: LOW_CARD_TABLES_AR_TEST_VERSION=3.0.20 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=sqlite
|
72
|
-
- rvm: jruby-1.7.
|
72
|
+
- rvm: jruby-1.7.15
|
73
73
|
env: LOW_CARD_TABLES_AR_TEST_VERSION=3.1.12 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=sqlite
|
74
|
-
- rvm: jruby-1.7.
|
74
|
+
- rvm: jruby-1.7.15
|
75
75
|
env: LOW_CARD_TABLES_AR_TEST_VERSION=3.2.19 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=sqlite
|
76
|
-
- rvm: jruby-1.7.
|
77
|
-
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.0.
|
78
|
-
- rvm: jruby-1.7.
|
79
|
-
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.1.
|
76
|
+
- rvm: jruby-1.7.15
|
77
|
+
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.0.10 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=sqlite
|
78
|
+
- rvm: jruby-1.7.15
|
79
|
+
env: LOW_CARD_TABLES_AR_TEST_VERSION=4.1.6 LOW_CARD_TABLES_TRAVIS_CI_DATABASE_TYPE=sqlite
|
data/CHANGES.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# `low_card_tables` Changelog
|
2
2
|
|
3
|
+
## 1.0.3, 2014-09-22
|
4
|
+
|
5
|
+
* Fixed an issue where, if a table that owned a low-card table was declared a namespace (_e.g._, `module Foo; class Bar < ActiveRecord::Base; has_low_card_table :status; end; end`), the call to `has_low_card_table` would fail with an error (trying to call `+` on `nil`).
|
6
|
+
* Bumped versions of Rails and JRuby we test against on Travis to the very latest.
|
7
|
+
|
3
8
|
## 1.0.2, 2014-07-24
|
4
9
|
|
5
10
|
* Fixed an issue where, if someone had defined an `ActiveRecord::Base` subclass with a `nil` `table_name`, migrations
|
@@ -0,0 +1,81 @@
|
|
1
|
+
require 'low_card_tables'
|
2
|
+
require 'low_card_tables/helpers/database_helper'
|
3
|
+
require 'low_card_tables/helpers/system_helpers'
|
4
|
+
|
5
|
+
describe "LowCardTables namespaced models operations" do
|
6
|
+
include LowCardTables::Helpers::SystemHelpers
|
7
|
+
|
8
|
+
before :each do
|
9
|
+
@dh = LowCardTables::Helpers::DatabaseHelper.new
|
10
|
+
@dh.setup_activerecord!
|
11
|
+
|
12
|
+
create_standard_system_spec_tables!
|
13
|
+
end
|
14
|
+
|
15
|
+
after :each do
|
16
|
+
drop_standard_system_spec_tables!
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should allow namespaced models for both tables, if specified explicitly" do
|
20
|
+
module ::LowCardSpecNamespace3; end
|
21
|
+
|
22
|
+
user_status_class = Class.new(::ActiveRecord::Base)
|
23
|
+
::LowCardSpecNamespace3.send(:remove_const, 'UserStatus') rescue nil
|
24
|
+
::LowCardSpecNamespace3.const_set(:UserStatus, user_status_class)
|
25
|
+
user_status_class.table_name = 'lctables_spec_user_statuses'
|
26
|
+
user_status_class.is_low_card_table
|
27
|
+
|
28
|
+
user_class = Class.new(::ActiveRecord::Base)
|
29
|
+
::LowCardSpecNamespace3.send(:remove_const, :User) rescue nil
|
30
|
+
::LowCardSpecNamespace3.const_set(:User, user_class)
|
31
|
+
user_class.table_name = 'lctables_spec_users'
|
32
|
+
user_class.has_low_card_table :status
|
33
|
+
|
34
|
+
@user1 = ::LowCardSpecNamespace3::User.new
|
35
|
+
@user1.name = 'User1'
|
36
|
+
@user1.deleted = false
|
37
|
+
@user1.deceased = false
|
38
|
+
@user1.gender = 'female'
|
39
|
+
@user1.donation_level = 3
|
40
|
+
@user1.save!
|
41
|
+
|
42
|
+
user1_again = ::LowCardSpecNamespace3::User.find(@user1.id)
|
43
|
+
expect(user1_again.name).to eq('User1')
|
44
|
+
expect(user1_again.deleted).to eq(false)
|
45
|
+
expect(user1_again.deceased).to eq(false)
|
46
|
+
expect(user1_again.gender).to eq('female')
|
47
|
+
expect(user1_again.donation_level).to eq(3)
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should allow namespaced models for both tables, if specified explicitly" do
|
51
|
+
module ::LowCardSpecNamespace1; end
|
52
|
+
module ::LowCardSpecNamespace2; end
|
53
|
+
|
54
|
+
user_status_class = Class.new(::ActiveRecord::Base)
|
55
|
+
::LowCardSpecNamespace2.send(:remove_const, :UserStatus) rescue nil
|
56
|
+
::LowCardSpecNamespace2.const_set(:UserStatus, user_status_class)
|
57
|
+
user_status_class.table_name = 'lctables_spec_user_statuses'
|
58
|
+
user_status_class.is_low_card_table
|
59
|
+
|
60
|
+
user_class = Class.new(::ActiveRecord::Base)
|
61
|
+
::LowCardSpecNamespace1.send(:remove_const, :User) rescue nil
|
62
|
+
::LowCardSpecNamespace1.const_set(:User, user_class)
|
63
|
+
user_class.table_name = 'lctables_spec_users'
|
64
|
+
user_class.has_low_card_table :status, :class => user_status_class
|
65
|
+
|
66
|
+
@user1 = ::LowCardSpecNamespace1::User.new
|
67
|
+
@user1.name = 'User1'
|
68
|
+
@user1.deleted = false
|
69
|
+
@user1.deceased = false
|
70
|
+
@user1.gender = 'female'
|
71
|
+
@user1.donation_level = 3
|
72
|
+
@user1.save!
|
73
|
+
|
74
|
+
user1_again = ::LowCardSpecNamespace1::User.find(@user1.id)
|
75
|
+
expect(user1_again.name).to eq('User1')
|
76
|
+
expect(user1_again.deleted).to eq(false)
|
77
|
+
expect(user1_again.deceased).to eq(false)
|
78
|
+
expect(user1_again.gender).to eq('female')
|
79
|
+
expect(user1_again.donation_level).to eq(3)
|
80
|
+
end
|
81
|
+
end
|
@@ -61,6 +61,29 @@ describe LowCardTables::HasLowCardTable::LowCardAssociation do
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
+
it "should correctly infer the foreign_key_column_name when using a namespaced model class" do
|
65
|
+
module ::LowCardSpecNamespace10; end
|
66
|
+
class ::LowCardSpecNamespace10::McNameAscName; end
|
67
|
+
|
68
|
+
allow(::LowCardSpecNamespace10::McNameAscName).to receive(:is_low_card_table?).and_return(true)
|
69
|
+
|
70
|
+
namespaced_model_class = Class.new
|
71
|
+
allow(namespaced_model_class).to receive(:name).and_return('LowCardSpecNamespace10::McName')
|
72
|
+
|
73
|
+
col1 = double("column_1")
|
74
|
+
allow(col1).to receive(:name).and_return("id")
|
75
|
+
col2 = double("column_2")
|
76
|
+
allow(col2).to receive(:name).and_return("name")
|
77
|
+
|
78
|
+
allow(namespaced_model_class).to receive(:columns).and_return([ col1, col2 ])
|
79
|
+
|
80
|
+
expect(::LowCardSpecNamespace10::McNameAscName).to receive(:low_card_referred_to_by).once.with(namespaced_model_class)
|
81
|
+
|
82
|
+
association = LowCardTables::HasLowCardTable::LowCardAssociation.new(namespaced_model_class, :asc_name, { })
|
83
|
+
|
84
|
+
expect(association.foreign_key_column_name).to eq("mc_name_asc_name_id")
|
85
|
+
end
|
86
|
+
|
64
87
|
it "should fail instantiation if the class inferred can't be found" do
|
65
88
|
allow(@col3).to receive(:name).and_return("model_class_name_yohoho_id")
|
66
89
|
lambda do
|
metadata
CHANGED
@@ -1,168 +1,126 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: low_card_tables
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Geweke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-22 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: '0'
|
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: '0'
|
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: '2.14'
|
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: '2.14'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: pry
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ! '>='
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: pry-debugger
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ! '>='
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ! '>='
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: pry-stack_explorer
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ! '>='
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ! '>='
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
55
|
- !ruby/object:Gem::Dependency
|
98
56
|
name: activerecord
|
99
57
|
requirement: !ruby/object:Gem::Requirement
|
100
58
|
requirements:
|
101
|
-
- -
|
59
|
+
- - ">="
|
102
60
|
- !ruby/object:Gem::Version
|
103
61
|
version: '3.0'
|
104
|
-
- - <=
|
62
|
+
- - "<="
|
105
63
|
- !ruby/object:Gem::Version
|
106
64
|
version: 4.99.99
|
107
65
|
type: :runtime
|
108
66
|
prerelease: false
|
109
67
|
version_requirements: !ruby/object:Gem::Requirement
|
110
68
|
requirements:
|
111
|
-
- -
|
69
|
+
- - ">="
|
112
70
|
- !ruby/object:Gem::Version
|
113
71
|
version: '3.0'
|
114
|
-
- - <=
|
72
|
+
- - "<="
|
115
73
|
- !ruby/object:Gem::Version
|
116
74
|
version: 4.99.99
|
117
75
|
- !ruby/object:Gem::Dependency
|
118
76
|
name: activesupport
|
119
77
|
requirement: !ruby/object:Gem::Requirement
|
120
78
|
requirements:
|
121
|
-
- -
|
79
|
+
- - ">="
|
122
80
|
- !ruby/object:Gem::Version
|
123
81
|
version: '3.0'
|
124
|
-
- - <=
|
82
|
+
- - "<="
|
125
83
|
- !ruby/object:Gem::Version
|
126
84
|
version: 4.99.99
|
127
85
|
type: :runtime
|
128
86
|
prerelease: false
|
129
87
|
version_requirements: !ruby/object:Gem::Requirement
|
130
88
|
requirements:
|
131
|
-
- -
|
89
|
+
- - ">="
|
132
90
|
- !ruby/object:Gem::Version
|
133
91
|
version: '3.0'
|
134
|
-
- - <=
|
92
|
+
- - "<="
|
135
93
|
- !ruby/object:Gem::Version
|
136
94
|
version: 4.99.99
|
137
95
|
- !ruby/object:Gem::Dependency
|
138
96
|
name: activerecord-import
|
139
97
|
requirement: !ruby/object:Gem::Requirement
|
140
98
|
requirements:
|
141
|
-
- -
|
99
|
+
- - ">="
|
142
100
|
- !ruby/object:Gem::Version
|
143
101
|
version: '0'
|
144
102
|
type: :runtime
|
145
103
|
prerelease: false
|
146
104
|
version_requirements: !ruby/object:Gem::Requirement
|
147
105
|
requirements:
|
148
|
-
- -
|
106
|
+
- - ">="
|
149
107
|
- !ruby/object:Gem::Version
|
150
108
|
version: '0'
|
151
109
|
- !ruby/object:Gem::Dependency
|
152
110
|
name: mysql2
|
153
111
|
requirement: !ruby/object:Gem::Requirement
|
154
112
|
requirements:
|
155
|
-
- -
|
113
|
+
- - ">="
|
156
114
|
- !ruby/object:Gem::Version
|
157
115
|
version: '0'
|
158
116
|
type: :development
|
159
117
|
prerelease: false
|
160
118
|
version_requirements: !ruby/object:Gem::Requirement
|
161
119
|
requirements:
|
162
|
-
- -
|
120
|
+
- - ">="
|
163
121
|
- !ruby/object:Gem::Version
|
164
122
|
version: '0'
|
165
|
-
description:
|
123
|
+
description: '"Bitfields for ActiveRecord": store low-cardinality columns in a separate
|
166
124
|
table for vastly more flexibility and better performance.'
|
167
125
|
email:
|
168
126
|
- andrew@geweke.org
|
@@ -170,8 +128,8 @@ executables: []
|
|
170
128
|
extensions: []
|
171
129
|
extra_rdoc_files: []
|
172
130
|
files:
|
173
|
-
- .gitignore
|
174
|
-
- .travis.yml
|
131
|
+
- ".gitignore"
|
132
|
+
- ".travis.yml"
|
175
133
|
- CHANGES.md
|
176
134
|
- Gemfile
|
177
135
|
- LICENSE
|
@@ -208,6 +166,7 @@ files:
|
|
208
166
|
- spec/low_card_tables/system/bulk_system_spec.rb
|
209
167
|
- spec/low_card_tables/system/caching_system_spec.rb
|
210
168
|
- spec/low_card_tables/system/migrations_system_spec.rb
|
169
|
+
- spec/low_card_tables/system/namespaced_models_system_spec.rb
|
211
170
|
- spec/low_card_tables/system/options_system_spec.rb
|
212
171
|
- spec/low_card_tables/system/queries_system_spec.rb
|
213
172
|
- spec/low_card_tables/system/validations_system_spec.rb
|
@@ -240,12 +199,12 @@ require_paths:
|
|
240
199
|
- lib
|
241
200
|
required_ruby_version: !ruby/object:Gem::Requirement
|
242
201
|
requirements:
|
243
|
-
- -
|
202
|
+
- - ">="
|
244
203
|
- !ruby/object:Gem::Version
|
245
204
|
version: '0'
|
246
205
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
247
206
|
requirements:
|
248
|
-
- -
|
207
|
+
- - ">="
|
249
208
|
- !ruby/object:Gem::Version
|
250
209
|
version: '0'
|
251
210
|
requirements: []
|
@@ -253,8 +212,8 @@ rubyforge_project:
|
|
253
212
|
rubygems_version: 2.2.2
|
254
213
|
signing_key:
|
255
214
|
specification_version: 4
|
256
|
-
summary:
|
257
|
-
|
215
|
+
summary: '"Bitfields for ActiveRecord": instead of storing multiple columns with low
|
216
|
+
cardinality (few distinct values) directly in a table, which results in performance
|
258
217
|
and maintainability problems, break them out into a separate table with almost zero
|
259
218
|
overhead. Trivially add new columns without migrating a main, enormous table. Query
|
260
219
|
on combinations of values very efficiently.'
|
@@ -266,6 +225,7 @@ test_files:
|
|
266
225
|
- spec/low_card_tables/system/bulk_system_spec.rb
|
267
226
|
- spec/low_card_tables/system/caching_system_spec.rb
|
268
227
|
- spec/low_card_tables/system/migrations_system_spec.rb
|
228
|
+
- spec/low_card_tables/system/namespaced_models_system_spec.rb
|
269
229
|
- spec/low_card_tables/system/options_system_spec.rb
|
270
230
|
- spec/low_card_tables/system/queries_system_spec.rb
|
271
231
|
- spec/low_card_tables/system/validations_system_spec.rb
|