mongoid-tree-rational 0.1.0 → 2.0.0

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.
@@ -2,14 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: mongoid-tree-rational 2.0.0 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "mongoid-tree-rational"
8
- s.version = "0.1.0"
9
+ s.version = "2.0.0"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["Leif Ringstad", "Benedikt Deicke"]
12
- s.date = "2013-10-09"
14
+ s.date = "2014-08-20"
13
15
  s.description = "A tree structure for Mongoid documents using the materialized path pattern and rational number sorting."
14
16
  s.email = "leifcr@gmail.com"
15
17
  s.extra_rdoc_files = [
@@ -42,16 +44,16 @@ Gem::Specification.new do |s|
42
44
  ]
43
45
  s.homepage = "https://github.com/boxcms/mongoid-tree-rational"
44
46
  s.licenses = ["MIT"]
45
- s.require_paths = ["lib"]
46
- s.rubygems_version = "1.8.25"
47
+ s.rubygems_version = "2.2.2"
47
48
  s.summary = "A tree structure for Mongoid documents with rational numbers"
48
49
 
49
50
  if s.respond_to? :specification_version then
50
- s.specification_version = 3
51
+ s.specification_version = 4
51
52
 
52
53
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
53
- s.add_runtime_dependency(%q<mongoid>, ["<= 4.0", ">= 3.0"])
54
+ s.add_runtime_dependency(%q<mongoid>, ["<= 5.0", ">= 4.0"])
54
55
  s.add_runtime_dependency(%q<rational_number>, [">= 0"])
56
+ s.add_runtime_dependency(%q<rubysl-rake>, ["~> 2.0"])
55
57
  s.add_development_dependency(%q<rake>, [">= 0"])
56
58
  s.add_development_dependency(%q<rspec>, [">= 0"])
57
59
  s.add_development_dependency(%q<yard>, [">= 0"])
@@ -60,14 +62,14 @@ Gem::Specification.new do |s|
60
62
  s.add_development_dependency(%q<rb-inotify>, [">= 0"])
61
63
  s.add_development_dependency(%q<rb-fsevent>, [">= 0"])
62
64
  s.add_development_dependency(%q<wdm>, [">= 0"])
63
- s.add_development_dependency(%q<hirb>, [">= 0"])
64
- s.add_development_dependency(%q<wirble>, [">= 0"])
65
65
  s.add_development_dependency(%q<awesome_print>, [">= 0"])
66
+ s.add_development_dependency(%q<timecop>, [">= 0"])
66
67
  s.add_development_dependency(%q<coveralls>, [">= 0"])
67
68
  s.add_development_dependency(%q<simplecov>, [">= 0"])
68
69
  else
69
- s.add_dependency(%q<mongoid>, ["<= 4.0", ">= 3.0"])
70
+ s.add_dependency(%q<mongoid>, ["<= 5.0", ">= 4.0"])
70
71
  s.add_dependency(%q<rational_number>, [">= 0"])
72
+ s.add_dependency(%q<rubysl-rake>, ["~> 2.0"])
71
73
  s.add_dependency(%q<rake>, [">= 0"])
72
74
  s.add_dependency(%q<rspec>, [">= 0"])
73
75
  s.add_dependency(%q<yard>, [">= 0"])
@@ -76,15 +78,15 @@ Gem::Specification.new do |s|
76
78
  s.add_dependency(%q<rb-inotify>, [">= 0"])
77
79
  s.add_dependency(%q<rb-fsevent>, [">= 0"])
78
80
  s.add_dependency(%q<wdm>, [">= 0"])
79
- s.add_dependency(%q<hirb>, [">= 0"])
80
- s.add_dependency(%q<wirble>, [">= 0"])
81
81
  s.add_dependency(%q<awesome_print>, [">= 0"])
82
+ s.add_dependency(%q<timecop>, [">= 0"])
82
83
  s.add_dependency(%q<coveralls>, [">= 0"])
83
84
  s.add_dependency(%q<simplecov>, [">= 0"])
84
85
  end
85
86
  else
86
- s.add_dependency(%q<mongoid>, ["<= 4.0", ">= 3.0"])
87
+ s.add_dependency(%q<mongoid>, ["<= 5.0", ">= 4.0"])
87
88
  s.add_dependency(%q<rational_number>, [">= 0"])
