objectid_columns 1.0.3 → 1.0.5
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 +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.
|