objectid_columns 1.0.3 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/.travis.yml +18 -18
- data/CHANGES.md +5 -0
- data/lib/objectid_columns/dynamic_methods_module.rb +28 -5
- data/lib/objectid_columns/objectid_columns_manager.rb +21 -4
- data/lib/objectid_columns/version.rb +1 -1
- data/spec/objectid_columns/helpers/system_helpers.rb +6 -4
- data/spec/objectid_columns/system/basic_system_spec.rb +44 -0
- metadata +29 -29
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NTdmODI1NjE4NGNjOTBlZjhiYjI3OGJhOTZiNDEzZDc0M2MyYjMxMg==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 01caf94a3f04125c21d77a1956729388f6a113c8
|
4
|
+
data.tar.gz: 498bd6ccad78240d27f0c138de15a1213ac166c3
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
M2Q4MzkxODFlMzVlZmJjNWJkNjUzOTVkMDdmYzg3YmFjOWIzNWI0M2VlNjYx
|
11
|
-
NzViZmZmN2I1MGU5MGU4MGFiNmExNzA5YzZhOTcyMDA3MGE0YTA=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NmQ4NGM2NTM3MDg1NWM5NjJhZjk2OWQ4N2Q4ZjI0MDA4NmI5Y2Y2YmEyYzI0
|
14
|
-
ODMwNDI0Y2MwMTg1MDI2YjA4NGVmNjIyNzdlYjAzN2IyZjI3MGJkM2UwM2E1
|
15
|
-
MTZkNmQ0M2M5NzkxYTYyMzcyZTcyZWVhNTgyMjk0NTliNjFlYWM=
|
6
|
+
metadata.gz: 624d4c997b0a1ae924312bc6f6e810b29989f764c658cbc8b8ba10280cb0aef31f4c38c9f655106b32a87a5fb42a67ec297e4a53e6a67943e0ea72263b2d00a7
|
7
|
+
data.tar.gz: 72f525d605c017fac9d8475bab4e2551c0a96bea851466c08ca4a27dc9a8b061c2238d9aea6e147c6ffe2c3dd95af99e0b34d00f8b415496245175c843bc6f47
|
data/.travis.yml
CHANGED
@@ -2,8 +2,8 @@ rvm:
|
|
2
2
|
- "1.8.7"
|
3
3
|
- "1.9.3"
|
4
4
|
- "2.0.0"
|
5
|
-
- "2.1.
|
6
|
-
- "jruby-1.7.
|
5
|
+
- "2.1.3"
|
6
|
+
- "jruby-1.7.16"
|
7
7
|
env:
|
8
8
|
- OBJECTID_COLUMNS_AR_TEST_VERSION=3.0.20 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=mysql
|
9
9
|
- OBJECTID_COLUMNS_AR_TEST_VERSION=3.0.20 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=postgres
|
@@ -11,15 +11,15 @@ env:
|
|
11
11
|
- OBJECTID_COLUMNS_AR_TEST_VERSION=3.1.12 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=mysql
|
12
12
|
- OBJECTID_COLUMNS_AR_TEST_VERSION=3.1.12 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=postgres
|
13
13
|
- OBJECTID_COLUMNS_AR_TEST_VERSION=3.1.12 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=sqlite
|
14
|
-
- OBJECTID_COLUMNS_AR_TEST_VERSION=3.2.
|
15
|
-
- OBJECTID_COLUMNS_AR_TEST_VERSION=3.2.
|
16
|
-
- OBJECTID_COLUMNS_AR_TEST_VERSION=3.2.
|
17
|
-
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.
|
18
|
-
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.
|
19
|
-
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.
|
20
|
-
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.
|
21
|
-
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.
|
22
|
-
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.
|
14
|
+
- OBJECTID_COLUMNS_AR_TEST_VERSION=3.2.19 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=mysql
|
15
|
+
- OBJECTID_COLUMNS_AR_TEST_VERSION=3.2.19 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=postgres
|
16
|
+
- OBJECTID_COLUMNS_AR_TEST_VERSION=3.2.19 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=sqlite
|
17
|
+
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.10 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=mysql
|
18
|
+
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.10 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=postgres
|
19
|
+
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.10 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=sqlite
|
20
|
+
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.6 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=mysql
|
21
|
+
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.6 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=postgres
|
22
|
+
- OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.6 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=sqlite
|
23
23
|
before_script:
|
24
24
|
- mysql -e 'create database myapp_test;'
|
25
25
|
- psql -c 'create database myapp_test;' -U postgres
|
@@ -27,18 +27,18 @@ matrix:
|
|
27
27
|
exclude:
|
28
28
|
# ActiveRecord 4.x doesn't support Ruby 1.8.7
|
29
29
|
- rvm: 1.8.7
|
30
|
-
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.
|
30
|
+
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.10 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=mysql
|
31
31
|
- rvm: 1.8.7
|
32
|
-
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.
|
32
|
+
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.10 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=postgres
|
33
33
|
- rvm: 1.8.7
|
34
|
-
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.
|
34
|
+
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.0.10 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=sqlite
|
35
35
|
- rvm: 1.8.7
|
36
|
-
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.
|
36
|
+
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.6 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=mysql
|
37
37
|
- rvm: 1.8.7
|
38
|
-
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.
|
38
|
+
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.6 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=postgres
|
39
39
|
- rvm: 1.8.7
|
40
|
-
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.
|
40
|
+
env: OBJECTID_COLUMNS_AR_TEST_VERSION=4.1.6 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=sqlite
|
41
41
|
allow_failures:
|
42
42
|
- env: OBJECTID_COLUMNS_AR_TEST_VERSION=3.1.12 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=sqlite
|
43
43
|
- rvm: 1.8.7
|
44
|
-
env: OBJECTID_COLUMNS_AR_TEST_VERSION=3.2.
|
44
|
+
env: OBJECTID_COLUMNS_AR_TEST_VERSION=3.2.19 OBJECTID_COLUMNS_TRAVIS_CI_DATABASE_TYPE=sqlite
|
data/CHANGES.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# Change History for ObjectidColumns
|
2
2
|
|
3
|
+
### Version 1.0.5: October 10, 2014
|
4
|
+
|
5
|
+
* Fixed an issue where using `objectid_columns` on a parent model class that was then inherited from (via STI) could cause an internal exception.
|
6
|
+
* Updated Travis testing specifications to the latest versions of Ruby/JRuby and ActiveRecord.
|
7
|
+
|
3
8
|
### Version 1.0.3: June 11, 2014
|
4
9
|
|
5
10
|
* Fixed an issue where, if you tried to declare `has_objectid_primary_key` on a table that didn't exist (usually meaning it just hadn't been migrated into existence yet), you'd get an error. Now, we ignore this declaration.
|
@@ -44,15 +44,38 @@ module ObjectidColumns
|
|
44
44
|
|
45
45
|
# Unfortunately, there appears to be no way to "un-include" a Module in Ruby -- so we have no way of replacing
|
46
46
|
# an existing DynamicMethodsModule on the target class, which is what we'd really like to do in this situation.
|
47
|
-
if @target_class.const_defined?(@name)
|
48
|
-
existing = @target_class.const_get(@name)
|
49
47
|
|
50
|
-
|
51
|
-
|
52
|
-
|
48
|
+
# Sigh. From the docs for Method#arity:
|
49
|
+
#
|
50
|
+
# "For Ruby methods that take a variable number of arguments, returns -n-1, where n is the number of required
|
51
|
+
# arguments. For methods written in C, returns -1 if the call takes a variable number of arguments."
|
52
|
+
#
|
53
|
+
# It turns out that .const_defined? is written in C, which means it returns -1 if it takes a variable number of
|
54
|
+
# arguments. So we can't check for arity.abs >= 2 here, but rather must look for <= -1...
|
55
|
+
if @target_class.method(:const_defined?).arity <= -1
|
56
|
+
if @target_class.const_defined?(@name, false)
|
57
|
+
existing = @target_class.const_get(@name, false)
|
58
|
+
|
59
|
+
if existing && existing != self
|
60
|
+
raise NameError, %{You tried to define a #{self.class.name} named #{name.inspect} on class #{target_class.name},
|
61
|
+
but that class already has a constant named #{name.inspect}: #{existing.inspect}}
|
62
|
+
end
|
63
|
+
end
|
64
|
+
else
|
65
|
+
# So...in Ruby 1.8.7, .const_defined? and .const_get don't accept the second parameter, which tells you whether
|
66
|
+
# to search superclass constants as well. But, amusingly, we're not only not stuck, this is fine: in Ruby
|
67
|
+
# 1.8.7, constant lookup doesn't search superclasses, either -- so we're OK.
|
68
|
+
if @target_class.const_defined?(@name)
|
69
|
+
existing = @target_class.const_get(@name)
|
70
|
+
|
71
|
+
if existing && existing != self
|
72
|
+
raise NameError, %{You tried to define a #{self.class.name} named #{name.inspect} on class #{target_class.name},
|
73
|
+
but that class already has a constant named #{name.inspect}: #{existing.inspect}}
|
74
|
+
end
|
53
75
|
end
|
54
76
|
end
|
55
77
|
|
78
|
+
|
56
79
|
@class_methods_module = Module.new
|
57
80
|
(class << @class_methods_module; self; end).send(:public, :private)
|
58
81
|
@target_class.const_set("#{@name}ClassMethods", @class_methods_module)
|
@@ -347,7 +347,7 @@ module ObjectidColumns
|
|
347
347
|
#
|
348
348
|
# MyModel.where(:foo_oid => "52ec126d78161f56d8000001")
|
349
349
|
def translate_objectid_query_pair(query_key, query_value)
|
350
|
-
if (type =
|
350
|
+
if (type = net_oid_columns[query_key.to_sym])
|
351
351
|
|
352
352
|
# Handle nil, false
|
353
353
|
if (! query_value)
|
@@ -381,7 +381,17 @@ module ObjectidColumns
|
|
381
381
|
|
382
382
|
# Given the name of a column, tell whether or not it is an ObjectId column.
|
383
383
|
def is_objectid_column?(column_name)
|
384
|
-
|
384
|
+
net_oid_columns.has_key?(column_name.to_sym)
|
385
|
+
end
|
386
|
+
|
387
|
+
# Returns the same thing as +oid_columns+, except merges in the ActiveRecord class's superclass's columns, if
|
388
|
+
# any.
|
389
|
+
def net_oid_columns
|
390
|
+
out = { }
|
391
|
+
if (socm = superclass_objectid_columns_manager)
|
392
|
+
out = socm.net_oid_columns
|
393
|
+
end
|
394
|
+
out.merge(oid_columns)
|
385
395
|
end
|
386
396
|
|
387
397
|
private
|
@@ -390,11 +400,18 @@ module ObjectidColumns
|
|
390
400
|
# Given the name of a column -- which must be an ObjectId column -- returns its type, either +:binary+ or
|
391
401
|
# +:string+.
|
392
402
|
def objectid_column_type(column_name)
|
393
|
-
out =
|
394
|
-
raise "Something is horribly wrong; #{column_name.inspect} is not an ObjectId column -- we have: #{
|
403
|
+
out = net_oid_columns[column_name.to_sym]
|
404
|
+
raise "Something is horribly wrong; #{column_name.inspect} is not an ObjectId column -- we have: #{net_oid_columns.keys.inspect}" unless out
|
395
405
|
out
|
396
406
|
end
|
397
407
|
|
408
|
+
# If our +@active_record_class+ has a superclass that in turn is using +objectid_columns+, returns the
|
409
|
+
# ObjectidColumnsManager for that class, if any.
|
410
|
+
def superclass_objectid_columns_manager
|
411
|
+
ar_superclass = @active_record_class.superclass
|
412
|
+
ar_superclass.objectid_columns_manager if ar_superclass.respond_to?(:objectid_columns_manager)
|
413
|
+
end
|
414
|
+
|
398
415
|
# Raises an exception -- used for +case+ statements where we switch on the type of the column. Useful so that if,
|
399
416
|
# in the future, we support a new column type, we won't forget to add a case for it in various places.
|
400
417
|
def unknown_type(type)
|
@@ -15,12 +15,14 @@ module ObjectidColumns
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
def define_model_class(name, table_name, &block)
|
19
|
-
|
18
|
+
def define_model_class(name, table_name, options = { }, &block)
|
19
|
+
superclass = options[:superclass] || ::ActiveRecord::Base
|
20
|
+
model_class = Class.new(superclass)
|
20
21
|
::Object.send(:remove_const, name) if ::Object.const_defined?(name)
|
21
22
|
::Object.const_set(name, model_class)
|
22
|
-
model_class.table_name = table_name
|
23
|
-
model_class.class_eval(&block)
|
23
|
+
model_class.table_name = table_name if table_name
|
24
|
+
model_class.class_eval(&block) if block
|
25
|
+
model_class
|
24
26
|
end
|
25
27
|
|
26
28
|
def ensure_database_is_set_up!
|
@@ -71,6 +71,50 @@ describe "ObjectidColumns basic operations" do
|
|
71
71
|
@tc.new
|
72
72
|
end
|
73
73
|
|
74
|
+
context "with an STI table and model" do
|
75
|
+
before :each do
|
76
|
+
migrate do
|
77
|
+
drop_table :objectidcols_spec_table_sti rescue nil
|
78
|
+
create_table :objectidcols_spec_table_sti do |t|
|
79
|
+
t.string :type
|
80
|
+
t.column :some_oid, 'VARCHAR(24)'
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
after :each do
|
86
|
+
migrate do
|
87
|
+
drop_table :objectidcols_spec_table_sti rescue nil
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
let(:parent_model_class) { define_model_class(:SpectableStiParent, 'objectidcols_spec_table_sti') { has_objectid_columns } }
|
92
|
+
let(:child_model_class) { define_model_class(:SpectableStiChild, 'objectidcols_spec_table_sti', :superclass => parent_model_class) { } }
|
93
|
+
|
94
|
+
it "should work from both the parent and child class" do
|
95
|
+
id_1 = new_oid
|
96
|
+
id_2 = new_oid
|
97
|
+
|
98
|
+
parent_instance = parent_model_class.new(:some_oid => id_1)
|
99
|
+
parent_instance.save!
|
100
|
+
|
101
|
+
child_instance = child_model_class.new(:some_oid => id_2)
|
102
|
+
child_instance.save!
|
103
|
+
|
104
|
+
all_models = parent_model_class.all.to_a
|
105
|
+
expect(all_models.length).to eq(2)
|
106
|
+
parent_instance_again = all_models.detect { |m| m.id == parent_instance.id }
|
107
|
+
child_instance_again = all_models.detect { |m| m.id == child_instance.id }
|
108
|
+
|
109
|
+
expect(parent_instance_again.some_oid).to be_an_objectid_object_matching(id_1)
|
110
|
+
expect(child_instance_again.some_oid).to be_an_objectid_object_matching(id_2)
|
111
|
+
|
112
|
+
child_models = child_model_class.all.to_a
|
113
|
+
expect(child_models.length).to eq(1)
|
114
|
+
expect(child_models[0].some_oid).to be_an_objectid_object_matching(id_2)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
74
118
|
it "should not allow defining a column that's too short" do
|
75
119
|
if ObjectidColumns::Helpers::SystemHelpers.supports_length_limits_on_binary_columns?
|
76
120
|
expect { ::Spectable.class_eval { has_objectid_column :too_short_b } }.to raise_error(ArgumentError)
|
metadata
CHANGED
@@ -1,151 +1,151 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: objectid_columns
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
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-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.0'
|
20
|
-
- - <=
|
20
|
+
- - "<="
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 4.99.99
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '3.0'
|
30
|
-
- - <=
|
30
|
+
- - "<="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 4.99.99
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: activesupport
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- -
|
37
|
+
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '3.0'
|
40
|
-
- - <=
|
40
|
+
- - "<="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: 4.99.99
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '3.0'
|
50
|
-
- - <=
|
50
|
+
- - "<="
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: 4.99.99
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: bundler
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- - ~>
|
57
|
+
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: '1.5'
|
60
60
|
type: :development
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
|
-
- - ~>
|
64
|
+
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: '1.5'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: rake
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- -
|
71
|
+
- - ">="
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: '0'
|
74
74
|
type: :development
|
75
75
|
prerelease: false
|
76
76
|
version_requirements: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
|
-
- -
|
78
|
+
- - ">="
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '0'
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: rspec
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
84
84
|
requirements:
|
85
|
-
- - ~>
|
85
|
+
- - "~>"
|
86
86
|
- !ruby/object:Gem::Version
|
87
87
|
version: '2.14'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
90
|
version_requirements: !ruby/object:Gem::Requirement
|
91
91
|
requirements:
|
92
|
-
- - ~>
|
92
|
+
- - "~>"
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: '2.14'
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
96
|
name: moped
|
97
97
|
requirement: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
|
-
- - ~>
|
99
|
+
- - "~>"
|
100
100
|
- !ruby/object:Gem::Version
|
101
101
|
version: '1.5'
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
105
|
requirements:
|
106
|
-
- - ~>
|
106
|
+
- - "~>"
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: '1.5'
|
109
109
|
- !ruby/object:Gem::Dependency
|
110
110
|
name: bson
|
111
111
|
requirement: !ruby/object:Gem::Requirement
|
112
112
|
requirements:
|
113
|
-
- - ~>
|
113
|
+
- - "~>"
|
114
114
|
- !ruby/object:Gem::Version
|
115
115
|
version: '1.9'
|
116
116
|
type: :development
|
117
117
|
prerelease: false
|
118
118
|
version_requirements: !ruby/object:Gem::Requirement
|
119
119
|
requirements:
|
120
|
-
- - ~>
|
120
|
+
- - "~>"
|
121
121
|
- !ruby/object:Gem::Version
|
122
122
|
version: '1.9'
|
123
123
|
- !ruby/object:Gem::Dependency
|
124
124
|
name: mysql2
|
125
125
|
requirement: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
|
-
- -
|
127
|
+
- - ">="
|
128
128
|
- !ruby/object:Gem::Version
|
129
129
|
version: '0'
|
130
130
|
type: :development
|
131
131
|
prerelease: false
|
132
132
|
version_requirements: !ruby/object:Gem::Requirement
|
133
133
|
requirements:
|
134
|
-
- -
|
134
|
+
- - ">="
|
135
135
|
- !ruby/object:Gem::Version
|
136
136
|
version: '0'
|
137
137
|
- !ruby/object:Gem::Dependency
|
138
138
|
name: composite_primary_keys
|
139
139
|
requirement: !ruby/object:Gem::Requirement
|
140
140
|
requirements:
|
141
|
-
- -
|
141
|
+
- - ">="
|
142
142
|
- !ruby/object:Gem::Version
|
143
143
|
version: '0'
|
144
144
|
type: :development
|
145
145
|
prerelease: false
|
146
146
|
version_requirements: !ruby/object:Gem::Requirement
|
147
147
|
requirements:
|
148
|
-
- -
|
148
|
+
- - ">="
|
149
149
|
- !ruby/object:Gem::Version
|
150
150
|
version: '0'
|
151
151
|
description:
|
@@ -155,8 +155,8 @@ executables: []
|
|
155
155
|
extensions: []
|
156
156
|
extra_rdoc_files: []
|
157
157
|
files:
|
158
|
-
- .gitignore
|
159
|
-
- .travis.yml
|
158
|
+
- ".gitignore"
|
159
|
+
- ".travis.yml"
|
160
160
|
- CHANGES.md
|
161
161
|
- Gemfile
|
162
162
|
- LICENSE.txt
|
@@ -186,17 +186,17 @@ require_paths:
|
|
186
186
|
- lib
|
187
187
|
required_ruby_version: !ruby/object:Gem::Requirement
|
188
188
|
requirements:
|
189
|
-
- -
|
189
|
+
- - ">="
|
190
190
|
- !ruby/object:Gem::Version
|
191
191
|
version: '0'
|
192
192
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
193
193
|
requirements:
|
194
|
-
- -
|
194
|
+
- - ">="
|
195
195
|
- !ruby/object:Gem::Version
|
196
196
|
version: '0'
|
197
197
|
requirements: []
|
198
198
|
rubyforge_project:
|
199
|
-
rubygems_version: 2.2.
|
199
|
+
rubygems_version: 2.2.2
|
200
200
|
signing_key:
|
201
201
|
specification_version: 4
|
202
202
|
summary: Transparently store MongoDB ObjectId values in ActiveRecord.
|