89
+ s.add_dependency(%q<rubysl-rake>, ["~> 2.0"])
88
90
  s.add_dependency(%q<rake>, [">= 0"])
89
91
  s.add_dependency(%q<rspec>, [">= 0"])
90
92
  s.add_dependency(%q<yard>, [">= 0"])
@@ -93,9 +95,8 @@ Gem::Specification.new do |s|
93
95
  s.add_dependency(%q<rb-inotify>, [">= 0"])
94
96
  s.add_dependency(%q<rb-fsevent>, [">= 0"])
95
97
  s.add_dependency(%q<wdm>, [">= 0"])
96
- s.add_dependency(%q<hirb>, [">= 0"])
97
- s.add_dependency(%q<wirble>, [">= 0"])
98
98
  s.add_dependency(%q<awesome_print>, [">= 0"])
99
+ s.add_dependency(%q<timecop>, [">= 0"])
99
100
  s.add_dependency(%q<coveralls>, [">= 0"])
100
101
  s.add_dependency(%q<simplecov>, [">= 0"])
101
102
  end
@@ -1,4 +1,5 @@
1
1
  require 'spec_helper'
2
+ require 'timecop'
2
3
 
3
4
  describe Mongoid::Tree::RationalNumbering do
4
5
 
@@ -566,6 +567,16 @@ describe Mongoid::Tree::RationalNumbering do
566
567
  expect(node(:node_1).rational_number).to eq(RationalNumber.new(2,1))
567
568
  expect(node(:node_3).rational_number).to eq(RationalNumber.new(3,1))
568
569
  end
570
+
571
+ it "should move conflicting nodes and their children when setting nv/dv trough function" do
572
+ node_3 = node(:node_3)
573
+ node_3.move_to_rational_number(5,2)
574
+ node_3.save!
575
+ expect(node(:node_3).rational_number).to eq(RationalNumber.new(5,2))
576
+ expect(node(:node_2_1).rational_number).to eq(RationalNumber.new(8,3))
577
+ expect(node(:node_2_2).rational_number).to eq(RationalNumber.new(11,4))
578
+ end
579
+
569
580
  end
570
581
 
571
582
  describe "#move_to_top" do
@@ -762,4 +773,181 @@ describe Mongoid::Tree::RationalNumbering do
762
773
 
763
774
  end # describe "testing validations"
764
775
 
