low_card_tables 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|