mongoid-compatibility 0.2.0 → 0.3.1

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: b581d6fe6ab393d78062a912a5469d7556264ddf
4
- data.tar.gz: 8c4d0a914c47b6cd8aa3c2ad5f33e98bfa00dc2c
3
+ metadata.gz: 873f442a8ff9a2b84c0d38cafd5a802ce0a28466
4
+ data.tar.gz: e9545691f356f72e835059e32913e3e4e30e8a28
5
5
  SHA512:
6
- metadata.gz: 9de999fb31af5a1f174879fd7e2977b0dcc1d82e938b6912aecaa79872d2bab0eec8aa2a52be60a71dd5717957e44c6f3e608dae304fe44fc7945fdd60ef8d68
7
- data.tar.gz: 09f6db3fd48cbd4aef59d1f7b3fd9495e40c8683be87e13b1c854d7547851d34dd3870b1a8e826a5d842fd1c06eacc054b43794eea2913b89217b75949ed8b98
6
+ metadata.gz: dfc225ab3375d9edbf93dbe5f6174e6fdbe6cd588e2ef353b0809ae69fc1d70751566d1888765f01558e3f3c85f27360a5830d70bba544b92e03e700ca3ae17b
7
+ data.tar.gz: cdc4bf29128fc0660567c4c5491e3325b305934630c74c790d45124d36347e14fe09b202ac36a4e2ba7414df9e176bd66417439f34fd80631d369d851f0e6c06
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2015-09-18 13:28:36 -0400 using RuboCop version 0.33.0.
3
+ # on 2015-09-25 07:58:30 -0400 using RuboCop version 0.33.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -18,6 +18,11 @@ Style/Documentation:
18
18
  - 'lib/mongoid/compatibility/self.rb'
19
19
  - 'lib/mongoid/compatibility/version.rb'
20
20
 
21
+ # Offense count: 1
22
+ Style/DoubleNegation:
23
+ Exclude:
24
+ - 'lib/mongoid/compatibility/version.rb'
25
+
21
26
  # Offense count: 1
22
27
  # Configuration parameters: Exclude.
23
28
  Style/FileName:
@@ -10,6 +10,7 @@ services:
10
10
  - mongodb
11
11
 
12
12
  env:
13
+ - MONGOID_VERSION=2
13
14
  - MONGOID_VERSION=3
14
15
  - MONGOID_VERSION=4
15
16
  - MONGOID_VERSION=5