776
+ describe "testing with timestamped nodes" do
777
+ before(:each) do
778
+ setup_tree <<-ENDTREE
779
+ - node_1:
780
+ - node_1_1
781
+ - node_1_2
782
+ - node_2:
783
+ - node_2_1
784
+ - node_2_2
785
+ - node_2_3
786
+ - node_3
787
+ ENDTREE
788
+ end
789
+
790
+ describe "siblings should keep timestamp, node should be updated" do
791
+ subject { RationalNumberedTimestampNode }
792
+
793
+ it "when inserting a new node" do
794
+ node_2_1_new = RationalNumberedTimestampNode.new(:name => "node_2_1_new")
795
+ node_2_1_new.rational_number_nv = node(:node_2_1).rational_number.nv
796
+ node_2_1_new.rational_number_dv = node(:node_2_1).rational_number.dv
797
+ prev_updated_at = node(:node_2_1).updated_at
798
+ Timecop.freeze(Time.now + 30.minutes) do
799
+ node_2_1_new.save
800
+ expect(node_2_1_new.updated_at).to be_within(2.seconds).of(Time.now)
801
+ expect(node(:node_2_1).updated_at).to eq(prev_updated_at)
802
+ end
803
+ end
804
+
805
+ it "when moving a node up" do
806
+ prev_updated_at = node(:node_2_2).updated_at
807
+ Timecop.freeze(Time.now + 30.minutes) do
808
+ node(:node_2_3).move_up
809
+ expect(node(:node_2_3).updated_at).to be_within(2.seconds).of(Time.now)
810
+ expect(node(:node_2_2).updated_at).to eq(prev_updated_at)
811
+ end
812
+ end
813
+
814
+ it "when moving a node down" do
815
+ prev_updated_at = node(:node_2_2).updated_at
816
+ Timecop.freeze(Time.now + 30.minutes) do
817
+ node(:node_2_1).move_down
818
+ expect(node(:node_2_1).updated_at).to be_within(2.seconds).of(Time.now)
819
+ expect(node(:node_2_2).updated_at).to eq(prev_updated_at)
820
+ end
821
+ end
822
+
823
+ it "when moving a to the bottom of a tree" do
824
+ prev_updated_at = node(:node_2_2).updated_at
825
+ Timecop.freeze(Time.now + 30.minutes) do
826
+ node(:node_2_1).move_to_bottom
827
+ expect(node(:node_2_1).updated_at).to be_within(2.seconds).of(Time.now)
828
+ expect(node(:node_2_2).updated_at).to eq(prev_updated_at)
829
+ end
830
+ end
831
+
832
+ it "when moving a to the top of a tree" do
833
+ prev_updated_at = node(:node_2_2).updated_at
834
+ Timecop.freeze(Time.now + 30.minutes) do
835
+ node(:node_2_3).move_to_top
836
+ expect(node(:node_2_3).updated_at).to be_within(2.seconds).of(Time.now)
837
+ expect(node(:node_2_2).updated_at).to eq(prev_updated_at)
838
+ end
839
+ end
840
+
841
+ it "when moving a node to a new parent" do
842
+ original_root = node(:node_1)
843
+ other_root = node(:node_2)
844
+ child = node(:node_1_2)
845
+ expect(child.position).to eq(2)
846
+ prev_updated_at = node(:node_2_2).updated_at
847
+ Timecop.freeze(Time.now + 30.minutes) do
848
+ child.parent = other_root
849
+ child.save
850
+ child.reload
851
+ expect(node(:node_2_2).updated_at).to eq(prev_updated_at)
852
+ end
853
+ end
854
+
855
+ it "when removing a node" do
856
+ prev_updated_at = node(:node_2_2).updated_at
857
+ Timecop.freeze(Time.now + 30.minutes) do
858
+ node(:node_2_1).destroy
859
+ expect(node(:node_2_2).updated_at).to eq(prev_updated_at)
860
+ end
861
+ end
862
+
863
+ end # "on siblings it"
864
+
865
+ describe "when disabling auto_tree_timestamping, timestamps should be updated" do
866
+ subject { RationalNumberedTimestampNodeDisabledTimestamp }
867
+
868
+ it "when inserting a new node" do
869
+ node_2_1_new = RationalNumberedTimestampNodeDisabledTimestamp.create(:name => "node_2_1_new")
870
+ Timecop.freeze(Time.now + 30.minutes) do
871
+ node_2_1_new.move_to_rational_number(node(:node_2_1).rational_number_nv, node(:node_2_1).rational_number_dv)
872
+ node_2_1_new.save
873
+ expect(node_2_1_new.updated_at).to be_within(2.seconds).of(Time.now)
874
+ expect(node(:node_2_1).updated_at).to be_within(2.seconds).of(Time.now)
875
+ end
876
+ end
877
+
878
+ it "when moving a node up" do
879
+ prev_updated_at = node(:node_2_2).updated_at
880
+ Timecop.freeze(Time.now + 30.minutes) do
881
+ node(:node_2_3).move_up
882
+ expect(node(:node_2_3).updated_at).to be_within(2.seconds).of(Time.now)
883
+ expect(node(:node_2_2).updated_at).to be_within(2.seconds).of(Time.now)
884
+ end
885
+ end
886
+
887
+ it "when moving a node down" do
888
+ prev_updated_at = node(:node_2_2).updated_at
889
+ Timecop.freeze(Time.now + 30.minutes) do
890
+ node(:node_2_1).move_down
891
+ expect(node(:node_2_1).updated_at).to be_within(2.seconds).of(Time.now)
892
+ expect(node(:node_2_2).updated_at).to be_within(2.seconds).of(Time.now)
893
+ end
894
+ end
895
+
896
+ it "when moving a to the bottom of a tree" do
897
+ prev_updated_at = node(:node_2_2).updated_at
898
+ Timecop.freeze(Time.now + 30.minutes) do
899
+ node(:node_2_1).move_to_bottom
900
+ expect(node(:node_2_1).updated_at).to be_within(2.seconds).of(Time.now)
901
+ expect(node(:node_2_2).updated_at).to be_within(2.seconds).of(Time.now)
902
+ end
903
+ end
904
+
905
+ it "when moving a to the top of a tree" do
906
+ prev_updated_at = node(:node_2_2).updated_at
907
+ Timecop.freeze(Time.now + 30.minutes) do
908
+ node(:node_2_3).move_to_top
909
+ expect(node(:node_2_3).updated_at).to be_within(2.seconds).of(Time.now)
910
+ expect(node(:node_2_2).updated_at).to be_within(2.seconds).of(Time.now)
911
+ end
912
+ end
913
+
914
+ it "when moving a node to a new parent" do
915
+ original_root = node(:node_1)
916
+ other_root = node(:node_2)
917
+ child = node(:node_2_1)
918
+ prev_updated_at = node(:node_2_2).updated_at
919
+ Timecop.freeze(Time.now + 30.minutes) do
920
+ child.parent = other_root
921
+ child.save
922
+ child.reload
923
+ expect(node(:node_2_2).updated_at).to be_within(2.seconds).of(Time.now)
924
+ end
925
+ end
926
+
927
+ it "when removing a node" do
928
+ prev_updated_at = node(:node_2_2).updated_at
929
+ Timecop.freeze(Time.now + 30.minutes) do
930
+ node(:node_2_1).destroy
931
+ expect(node(:node_2_2).updated_at).to be_within(2.seconds).of(Time.now)
932
+ end
933
+ end
934
+
935
+ end # "on siblings it"
936
+ end # "testing with timestamped nodes"
937
+
938
+ # describe "testing moving within siblings" do
939
+ # before(:each) do
940
+ # setup_tree <<-ENDTREE
941
+ # - node_1
942
+ # - node_2:
943
+ # - node_2_1
944
+ # - node_2_2
945
+ # - node_3
946
+ # ENDTREE
947
+ # end
948
+ # it "should move node_2_2 " do
949
+ # end
950
+
951
+ # end
952
+
765
953
  end # Mongoid::Tree::RationalNumbering
