mongoid-sortable 1.0.0 → 1.0.1
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 +4 -4
- data/.rubocop.yml +35 -0
- data/Rakefile +3 -1
- data/lib/mongoid-sortable.rb +16 -14
- data/lib/mongoid-sortable/version.rb +3 -1
- data/mongoid-sortable.gemspec +18 -15
- data/spec/mongoid_sortable_spec.rb +68 -58
- data/spec/spec_helper.rb +7 -5
- data/spec/support/factories.rb +18 -16
- data/spec/support/models.rb +14 -12
- data/spec/support/mongoid.rb +3 -1
- data/spec/support/shared_examples_for_a_sortable_item.rb +39 -37
- metadata +48 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7a7102c97668882754ee12ee1a4d4f879c6f017ea7f0395acf5ae0e6672756b
|
4
|
+
data.tar.gz: 0b91faa1a327b796fe3f166a5321c89a0f64b22ad352e723ae0311bd4baa6e66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 397dff26b8cd590c112ade29ef5c22b4b5dd8021bca922df7009cacfeb003ca3af4a8932d500a159c95e4466ca993f69bd7067aa75da705789239e859d1d711b
|
7
|
+
data.tar.gz: 378c578e24ddc6c348deaf8d15d3157123fc40cc7f4d266bc31391881b6f1f9fe67b3105a6c2fc6411b0e807365fa0a5180ebe0b6676d6562c76aee89c9c882a
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# The behavior of RuboCop can be controlled via the .rubocop.yml
|
2
|
+
# configuration file. It makes it possible to enable/disable
|
3
|
+
# certain cops (checks) and to alter their behavior if they accept
|
4
|
+
# any parameters. The file can be placed either in your home
|
5
|
+
# directory or in some project directory.
|
6
|
+
#
|
7
|
+
# RuboCop will start looking for the configuration file in the directory
|
8
|
+
# where the inspected file is and continue its way up to the root directory.
|
9
|
+
#
|
10
|
+
# See https://github.com/rubocop-hq/rubocop/blob/master/manual/configuration.md
|
11
|
+
|
12
|
+
Style/HashEachMethods:
|
13
|
+
Enabled: true
|
14
|
+
|
15
|
+
Style/HashTransformKeys:
|
16
|
+
Enabled: true
|
17
|
+
|
18
|
+
Style/HashTransformValues:
|
19
|
+
Enabled: true
|
20
|
+
|
21
|
+
Style/Documentation:
|
22
|
+
Enabled: false
|
23
|
+
|
24
|
+
Lint/Void:
|
25
|
+
Enabled: false
|
26
|
+
|
27
|
+
Metrics/BlockLength:
|
28
|
+
Enabled: false
|
29
|
+
|
30
|
+
Naming/FileName:
|
31
|
+
Enabled: false
|
32
|
+
|
33
|
+
Layout/LineLength:
|
34
|
+
Max: 110
|
35
|
+
AutoCorrect: true
|
data/Rakefile
CHANGED
data/lib/mongoid-sortable.rb
CHANGED
@@ -1,16 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'mongoid-sortable/version'
|
2
4
|
require 'active_support/concern'
|
3
5
|
|
4
6
|
module Mongoid
|
5
7
|
module Sortable
|
6
8
|
extend ActiveSupport::Concern
|
7
|
-
|
9
|
+
|
8
10
|
included do
|
9
11
|
cattr_accessor :mongoid_sortable_options
|
10
12
|
self.mongoid_sortable_options = {}
|
11
13
|
|
12
14
|
field :position, type: Integer, default: 1
|
13
|
-
|
15
|
+
|
14
16
|
before_create :set_position
|
15
17
|
after_destroy :set_sibling_positions
|
16
18
|
end
|
@@ -26,45 +28,45 @@ module Mongoid
|
|
26
28
|
self.mongoid_sortable_options = options
|
27
29
|
end
|
28
30
|
end
|
29
|
-
|
31
|
+
|
30
32
|
def previous
|
31
33
|
position_scope.lt(position: position).order_by('position desc').first
|
32
34
|
end
|
33
|
-
|
35
|
+
|
34
36
|
def next
|
35
37
|
position_scope.gt(position: position).order_by('position asc').first
|
36
38
|
end
|
37
|
-
|
39
|
+
|
38
40
|
def reorder(ids)
|
39
41
|
ids.map!(&:to_s) # ensure entities are strings
|
40
42
|
ids.each_with_index do |id, index|
|
41
43
|
position_scope.find(id).set(position: index + 1)
|
42
44
|
end
|
43
45
|
end
|
44
|
-
|
46
|
+
|
45
47
|
def position_at(new_position)
|
46
|
-
position_scope.gt(position: position).each{|d| d.inc(position: -1) }
|
48
|
+
position_scope.gt(position: position).each { |d| d.inc(position: -1) }
|
47
49
|
set(position: nil)
|
48
|
-
position_scope.gte(position: new_position).each{|d| d.inc(position: 1) }
|
50
|
+
position_scope.gte(position: new_position).each { |d| d.inc(position: 1) }
|
49
51
|
set(position: new_position)
|
50
52
|
end
|
51
|
-
|
53
|
+
|
52
54
|
def set_position
|
53
55
|
self.position = position_scope.count + (embedded? ? 0 : 1)
|
54
56
|
end
|
55
|
-
|
57
|
+
|
56
58
|
def set_sibling_positions
|
57
|
-
position_scope.gt(position: position).each{|d| d.inc(position: -1) }
|
59
|
+
position_scope.gt(position: position).each { |d| d.inc(position: -1) }
|
58
60
|
end
|
59
61
|
|
60
62
|
def relation
|
61
|
-
(embedded? ? send(
|
63
|
+
(embedded? ? send(_association.inverse).send(_association.name) : self.class).unscoped.scoped
|
62
64
|
end
|
63
65
|
|
64
|
-
def position_scope(
|
66
|
+
def position_scope(_options = {})
|
65
67
|
scopes = Array(mongoid_sortable_options[:scope])
|
66
68
|
scopes.inject(relation) do |criteria, scope_field|
|
67
|
-
criteria.where(scope_field =>
|
69
|
+
criteria.where(scope_field => send(scope_field))
|
68
70
|
end
|
69
71
|
end
|
70
72
|
end
|
data/mongoid-sortable.gemspec
CHANGED
@@ -1,24 +1,27 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require File.expand_path('lib/mongoid-sortable/version', __dir__)
|
3
4
|
|
4
5
|
Gem::Specification.new do |gem|
|
5
|
-
gem.authors = [
|
6
|
-
gem.email = [
|
6
|
+
gem.authors = ['Elliott Pogue', 'Arik Jones']
|
7
|
+
gem.email = ['github@tnypxl.com']
|
7
8
|
# gem.description = %q{TODO: Write a gem description}
|
8
|
-
gem.summary =
|
9
|
-
gem.homepage =
|
9
|
+
gem.summary = 'A Mongoid 7.0 module for sorting'
|
10
|
+
gem.homepage = 'https://github.com/tnypxl/mongoid-sortable'
|
10
11
|
|
11
|
-
gem.files = `git ls-files`.split(
|
12
|
-
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
12
|
+
gem.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
|
13
|
+
gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
13
14
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
-
gem.name =
|
15
|
-
gem.require_paths = [
|
15
|
+
gem.name = 'mongoid-sortable'
|
16
|
+
gem.require_paths = ['lib']
|
16
17
|
gem.version = Mongoid::Sortable::VERSION
|
17
18
|
|
18
19
|
gem.add_dependency 'mongoid', '~> 7.0.5'
|
19
|
-
|
20
|
-
gem.add_development_dependency '
|
21
|
-
gem.add_development_dependency 'database_cleaner'
|
22
|
-
gem.add_development_dependency 'factory_bot', '~> 5.
|
23
|
-
gem.add_development_dependency '
|
20
|
+
|
21
|
+
gem.add_development_dependency 'byebug', '~> 11.1.1'
|
22
|
+
gem.add_development_dependency 'database_cleaner', '~> 1.8.3'
|
23
|
+
gem.add_development_dependency 'factory_bot', '~> 5.1.1'
|
24
|
+
gem.add_development_dependency 'rspec', '~> 3.9.0'
|
25
|
+
gem.add_development_dependency 'rubocop', '~> 0.80.0'
|
26
|
+
gem.add_development_dependency 'solargraph', '~> 0.38.5'
|
24
27
|
end
|
@@ -1,60 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
|
-
describe
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
5
|
+
describe 'MongoidSortable' do
|
6
|
+
describe 'sortable items' do
|
7
|
+
let(:parent) { FactoryBot.create(:parent_document) }
|
8
|
+
let!(:document1) { FactoryBot.create(:document, parent_document: parent) }
|
9
|
+
let!(:document2) { FactoryBot.create(:document, parent_document: parent) }
|
10
|
+
let!(:document3) { FactoryBot.create(:document, parent_document: parent) }
|
11
|
+
|
12
|
+
it_should_behave_like 'a sortable item'
|
13
|
+
|
14
|
+
it 'should properly sort' do
|
15
|
+
parent.documents.order_by('position asc').to_a.should == [
|
16
|
+
document1,
|
17
|
+
document2,
|
18
|
+
document3
|
19
|
+
]
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'with distinct parents' do
|
23
|
+
let(:parent1) { FactoryBot.create(:parent_document) }
|
24
|
+
let(:parent2) { FactoryBot.create(:parent_document) }
|
25
|
+
let!(:p1_doc1) { FactoryBot.create(:document, parent_document: parent1) }
|
26
|
+
let!(:p1_doc2) { FactoryBot.create(:document, parent_document: parent1) }
|
27
|
+
let!(:p2_doc1) { FactoryBot.create(:document, parent_document: parent2) }
|
28
|
+
let!(:p2_doc2) { FactoryBot.create(:document, parent_document: parent2) }
|
29
|
+
|
30
|
+
it 'should have their proper positions' do
|
31
|
+
p1_doc1.position.should == 1
|
32
|
+
p1_doc2.position.should == 2
|
33
|
+
p2_doc1.position.should == 1
|
34
|
+
p2_doc2.position.should == 2
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'should scope previous/next' do
|
38
|
+
p1_doc1.next.should == p1_doc2
|
39
|
+
p1_doc2.previous.should == p1_doc1
|
40
|
+
p2_doc1.next.should == p2_doc2
|
41
|
+
p2_doc2.previous.should == p2_doc1
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'should scope position_at' do
|
45
|
+
p1_doc1.position_at(2)
|
46
|
+
p1_doc1.reload.position.should == 2
|
47
|
+
p1_doc2.reload.position.should == 1
|
48
|
+
p2_doc1.reload.position.should == 1
|
49
|
+
p2_doc2.reload.position.should == 2
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe 'sortable embedded documents' do
|
55
|
+
let(:parent) { FactoryBot.create(:document) }
|
56
|
+
let!(:document1) { FactoryBot.create(:embedded_document, document: parent) }
|
57
|
+
let!(:document2) { FactoryBot.create(:embedded_document, document: parent) }
|
58
|
+
let!(:document3) { FactoryBot.create(:embedded_document, document: parent) }
|
59
|
+
|
60
|
+
it_should_behave_like 'a sortable item'
|
61
|
+
|
62
|
+
it 'should properly sort' do
|
63
|
+
parent.embedded_documents.order_by('position asc').to_a.should == [
|
64
|
+
document1,
|
65
|
+
document2,
|
66
|
+
document3
|
67
|
+
]
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__) + '/../lib')
|
2
4
|
plugin_test_dir = File.dirname(__FILE__)
|
3
5
|
|
4
6
|
require 'rubygems'
|
@@ -13,11 +15,11 @@ require 'mongoid'
|
|
13
15
|
|
14
16
|
require 'byebug'
|
15
17
|
|
16
|
-
Dir[
|
18
|
+
Dir['./spec/support/**/*.rb'].sort.each { |f| require f }
|
17
19
|
|
18
|
-
ENV[
|
19
|
-
Mongoid.load!(plugin_test_dir +
|
20
|
+
ENV['MONGOID_ENV'] = 'test'
|
21
|
+
Mongoid.load!(plugin_test_dir + '/db/mongoid.yml')
|
20
22
|
|
21
23
|
RSpec.configure do |config|
|
22
24
|
config.expect_with(:rspec) { |c| c.syntax = :should }
|
23
|
-
end
|
25
|
+
end
|
data/spec/support/factories.rb
CHANGED
@@ -1,21 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'factory_bot'
|
2
4
|
|
3
5
|
FactoryBot.define do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
factory :parent_document do
|
7
|
+
trait :with_documents do
|
8
|
+
after(:create) do |parent, _evaluator|
|
9
|
+
3.times { FactoryBot.create(:document, parent_document: parent) }
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
factory :document do
|
15
|
+
trait :with_embedded_docs do
|
16
|
+
after(:create) do |parent, _evaluator|
|
17
|
+
3.times { FactoryBot.create(:embedded_document, document: parent) }
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
19
21
|
|
20
|
-
|
21
|
-
end
|
22
|
+
factory :embedded_document
|
23
|
+
end
|
data/spec/support/models.rb
CHANGED
@@ -1,24 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'mongoid-sortable'
|
2
4
|
|
3
5
|
class ParentDocument
|
4
|
-
|
6
|
+
include Mongoid::Document
|
5
7
|
|
6
|
-
|
8
|
+
has_many :documents
|
7
9
|
end
|
8
10
|
|
9
11
|
class Document
|
10
|
-
|
11
|
-
|
12
|
+
include Mongoid::Document
|
13
|
+
include Mongoid::Sortable
|
12
14
|
|
13
|
-
|
14
|
-
|
15
|
-
|
15
|
+
belongs_to :parent_document, optional: true
|
16
|
+
embeds_many :embedded_documents
|
17
|
+
sortable scope: [:parent_document_id]
|
16
18
|
end
|
17
19
|
|
18
20
|
class EmbeddedDocument
|
19
|
-
|
20
|
-
|
21
|
+
include Mongoid::Document
|
22
|
+
include Mongoid::Sortable
|
21
23
|
|
22
|
-
|
23
|
-
|
24
|
-
end
|
24
|
+
embedded_in :document
|
25
|
+
sortable
|
26
|
+
end
|
data/spec/support/mongoid.rb
CHANGED
@@ -1,40 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
shared_examples_for 'a sortable item' do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
end
|
6
|
+
it { document1.position.should == 1 }
|
7
|
+
it { document2.position.should == 2 }
|
8
|
+
it { document3.position.should == 3 }
|
9
|
+
|
10
|
+
it 'should get the next item' do
|
11
|
+
document2.next.should == document3
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should get the previous item' do
|
15
|
+
document2.previous.should == document1
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should be positioned at new position' do
|
19
|
+
document1.position_at(2)
|
20
|
+
document1.reload.position.should == 2
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should reposition others when repositioned' do
|
24
|
+
document1.position_at(2)
|
25
|
+
document2.reload.position.should == 1
|
26
|
+
document3.reload.position.should == 3
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'should reposition others when destroyed' do
|
30
|
+
document1.destroy
|
31
|
+
document2.reload.position.should == 1
|
32
|
+
document3.reload.position.should == 2
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should reorder items when given an array' do
|
36
|
+
the_order = [document2.id.to_s, document3.id.to_s, document1.id.to_s]
|
37
|
+
document1.reorder(the_order)
|
38
|
+
document1.reload.position.should == 3
|
39
|
+
document2.reload.position.should == 1
|
40
|
+
document3.reload.position.should == 2
|
41
|
+
end
|
42
|
+
end
|
metadata
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid-sortable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elliott Pogue
|
8
|
+
- Arik Jones
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
@@ -25,61 +26,89 @@ dependencies:
|
|
25
26
|
- !ruby/object:Gem::Version
|
26
27
|
version: 7.0.5
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
29
|
+
name: byebug
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
|
-
- - "
|
32
|
+
- - "~>"
|
32
33
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
+
version: 11.1.1
|
34
35
|
type: :development
|
35
36
|
prerelease: false
|
36
37
|
version_requirements: !ruby/object:Gem::Requirement
|
37
38
|
requirements:
|
38
|
-
- - "
|
39
|
+
- - "~>"
|
39
40
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
41
|
+
version: 11.1.1
|
41
42
|
- !ruby/object:Gem::Dependency
|
42
43
|
name: database_cleaner
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
44
45
|
requirements:
|
45
|
-
- - "
|
46
|
+
- - "~>"
|
46
47
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
48
|
+
version: 1.8.3
|
48
49
|
type: :development
|
49
50
|
prerelease: false
|
50
51
|
version_requirements: !ruby/object:Gem::Requirement
|
51
52
|
requirements:
|
52
|
-
- - "
|
53
|
+
- - "~>"
|
53
54
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
+
version: 1.8.3
|
55
56
|
- !ruby/object:Gem::Dependency
|
56
57
|
name: factory_bot
|
57
58
|
requirement: !ruby/object:Gem::Requirement
|
58
59
|
requirements:
|
59
60
|
- - "~>"
|
60
61
|
- !ruby/object:Gem::Version
|
61
|
-
version: 5.
|
62
|
+
version: 5.1.1
|
62
63
|
type: :development
|
63
64
|
prerelease: false
|
64
65
|
version_requirements: !ruby/object:Gem::Requirement
|
65
66
|
requirements:
|
66
67
|
- - "~>"
|
67
68
|
- !ruby/object:Gem::Version
|
68
|
-
version: 5.
|
69
|
+
version: 5.1.1
|
69
70
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
71
|
+
name: rspec
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 3.9.0
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 3.9.0
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: rubocop
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 0.80.0
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 0.80.0
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: solargraph
|
71
100
|
requirement: !ruby/object:Gem::Requirement
|
72
101
|
requirements:
|
73
|
-
- - "
|
102
|
+
- - "~>"
|
74
103
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
104
|
+
version: 0.38.5
|
76
105
|
type: :development
|
77
106
|
prerelease: false
|
78
107
|
version_requirements: !ruby/object:Gem::Requirement
|
79
108
|
requirements:
|
80
|
-
- - "
|
109
|
+
- - "~>"
|
81
110
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
111
|
+
version: 0.38.5
|
83
112
|
description:
|
84
113
|
email:
|
85
114
|
- github@tnypxl.com
|
@@ -89,6 +118,7 @@ extra_rdoc_files: []
|
|
89
118
|
files:
|
90
119
|
- ".gitignore"
|
91
120
|
- ".rspec"
|
121
|
+
- ".rubocop.yml"
|
92
122
|
- Gemfile
|
93
123
|
- LICENSE
|
94
124
|
- README.md
|
@@ -103,7 +133,7 @@ files:
|
|
103
133
|
- spec/support/models.rb
|
104
134
|
- spec/support/mongoid.rb
|
105
135
|
- spec/support/shared_examples_for_a_sortable_item.rb
|
106
|
-
homepage: https://github.com/
|
136
|
+
homepage: https://github.com/tnypxl/mongoid-sortable
|
107
137
|
licenses: []
|
108
138
|
metadata: {}
|
109
139
|
post_install_message:
|