@@ -1,3 +1,8 @@
1
+ ### 0.3.1 (2015/09/25)
2
+
3
+ * Compatibility with Mongoid 2 - [@dblock](https://github.com/dblock).
4
+ * Use constants to yield version, avoid matching regexp every time - [@dblock](https://github.com/dblock).
5
+
1
6
  ### 0.2.0 (2015/09/18)
2
7
 
3
8
  * [#1](https://github.com/dblock/mongoid-compatibility/issues/1): Require `mongoid/compatibility` - [@dblock](https://github.com/dblock).
data/Gemfile CHANGED
@@ -2,13 +2,16 @@ source 'http://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- case version = ENV['MONGOID_VERSION'] || '~> 5.0'
6
- when /5/
5
+ case version = ENV['MONGOID_VERSION'] || '5.0'
6
+ when /^5/
7
7
  gem 'mongoid', '~> 5.0'
8
- when /4/
8
+ when /^4/
9
9
  gem 'mongoid', '~> 4.0'
10
- when /3/
10
+ when /^3/
11
11
  gem 'mongoid', '~> 3.1'
12
+ when /^2/
13
+ gem 'mongoid', '~> 2.0'
14
+ gem 'bson_ext', platforms: :ruby
12
15
  else
13
16
  gem 'mongoid', version
14
17
  end
data/README.md CHANGED
@@ -6,7 +6,7 @@ Mongoid::Compatibility
6
6
  [![Dependency Status](https://gemnasium.com/dblock/mongoid-compatibility.svg)](https://gemnasium.com/dblock/mongoid-compatibility)
7
7
  [![Code Climate](https://codeclimate.com/github/dblock/mongoid-compatibility.svg)](https://codeclimate.com/github/dblock/mongoid-compatibility)
8
8
 
9
- Compatibility helpers for Mongoid 3, 4 and 5.
9
+ Compatibility helpers for Mongoid 2, 3, 4 and 5.
10
10
 
11
11
  ### Install
12
12
 
@@ -23,6 +23,9 @@ You may explicitly need to `require mongoid/compatibility`.
23
23
  #### Mongoid::Compatibility::Version
24
24
 
25
25
  ```
26
+ Mongoid::Compatibility::Version.mongoid2?
27
+ # => is this Mongoid 2.x?
28
+
26
29
  Mongoid::Compatibility::Version.mongoid3?
27
30
  # => is this Mongoid 3.x?
28
31
 
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Compatibility
3
- VERSION = '0.2.0'
3
+ VERSION = '0.3.1'
4
4
  end
5
5
  end
@@ -1,17 +1,17 @@
1
1
  module Mongoid
2
2
  module Compatibility
3
3
  module Version
4
- def self.mongoid3?
5
- Mongoid::VERSION =~ /^3\./
6
- end
4
+ module ClassMethods
5
+ (2..5).each do |v|
6
+ const_set "V#{v}", Mongoid::VERSION =~ Regexp.new("^#{v}\.")
7
7
 
8
- def self.mongoid4?
9
- Mongoid::VERSION =~ /^4\./
8
+ define_method "mongoid#{v}?" do
9
+ !!Mongoid::Compatibility::Version::ClassMethods.const_get("V#{v}")
10
+ end
11
+ end
10
12
  end
11
13
 
12
- def self.mongoid5?
13
- Mongoid::VERSION =~ /^5\./
14
- end
14
+ extend ClassMethods
15
15
  end
16
16
  end
17
17
  end
@@ -13,6 +13,6 @@ Gem::Specification.new do |s|
13
13
  s.homepage = 'http://github.com/dblock/mongoid-compatibility'
14
14
  s.licenses = ['MIT']
15
15
  s.summary = 'Compatibility helpers for Mongoid.'
16
- s.add_dependency 'mongoid', '>= 3.0.0'
16
+ s.add_dependency 'mongoid', '>= 2.0'
17
17
  s.add_dependency 'activesupport'
18
18
  end
@@ -0,0 +1,3 @@
1
+ test:
2
+ host: localhost
3
+ database: mongoid-compatibility
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mongoid::Compatibility::Version do
4
+ context 'mongoid? methods' do
5
+ it 'only true for one version' do
6
+ expect(
7
+ (Mongoid::Compatibility::Version.methods - Object.methods).one? do |m|
8
+ Mongoid::Compatibility::Version.send(m)
9
+ end
10
+ ).to be true
11
+ end
12
+ it 'defines version methods' do
13
+ expect(Mongoid::Compatibility::Version.methods - Object.methods).to_not eq []
14
+ end
15
+ (2..5).each do |v|
16
+ context "mongoid #{v}" do
17
+ it "responds to mongoid#{v}?" do
18
+ expect(Mongoid::Compatibility::Version).to respond_to("mongoid#{v}?")
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,6 +1,8 @@
1
1
  ENV['MONGOID_ENV'] = 'test'
2
2
 
3
- if Mongoid::Compatibility::Version.mongoid3?
3
+ if Mongoid::Compatibility::Version.mongoid2?
4
+ Mongoid.load! 'spec/config/mongoid2.yml'
5
+ elsif Mongoid::Compatibility::Version.mongoid3?
4
6
  Mongoid.load! 'spec/config/mongoid3.yml'
5
7
  elsif Mongoid::Compatibility::Version.mongoid4?
6
8
  Mongoid.load! 'spec/config/mongoid4.yml'
@@ -17,7 +19,9 @@ RSpec.configure do |config|
17
19
  Mongoid.purge!
18
20
  end
19
21
  config.after(:all) do
20
- if Mongoid::Compatibility::Version.mongoid3? || Mongoid::Compatibility::Version.mongoid4?
22
+ if Mongoid::Compatibility::Version.mongoid2?
23
+ Mongoid.master.connection.drop_database(Mongoid.database.name)
24
+ elsif Mongoid::Compatibility::Version.mongoid3? || Mongoid::Compatibility::Version.mongoid4?
21
25
  Mongoid.default_session.drop
22
26
  else
23
27
  Mongoid::Clients.default.database.drop
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-compatibility
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Doubrovkine
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-18 00:00:00.000000000 Z
11
+ date: 2015-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mongoid
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0
19
+ version: '2.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: 3.0.0
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -62,11 +62,13 @@ files:
62
62
  - lib/mongoid/compatibility/version.rb
63
63
  - lib/mongoid_compatibility.rb
64
64
  - mongoid-compatibility.gemspec
65
+ - spec/config/mongoid2.yml
65
66
  - spec/config/mongoid3.yml
66
67
  - spec/config/mongoid4.yml
67
68
  - spec/config/mongoid5.yml
68
69
  - spec/mongoid/compatibility/object_id_spec.rb
69
70
  - spec/mongoid/compatibility/self_spec.rb
71
+ - spec/mongoid/compatibility/version_spec.rb
70
72
  - spec/spec_helper.rb
71
73
  - spec/support/mongoid.rb
72
74
  homepage: http://github.com/dblock/mongoid-compatibility