@@ -141,7 +141,7 @@ describe Mongoid::Tree::Traversal do
141
141
  @root1 = node(:root1)
142
142
  @root2 = node(:root2)
143
143
 
144
- Node.stub(:roots).and_return [@root1, @root2]
144
+ allow(Node).to receive(:roots).and_return [@root1, @root2]
145
145
  end
146
146
 
147
147
  it 'should grab each root' do
@@ -10,7 +10,7 @@ describe Mongoid::Tree do
10
10
  expect(a.macro).to eq(:has_many)
11
11
  expect(a.class_name).to eq('Node')
12
12
  expect(a.foreign_key).to eq('parent_id')
13
- expect(Node.index_options).to have_key(:parent_id => 1)
13
+ expect(Node.index_specification(parent_id: 1)).to be
14
14
  end
15
15
 
16
16
  it "should be referenced in one parent as inverse of children" do
@@ -26,7 +26,14 @@ describe Mongoid::Tree do
26
26
  expect(f).to be
27
27
  expect(f.options[:type]).to eq(Array)
28
28
  expect(f.options[:default]).to eq([])
29
- expect(Node.index_options).to have_key(:parent_ids => 1)
29
+ expect(Node.index_specification(parent_ids: 1)).to be
30
+ end
31
+
32
+ it "should store the depth as Integer with index" do
33
+ f = Node.fields['depth']
34
+ expect(f).to be
35
+ expect(f.options[:type]).to eq(Integer)
36
+ expect(Node.index_specification(depth: 1)).to be
30
37
  end
31
38
 
32
39
  describe 'when new' do
@@ -254,6 +261,13 @@ describe Mongoid::Tree do
254
261
  expect(node(:child).depth).to eq(1)
255
262
  expect(node(:subchild).depth).to eq(2)
256
263
  end
264
+
265
+ it "should be updated when the nodes ancestors change" do
266
+ node(:child).update_attributes(:parent => nil)
267
+ expect(node(:child).depth).to eq(0)
268
+ expect(node(:subchild).depth).to eq(1)
269
+ end
270
+
257
271
  end
258
272
 
259
273
  describe '#root' do
