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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 94e1b315e419f3b337fab63a3b63c0c7d04362f0
4
- data.tar.gz: 03b1088c5276a16e9ad4f5ad99eccdcbe37ab6e0
3
+ metadata.gz: a6213ba541fdd9b68df8d30e572850f98cbc1b7e
4
+ data.tar.gz: 06cadfde790e54b29fd5290548ed1b3a8bcd748b
5
5
  SHA512:
6
- metadata.gz: ee0092c240240d96190358a6e40100e902e1374f8a7e1dfae7bd60230031ab9ece872011bd73b3802b937c7b2c864d4aa88c8928cbebf9fd0b9d472ab77be6c6
7
- data.tar.gz: 17c58e7b6da57fd0ed6714a8f6aaae509d00159b3c8e2dcd3d578c0853790414fd214eb1e094deb7f5945d1ca591e1d7eb12ba6a7e835f8893fca61bb3ecc223
6
+ metadata.gz: 0fb48c7deb15e09af7f3bb7379f06308b21c3178c87e932fde26a83abd02f9cfc3a68f799470855ed388a66c5428835c1ab04588789bb69116bc991793aa6ca3
7
+ data.tar.gz: a9492619098659fa7dac9ffd910e291c431fcc060f08e03875f50e441f21bc5aeaa59b47f7c265f8166fbfec11152bc36148c66a5799ffc71e806a656ee86c8a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.1
4
+
5
+ - has_children-0.2.2
6
+ - Rewrited specs.
7
+
3
8
  ## 0.2.0
4
9
 
5
10
  - has_children-0.2.0
@@ -1,3 +1,3 @@
1
1
  module HasHierarchy
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.1'
3
3
  end
@@ -1,56 +1,58 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe HasHierarchy do
4
- before(:each) do
5
- @foo = Item.create!(name: 'foo')
6
- @bar = Item.create!(name: 'bar')
7
-
8
- @qux = @bar.children.create!(name: 'qux')
9
- @baz = @bar.children.create!(name: 'baz')
10
-
11
- @quux = @qux.children.create!(name: 'quux')
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(Item.tree).to be_arranged_like({
16
- @foo => {},
17
- @bar => {
18
- @qux => {
19
- @quux => {},
15
+ expect(described_class.tree).to be_arranged_like({
16
+ foo => {},
17
+ bar => {
18
+ qux => {
19
+ quux => {},
20
20
  },
21
- @baz => {}
21
+ baz => {}
22
22
  }
23
23
  })
24
24
  end
25
25
 
26
26
  it '#move_after' do
27
- @quux.move_after(@foo)
28
-
29
- [@foo, @bar, @baz, @qux, @quux].each(&:reload)
30
-
31
- expect(Item.ordered.tree).to be_arranged_like({
32
- @foo => {},
33
- @quux => {},
34
- @bar => {
35
- @qux => {},
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
- @baz.move_before(@quux)
43
-
44
- [@foo, @bar, @baz, @qux, @quux].each(&:reload)
45
-
46
- expect(Item.ordered.tree).to be_arranged_like({
47
- @foo => {},
48
- @bar => {
49
- @qux => {
50
- @baz => {},
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.0
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-26 00:00:00.000000000 Z
11
+ date: 2014-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler