has_hierarchy 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/has_hierarchy/version.rb +1 -1
- data/spec/has_hierarchy_spec.rb +37 -35
- data/spec/spec_helper.rb +0 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a6213ba541fdd9b68df8d30e572850f98cbc1b7e
|
4
|
+
data.tar.gz: 06cadfde790e54b29fd5290548ed1b3a8bcd748b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0fb48c7deb15e09af7f3bb7379f06308b21c3178c87e932fde26a83abd02f9cfc3a68f799470855ed388a66c5428835c1ab04588789bb69116bc991793aa6ca3
|
7
|
+
data.tar.gz: a9492619098659fa7dac9ffd910e291c431fcc060f08e03875f50e441f21bc5aeaa59b47f7c265f8166fbfec11152bc36148c66a5799ffc71e806a656ee86c8a
|
data/CHANGELOG.md
CHANGED
data/spec/has_hierarchy_spec.rb
CHANGED
@@ -1,56 +1,58 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
3
|
+
shared_examples 'ordered tree' do
|
4
|
+
let!(:foo) { described_class.create!(name: 'foo') }
|
5
|
+
let!(:bar) { described_class.create!(name: 'bar') }
|
6
|
+
let!(:qux) { bar.children.create!(name: 'qux') }
|
7
|
+
let!(:baz) { bar.children.create!(name: 'baz') }
|
8
|
+
let!(:quux) { qux.children.create!(name: 'quux') }
|
9
|
+
|
10
|
+
def reload_items
|
11
|
+
[ foo, bar, baz, qux, quux ].each(&:reload)
|
12
12
|
end
|
13
13
|
|
14
14
|
it do
|
15
|
-
expect(
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
expect(described_class.tree).to be_arranged_like({
|
16
|
+
foo => {},
|
17
|
+
bar => {
|
18
|
+
qux => {
|
19
|
+
quux => {},
|
20
20
|
},
|
21
|
-
|
21
|
+
baz => {}
|
22
22
|
}
|
23
23
|
})
|
24
24
|
end
|
25
25
|
|
26
26
|
it '#move_after' do
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
@baz => {}
|
27
|
+
quux.move_after(foo)
|
28
|
+
reload_items
|
29
|
+
|
30
|
+
expect(described_class.ordered.tree).to be_arranged_like({
|
31
|
+
foo => {},
|
32
|
+
quux => {},
|
33
|
+
bar => {
|
34
|
+
qux => {},
|
35
|
+
baz => {}
|
37
36
|
}
|
38
37
|
})
|
39
38
|
end
|
40
39
|
|
41
40
|
it '#move_before' do
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
@quux => {},
|
41
|
+
baz.move_before(quux)
|
42
|
+
reload_items
|
43
|
+
|
44
|
+
expect(described_class.ordered.tree).to be_arranged_like({
|
45
|
+
foo => {},
|
46
|
+
bar => {
|
47
|
+
qux => {
|
48
|
+
baz => {},
|
49
|
+
quux => {},
|
52
50
|
}
|
53
51
|
}
|
54
52
|
})
|
55
53
|
end
|
56
54
|
end
|
55
|
+
|
56
|
+
describe Item do
|
57
|
+
it_behaves_like 'ordered tree'
|
58
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,14 +1,9 @@
|
|
1
1
|
require 'codeclimate-test-reporter'
|
2
2
|
CodeClimate::TestReporter.start
|
3
3
|
|
4
|
-
require 'fileutils'
|
5
|
-
require 'logger'
|
6
4
|
require 'sqlite3'
|
7
5
|
require 'active_record'
|
8
6
|
|
9
|
-
FileUtils.mkdir_p('tmp/logs/')
|
10
|
-
ActiveRecord::Base.logger = Logger.new('tmp/logs/test.log')
|
11
|
-
ActiveRecord::Base.logger.level = Logger::DEBUG
|
12
7
|
ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:')
|
13
8
|
ActiveRecord::Schema.verbose = false
|
14
9
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: has_hierarchy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kolesnikov Danil
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|