@@ -5,7 +5,7 @@ class Node
5
5
 
6
6
  field :name
7
7
 
8
- attr_accessible :name
8
+ # attr_accessible :name
9
9
  end
10
10
 
11
11
  class SubclassedNode < Node
@@ -24,7 +24,7 @@ class OrderedNode
24
24
 
25
25
  field :name
26
26
 
27
- attr_accessible :name
27
+ # attr_accessible :name
28
28
  end
29
29
 
30
30
  class NodeWithEmbeddedDocument < Node
@@ -43,5 +43,28 @@ class RationalNumberedNode
43
43
 
44
44
  field :name
45
45
 
46
- attr_accessible :name
46
+ # attr_accessible :name
47
+ end
48
+
49
+ class RationalNumberedTimestampNode
50
+ include Mongoid::Document
51
+ include Mongoid::Tree
52
+ include Mongoid::Tree::RationalNumbering
53
+ include Mongoid::Timestamps
54
+
55
+ field :name
56
+
57
+ # attr_accessible :name
58
+ end
59
+
60
+ class RationalNumberedTimestampNodeDisabledTimestamp
61
+ include Mongoid::Document
62
+ include Mongoid::Tree
63
+ include Mongoid::Tree::RationalNumbering
64
+ include Mongoid::Timestamps
65
+ rational_number_options({ auto_tree_timestamping: false})
66
+
67
+ field :name
68
+
69
+ # attr_accessible :name
47
70
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-tree-rational
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
5
- prerelease:
4
+ version: 2.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Leif Ringstad
@@ -10,252 +9,222 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-10-09 00:00:00.000000000 Z
12
+ date: 2014-08-20 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: mongoid
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - <=
18
+ - - "<="
21
19
  - !ruby/object:Gem::Version
22
- version: '4.0'
23
- - - ! '>='
20
+ version: '5.0'
21
+ - - ">="
24
22
  - !ruby/object:Gem::Version
25
- version: '3.0'
23
+ version: '4.0'
26
24
  type: :runtime
27
25
  prerelease: false
28
26
  version_requirements: !ruby/object:Gem::Requirement
29
- none: false
30
27
  requirements:
31
- - - <=
28
+ - - "<="
32
29
  - !ruby/object:Gem::Version
33
- version: '4.0'
34
- - - ! '>='
30
+ version: '5.0'
31
+ - - ">="
35
32
  - !ruby/object:Gem::Version
36
- version: '3.0'
33
+ version: '4.0'
37
34
  - !ruby/object:Gem::Dependency
38
35
  name: rational_number
39
36
  requirement: !ruby/object:Gem::Requirement
40
- none: false
41
37
  requirements:
42
- - - ! '>='
38
+ - - ">="
43
39
  - !ruby/object:Gem::Version
44
40
  version: '0'
45
41
  type: :runtime
46
42
  prerelease: false
47
43
  version_requirements: !ruby/object:Gem::Requirement
48
- none: false
49
44
  requirements:
50
- - - ! '>='
45
+ - - ">="
51
46
  - !ruby/object:Gem::Version
52
47
  version: '0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: rubysl-rake
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
53
62
  - !ruby/object:Gem::Dependency
54
63
  name: rake
55
64
  requirement: !ruby/object:Gem::Requirement
56
- none: false
57
65
  requirements:
58
- - - ! '>='
66
+ - - ">="
59
67
  - !ruby/object:Gem::Version
60
68
  version: '0'
61
69
  type: :development
62
70
  prerelease: false
63
71
  version_requirements: !ruby/object:Gem::Requirement
64
- none: false
65
72
  requirements:
66
- - - ! '>='
73
+ - - ">="
67
74
  - !ruby/object:Gem::Version
68
75
  version: '0'
69
76
  - !ruby/object:Gem::Dependency
70
77
  name: rspec
71
78
  requirement: !ruby/object:Gem::Requirement
72
- none: false
73
79
  requirements:
74
- - - ! '>='
80
+ - - ">="
75
81
  - !ruby/object:Gem::Version
76
82
  version: '0'
77
83
  type: :development
78
84
  prerelease: false
79
85
  version_requirements: !ruby/object:Gem::Requirement
80
- none: false
81
86
  requirements:
82
- - - ! '>='
87
+ - - ">="
83
88
  - !ruby/object:Gem::Version
84
89
  version: '0'
85
90
  - !ruby/object:Gem::Dependency
86
91
  name: yard
87
92
  requirement: !ruby/object:Gem::Requirement
88
- none: false
89
93
  requirements:
90
- - - ! '>='
94
+ - - ">="
91
95
  - !ruby/object:Gem::Version
92
96
  version: '0'
93
97
  type: :development
94
98
  prerelease: false
95
99
  version_requirements: !ruby/object:Gem::Requirement
96
- none: false
97
100
  requirements:
98
- - - ! '>='
101
+ - - ">="
99
102
  - !ruby/object:Gem::Version
100
103
  version: '0'
101
104
  - !ruby/object:Gem::Dependency
102
105
  name: jeweler
103
106
  requirement: !ruby/object:Gem::Requirement
104
- none: false
105
107
  requirements:
106
- - - ! '>='
108
+ - - ">="
107
109
  - !ruby/object:Gem::Version
108
110
  version: '0'
109
111
  type: :development
110
112
  prerelease: false
111
113
  version_requirements: !ruby/object:Gem::Requirement
112
- none: false
113
114
  requirements:
114
- - - ! '>='
115
+ - - ">="
115
116
  - !ruby/object:Gem::Version
116
117
  version: '0'
117
118
  - !ruby/object:Gem::Dependency
118
119
  name: guard-rspec
119
120
  requirement: !ruby/object:Gem::Requirement
120
- none: false
121
121
  requirements:
122
- - - ! '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: 2.6.0
125
125
  type: :development
126
126
  prerelease: false
127
127
  version_requirements: !ruby/object:Gem::Requirement
128
- none: false
129
128
  requirements:
130
- - - ! '>='
129
+ - - ">="
131
130
  - !ruby/object:Gem::Version
132
131
  version: 2.6.0
133
132
  - !ruby/object:Gem::Dependency
134
133
  name: rb-inotify
135
134
  requirement: !ruby/object:Gem::Requirement
136
- none: false
137
135
  requirements:
138
- - - ! '>='
136
+ - - ">="
139
137
  - !ruby/object:Gem::Version
140
138
  version: '0'
141
139
  type: :development
142
140
  prerelease: false
143
141
  version_requirements: !ruby/object:Gem::Requirement
144
- none: false
145
142
  requirements:
146
- - - ! '>='
143
+ - - ">="
147
144
  - !ruby/object:Gem::Version
148
145
  version: '0'
149
146
  - !ruby/object:Gem::Dependency
150
147
  name: rb-fsevent
151
148
  requirement: !ruby/object:Gem::Requirement
152
- none: false
153
149
  requirements:
154
- - - ! '>='
150
+ - - ">="
155
151
  - !ruby/object:Gem::Version
156
152
  version: '0'
157
153
  type: :development
158
154
  prerelease: false
159
155
  version_requirements: !ruby/object:Gem::Requirement
160
- none: false
161
156
  requirements:
162
- - - ! '>='
157
+ - - ">="
163
158
  - !ruby/object:Gem::Version
164
159
  version: '0'
165
160
  - !ruby/object:Gem::Dependency
166
161
  name: wdm
167
162
  requirement: !ruby/object:Gem::Requirement
168
- none: false
169
163
  requirements:
170
- - - ! '>='
164
+ - - ">="
171
165
  - !ruby/object:Gem::Version
172
166
  version: '0'
173
167
  type: :development
174
168
  prerelease: false
175
169
  version_requirements: !ruby/object:Gem::Requirement
176
- none: false
177
170
  requirements:
178
- - - ! '>='
171
+ - - ">="
179
172
  - !ruby/object:Gem::Version
180
173
  version: '0'
181
174
  - !ruby/object:Gem::Dependency
182
- name: hirb
183
- requirement: !ruby/object:Gem::Requirement
184
- none: false
185
- requirements:
186
- - - ! '>='
187
- - !ruby/object:Gem::Version
188
- version: '0'
189
- type: :development
190
- prerelease: false
191
- version_requirements: !ruby/object:Gem::Requirement
192
- none: false
193
- requirements:
194
- - - ! '>='
195
- - !ruby/object:Gem::Version
196
- version: '0'
197
- - !ruby/object:Gem::Dependency
198
- name: wirble
175
+ name: awesome_print
199
176
  requirement: !ruby/object:Gem::Requirement
200
- none: false
201
177
  requirements:
202
- - - ! '>='
178
+ - - ">="
203
179
  - !ruby/object:Gem::Version
204
180
  version: '0'
205
181
  type: :development
206
182
  prerelease: false
207
183
  version_requirements: !ruby/object:Gem::Requirement
208
- none: false
209
184
  requirements:
210
- - - ! '>='
185
+ - - ">="
211
186
  - !ruby/object:Gem::Version
212
187
  version: '0'
213
188
  - !ruby/object:Gem::Dependency
214
- name: awesome_print
189
+ name: timecop
215
190
  requirement: !ruby/object:Gem::Requirement
216
- none: false
217
191
  requirements:
218
- - - ! '>='
192
+ - - ">="
219
193
  - !ruby/object:Gem::Version
220
194
  version: '0'
221
195
  type: :development
222
196
  prerelease: false
223
197
  version_requirements: !ruby/object:Gem::Requirement
224
- none: false
225
198
  requirements:
226
- - - ! '>='
199
+ - - ">="
227
200
  - !ruby/object:Gem::Version
228
201
  version: '0'
229
202
  - !ruby/object:Gem::Dependency
230
203
  name: coveralls
231
204
  requirement: !ruby/object:Gem::Requirement
232
- none: false
233
205
  requirements:
234
- - - ! '>='
206
+ - - ">="
235
207
  - !ruby/object:Gem::Version
236
208
  version: '0'
237
209
  type: :development
238
210
  prerelease: false
239
211
  version_requirements: !ruby/object:Gem::Requirement
240
- none: false
241
212
  requirements:
242
- - - ! '>='
213
+ - - ">="
243
214
  - !ruby/object:Gem::Version
244
215
  version: '0'
245
216
  - !ruby/object:Gem::Dependency
246
217
  name: simplecov
247
218
  requirement: !ruby/object:Gem::Requirement
248
- none: false
249
219
  requirements:
250
- - - ! '>='
220
+ - - ">="
251
221
  - !ruby/object:Gem::Version
252
222
  version: '0'
253
223
  type: :development
254
224
  prerelease: false
255
225
  version_requirements: !ruby/object:Gem::Requirement
256
- none: false
257
226
  requirements:
258
- - - ! '>='
227
+ - - ">="
259
228
  - !ruby/object:Gem::Version
260
229
  version: '0'
261
230
  description: A tree structure for Mongoid documents using the materialized path pattern
@@ -267,8 +236,8 @@ extra_rdoc_files:
267
236
  - LICENSE
268
237
  - README.md
269
238
  files:
270
- - .rspec
271
- - .travis.yml
239
+ - ".rspec"
240
+ - ".travis.yml"
272
241
  - Gemfile
273
242
  - Guardfile
274
243
  - LICENSE
@@ -292,29 +261,25 @@ files:
292
261
  homepage: https://github.com/boxcms/mongoid-tree-rational
293
262
  licenses:
294
263
  - MIT
264
+ metadata: {}
295
265
  post_install_message:
296
266
  rdoc_options: []
297
267
  require_paths:
298
268
  - lib
299
269
  required_ruby_version: !ruby/object:Gem::Requirement
300
- none: false
301
270
  requirements:
302
- - - ! '>='
271
+ - - ">="
303
272
  - !ruby/object:Gem::Version
304
273
  version: '0'
305
- segments:
306
- - 0
307
- hash: -552489557788164545
308
274
  required_rubygems_version: !ruby/object:Gem::Requirement
309
- none: false
310
275
  requirements:
311
- - - ! '>='
276
+ - - ">="
312
277
  - !ruby/object:Gem::Version
313
278
  version: '0'
314
279
  requirements: []
315
280
  rubyforge_project:
316
- rubygems_version: 1.8.25
281
+ rubygems_version: 2.2.2
317
282
  signing_key:
318
- specification_version: 3
283
+ specification_version: 4
319
284
  summary: A tree structure for Mongoid documents with rational numbers
320
285
  test_files: []