ar-orderable 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6db5662b4903bbb0be3eb2c6a9a1ecc51842257f
4
+ data.tar.gz: cd2f93a4bdcfdb250aeb452e9111b3512d9e28de
5
+ SHA512:
6
+ metadata.gz: 36042d7a30634bb9f937afabb65b2837601ee3a5d9ccfac964938fcb952d93b10073a8a2ed19be0c8836be6ffe48ae6dcb40fecddc2cf13d38d90a558a0d001f
7
+ data.tar.gz: ebb6b1a90e1929328dd0d1b74902651b4f701721dfd5b00f37bc7af9580d0663dd7a038d17e58356df355ffa5a24525358b9898f6d796f32788831e0014f17e0
data/.gitignore ADDED
@@ -0,0 +1,24 @@
1
+ # rcov generated
2
+ coverage
3
+
4
+ # rdoc generated
5
+ rdoc
6
+
7
+ # yard generated
8
+ doc
9
+ .yardoc
10
+
11
+ # bundler
12
+ .bundle
13
+
14
+ # jeweler generated
15
+ pkg
16
+
17
+ #.\#*
18
+
19
+ # For vim:
20
+ *.swp
21
+
22
+ # log
23
+
24
+ spec/*.log
data/Gemfile CHANGED
@@ -3,10 +3,11 @@ source "http://rubygems.org"
3
3
  gem 'rails', '>= 3.0.0'
4
4
 
5
5
  group :development do
6
- gem 'sqlite3', '~> 1.3.4'
7
- gem 'rspec', '~> 2.6.0'
8
- gem 'ruby-debug19', '~> 0.11.6'
9
- gem "bundler", "~> 1.0.0"
10
- gem "jeweler", "~> 1.6.4"
11
- gem "rcov", ">= 0"
6
+ gem 'sqlite3', '~> 1.3.7'
7
+ gem 'byebug', '~> 1.7.0'
8
+ end
9
+
10
+ group :test do
11
+ gem "simplecov", "~> 0.7.1"
12
+ gem 'rspec', '~> 2.14.0'
12
13
  end
data/Gemfile.lock CHANGED
@@ -1,110 +1,103 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- abstract (1.0.0)
5
- actionmailer (3.0.9)
6
- actionpack (= 3.0.9)
7
- mail (~> 2.2.19)
8
- actionpack (3.0.9)
9
- activemodel (= 3.0.9)
10
- activesupport (= 3.0.9)
11
- builder (~> 2.1.2)
12
- erubis (~> 2.6.6)
13
- i18n (~> 0.5.0)
14
- rack (~> 1.2.1)
15
- rack-mount (~> 0.6.14)
16
- rack-test (~> 0.5.7)
17
- tzinfo (~> 0.3.23)
18
- activemodel (3.0.9)
19
- activesupport (= 3.0.9)
20
- builder (~> 2.1.2)
21
- i18n (~> 0.5.0)
22
- activerecord (3.0.9)
23
- activemodel (= 3.0.9)
24
- activesupport (= 3.0.9)
25
- arel (~> 2.0.10)
26
- tzinfo (~> 0.3.23)
27
- activeresource (3.0.9)
28
- activemodel (= 3.0.9)
29
- activesupport (= 3.0.9)
30
- activesupport (3.0.9)
31
- archive-tar-minitar (0.5.2)
32
- arel (2.0.10)
33
- builder (2.1.2)
34
- columnize (0.3.4)
35
- diff-lcs (1.1.2)
36
- erubis (2.6.6)
37
- abstract (>= 1.0.0)
38
- git (1.2.5)
39
- i18n (0.5.0)
40
- jeweler (1.6.4)
41
- bundler (~> 1.0)
42
- git (>= 1.2.5)
43
- rake
44
- linecache19 (0.5.12)
45
- ruby_core_source (>= 0.1.4)
46
- mail (2.2.19)
47
- activesupport (>= 2.3.6)
48
- i18n (>= 0.4.0)
4
+ actionmailer (4.0.0)
5
+ actionpack (= 4.0.0)
6
+ mail (~> 2.5.3)
7
+ actionpack (4.0.0)
8
+ activesupport (= 4.0.0)
9
+ builder (~> 3.1.0)
10
+ erubis (~> 2.7.0)
11
+ rack (~> 1.5.2)
12
+ rack-test (~> 0.6.2)
13
+ activemodel (4.0.0)
14
+ activesupport (= 4.0.0)
15
+ builder (~> 3.1.0)
16
+ activerecord (4.0.0)
17
+ activemodel (= 4.0.0)
18
+ activerecord-deprecated_finders (~> 1.0.2)
19
+ activesupport (= 4.0.0)
20
+ arel (~> 4.0.0)
21
+ activerecord-deprecated_finders (1.0.3)
22
+ activesupport (4.0.0)
23
+ i18n (~> 0.6, >= 0.6.4)
24
+ minitest (~> 4.2)
25
+ multi_json (~> 1.3)
26
+ thread_safe (~> 0.1)
27
+ tzinfo (~> 0.3.37)
28
+ arel (4.0.0)
29
+ atomic (1.1.12)
30
+ builder (3.1.4)
31
+ byebug (1.7.0)
32
+ columnize (~> 0.3.6)
33
+ debugger-linecache (~> 1.2.0)
34
+ columnize (0.3.6)
35
+ debugger-linecache (1.2.0)
36
+ diff-lcs (1.2.4)
37
+ erubis (2.7.0)
38
+ hike (1.2.3)
39
+ i18n (0.6.4)
40
+ mail (2.5.4)
49
41
  mime-types (~> 1.16)
50
42
  treetop (~> 1.4.8)
51
- mime-types (1.16)
52
- polyglot (0.3.2)
53
- rack (1.2.3)
54
- rack-mount (0.6.14)
55
- rack (>= 1.0.0)
56
- rack-test (0.5.7)
43
+ mime-types (1.23)
44
+ minitest (4.7.5)
45
+ multi_json (1.7.8)
46
+ polyglot (0.3.3)
47
+ rack (1.5.2)
48
+ rack-test (0.6.2)
57
49
  rack (>= 1.0)
58
- rails (3.0.9)
59
- actionmailer (= 3.0.9)
60
- actionpack (= 3.0.9)
61
- activerecord (= 3.0.9)
62
- activeresource (= 3.0.9)
63
- activesupport (= 3.0.9)
64
- bundler (~> 1.0)
65
- railties (= 3.0.9)
66
- railties (3.0.9)
67
- actionpack (= 3.0.9)
68
- activesupport (= 3.0.9)
50
+ rails (4.0.0)
51
+ actionmailer (= 4.0.0)
52
+ actionpack (= 4.0.0)
53
+ activerecord (= 4.0.0)
54
+ activesupport (= 4.0.0)
55
+ bundler (>= 1.3.0, < 2.0)
56
+ railties (= 4.0.0)
57
+ sprockets-rails (~> 2.0.0)
58
+ railties (4.0.0)
59
+ actionpack (= 4.0.0)
60
+ activesupport (= 4.0.0)
69
61
  rake (>= 0.8.7)
70
- rdoc (~> 3.4)
71
- thor (~> 0.14.4)
72
- rake (0.9.2)
73
- rcov (0.9.9)
74
- rdoc (3.9.1)
75
- rspec (2.6.0)
76
- rspec-core (~> 2.6.0)
77
- rspec-expectations (~> 2.6.0)
78
- rspec-mocks (~> 2.6.0)
79
- rspec-core (2.6.4)
80
- rspec-expectations (2.6.0)
81
- diff-lcs (~> 1.1.2)
82
- rspec-mocks (2.6.0)
83
- ruby-debug-base19 (0.11.25)
84
- columnize (>= 0.3.1)
85
- linecache19 (>= 0.5.11)
86
- ruby_core_source (>= 0.1.4)
87
- ruby-debug19 (0.11.6)
88
- columnize (>= 0.3.1)
89
- linecache19 (>= 0.5.11)
90
- ruby-debug-base19 (>= 0.11.19)
91
- ruby_core_source (0.1.5)
92
- archive-tar-minitar (>= 0.5.2)
93
- sqlite3 (1.3.4)
94
- thor (0.14.6)
95
- treetop (1.4.10)
62
+ thor (>= 0.18.1, < 2.0)
63
+ rake (10.1.0)
64
+ rspec (2.14.1)
65
+ rspec-core (~> 2.14.0)
66
+ rspec-expectations (~> 2.14.0)
67
+ rspec-mocks (~> 2.14.0)
68
+ rspec-core (2.14.4)
69
+ rspec-expectations (2.14.0)
70
+ diff-lcs (>= 1.1.3, < 2.0)
71
+ rspec-mocks (2.14.2)
72
+ simplecov (0.7.1)
73
+ multi_json (~> 1.0)
74
+ simplecov-html (~> 0.7.1)
75
+ simplecov-html (0.7.1)
76
+ sprockets (2.10.0)
77
+ hike (~> 1.2)
78
+ multi_json (~> 1.0)
79
+ rack (~> 1.0)
80
+ tilt (~> 1.1, != 1.3.0)
81
+ sprockets-rails (2.0.0)
82
+ actionpack (>= 3.0)
83
+ activesupport (>= 3.0)
84
+ sprockets (~> 2.8)
85
+ sqlite3 (1.3.7)
86
+ thor (0.18.1)
87
+ thread_safe (0.1.2)
88
+ atomic
89
+ tilt (1.4.1)
90
+ treetop (1.4.14)
96
91
  polyglot
97
92
  polyglot (>= 0.3.1)
98
- tzinfo (0.3.29)
93
+ tzinfo (0.3.37)
99
94
 
100
95
  PLATFORMS
101
96
  ruby
102
97
 
103
98
  DEPENDENCIES
104
- bundler (~> 1.0.0)
105
- jeweler (~> 1.6.4)
99
+ byebug (~> 1.7.0)
106
100
  rails (>= 3.0.0)
107
- rcov
108
- rspec (~> 2.6.0)
109
- ruby-debug19 (~> 0.11.6)
110
- sqlite3 (~> 1.3.4)
101
+ rspec (~> 2.14.0)
102
+ simplecov (~> 0.7.1)
103
+ sqlite3 (~> 1.3.7)
data/Rakefile CHANGED
@@ -1,44 +1,7 @@
1
- # encoding: utf-8
2
-
3
1
  require 'rubygems'
4
2
  require 'bundler'
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
- exit e.status_code
11
- end
12
- require 'rake'
13
-
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
- gem.name = "ar-orderable"
18
- gem.homepage = "http://github.com/ithouse/ar-orderable"
19
- gem.license = "MIT"
20
- gem.summary = %Q{Rails 3 plugin for simple ordering.}
21
- gem.description = %Q{You can order AR records and skip callbacks}
22
- gem.email = "gatis@ithouse.cc"
23
- gem.authors = ["Gatis Tomsons","IT House"]
24
- # dependencies defined in Gemfile
25
- end
26
- Jeweler::RubygemsDotOrgTasks.new
27
-
28
- require 'rcov/rcovtask'
29
- Rcov::RcovTask.new do |test|
30
- test.libs << 'spec'
31
- test.pattern = 'spec/**/_spec*.rb'
32
- test.verbose = true
33
- test.rcov_opts << '--exclude "gems/*"'
34
- end
35
-
36
- require 'rdoc/task'
37
- Rake::RDocTask.new do |rdoc|
38
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
3
+ require 'rspec/core/rake_task'
39
4
 
40
- rdoc.rdoc_dir = 'rdoc'
41
- rdoc.title = "ar-orderable #{version}"
42
- rdoc.rdoc_files.include('README*')
43
- rdoc.rdoc_files.include('lib/**/*.rb')
44
- end
5
+ Bundler::GemHelper.install_tasks
6
+ RSpec::Core::RakeTask.new(:spec)
7
+ task :default => :spec
data/ar-orderable.gemspec CHANGED
@@ -1,69 +1,22 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
5
3
 
6
4
  Gem::Specification.new do |s|
7
- s.name = %q{ar-orderable}
8
- s.version = "1.0.3"
5
+ s.name = "ar-orderable"
6
+ s.version = '1.0.4'
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ["ITHouse (Latvia)", "Gatis Tomsons"]
9
+ s.email = "support@ithouse.lv"
10
+ s.homepage = "http://github.com/ithouse/ar-orderable"
11
+ s.summary = %q{You can order AR records and skip callbacks}
9
12
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = [%q{Gatis Tomsons}, %q{IT House}]
12
- s.date = %q{2011-11-08}
13
- s.description = %q{You can order AR records and skip callbacks}
14
- s.email = %q{gatis@ithouse.cc}
15
13
  s.extra_rdoc_files = [
16
14
  "README.md"
17
15
  ]
18
- s.files = [
19
- ".document",
20
- ".rspec",
21
- "Gemfile",
22
- "Gemfile.lock",
23
- "MIT-LICENSE",
24
- "README.md",
25
- "Rakefile",
26
- "VERSION",
27
- "ar-orderable.gemspec",
28
- "lib/ar-orderable.rb",
29
- "spec/ar-orderable_spec.rb",
30
- "spec/spec.opts",
31
- "spec/spec_helper.rb"
32
- ]
33
- s.homepage = %q{http://github.com/ithouse/ar-orderable}
34
- s.licenses = [%q{MIT}]
35
- s.require_paths = [%q{lib}]
36
- s.rubygems_version = %q{1.8.8}
37
- s.summary = %q{Rails 3 plugin for simple ordering.}
38
-
39
- if s.respond_to? :specification_version then
40
- s.specification_version = 3
16
+ s.licenses = ["MIT"]
41
17
 
42
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
- s.add_runtime_dependency(%q<rails>, [">= 3.0.0"])
44
- s.add_development_dependency(%q<sqlite3>, ["~> 1.3.4"])
45
- s.add_development_dependency(%q<rspec>, ["~> 2.6.0"])
46
- s.add_development_dependency(%q<ruby-debug19>, ["~> 0.11.6"])
47
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
48
- s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
49
- s.add_development_dependency(%q<rcov>, [">= 0"])
50
- else
51
- s.add_dependency(%q<rails>, [">= 3.0.0"])
52
- s.add_dependency(%q<sqlite3>, ["~> 1.3.4"])
53
- s.add_dependency(%q<rspec>, ["~> 2.6.0"])
54
- s.add_dependency(%q<ruby-debug19>, ["~> 0.11.6"])
55
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
56
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
57
- s.add_dependency(%q<rcov>, [">= 0"])
58
- end
59
- else
60
- s.add_dependency(%q<rails>, [">= 3.0.0"])
61
- s.add_dependency(%q<sqlite3>, ["~> 1.3.4"])
62
- s.add_dependency(%q<rspec>, ["~> 2.6.0"])
63
- s.add_dependency(%q<ruby-debug19>, ["~> 0.11.6"])
64
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
65
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
66
- s.add_dependency(%q<rcov>, [">= 0"])
67
- end
18
+ s.add_runtime_dependency(%q<activerecord>, [">= 3.0", "< 4.0"])
19
+ s.files = `git ls-files`.split("\n")
20
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
+ s.require_paths = ["lib"]
68
22
  end
69
-
data/lib/ar-orderable.rb CHANGED
@@ -1,7 +1,6 @@
1
- $:<<File.dirname(__FILE__) unless $:.include?(File.dirname(__FILE__))
2
- module ActiveRecord # :nodoc:
3
- module Orderable # :nodoc:
4
- def self.included(base) # :nodoc:
1
+ module ActiveRecord
2
+ module Orderable
3
+ def self.included(base)
5
4
  base.extend(ClassMethods)
6
5
  end
7
6
 
@@ -11,13 +10,14 @@ module ActiveRecord # :nodoc:
11
10
  # @:column [string] column name
12
11
  # acts_as_orderable :column => "order_nr"
13
12
  def acts_as_orderable options = {}
13
+ return unless self.connection.table_exists?(self.table_name)
14
14
  self.orderable_column = (options[:column] || "order_nr").to_s
15
15
  self.skip_callbacks_for_orderable = options[:skip_callbacks]
16
16
  if self.columns_hash.keys.include? self.orderable_column
17
17
  self.orderable_scope = options[:scope]
18
18
  self.before_save :pre_save_ordering
19
19
  self.before_destroy :pre_destroy_ordering
20
- self.default_scope :order => self.orderable_column
20
+ self.default_scope { order(self.orderable_column) }
21
21
  #self.validates_uniqueness_of self.orderable_column, :scope => @orderable_scope
22
22
  include ActiveRecord::Orderable::InstanceMethods
23
23
  else
@@ -130,4 +130,4 @@ module ActiveRecord # :nodoc:
130
130
  end
131
131
  end
132
132
 
133
- ActiveRecord::Base.class_eval { include ActiveRecord::Orderable }
133
+ ActiveRecord::Base.class_eval { include ActiveRecord::Orderable }
data/spec/spec_helper.rb CHANGED
@@ -1,19 +1,16 @@
1
1
  require 'rubygems'
2
2
  require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
3
+ Bundler.setup(:default, :test)
10
4
 
5
+ require 'simplecov'
6
+ SimpleCov.start
11
7
  require 'rails'
12
8
  require 'active_record'
13
9
  require 'rspec'
14
10
  require 'logger'
15
- require 'ruby-debug'
11
+ require 'byebug'
16
12
  require 'ar-orderable'
13
+
17
14
  ActiveRecord::Base.logger = Logger.new(File.open("#{File.dirname(__FILE__)}/database.log", 'w+'))
18
15
  ActiveRecord::Base.establish_connection({ :database => ":memory:", :adapter => 'sqlite3', :timeout => 500 })
19
16
 
metadata CHANGED
@@ -1,102 +1,45 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ar-orderable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
5
- prerelease:
4
+ version: 1.0.4
6
5
  platform: ruby
7
6
  authors:
7
+ - ITHouse (Latvia)
8
8
  - Gatis Tomsons
9
- - IT House
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2011-11-08 00:00:00.000000000Z
12
+ date: 2013-08-06 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
- name: rails
17
- requirement: &17147740 !ruby/object:Gem::Requirement
18
- none: false
15
+ name: activerecord
16
+ requirement: !ruby/object:Gem::Requirement
19
17
  requirements:
20
- - - ! '>='
18
+ - - '>='
21
19
  - !ruby/object:Gem::Version
22
- version: 3.0.0
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: *17147740
26
- - !ruby/object:Gem::Dependency
27
- name: sqlite3
28
- requirement: &17146680 !ruby/object:Gem::Requirement
29
- none: false
30
- requirements:
31
- - - ~>
20
+ version: '3.0'
21
+ - - <
32
22
  - !ruby/object:Gem::Version
33
- version: 1.3.4
34
- type: :development
35
- prerelease: false
36
- version_requirements: *17146680
37
- - !ruby/object:Gem::Dependency
38
- name: rspec
39
- requirement: &17145080 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- version: 2.6.0
45
- type: :development
46
- prerelease: false
47
- version_requirements: *17145080
48
- - !ruby/object:Gem::Dependency
49
- name: ruby-debug19
50
- requirement: &17144280 !ruby/object:Gem::Requirement
51
- none: false
52
- requirements:
53
- - - ~>
54
- - !ruby/object:Gem::Version
55
- version: 0.11.6
56
- type: :development
57
- prerelease: false
58
- version_requirements: *17144280
59
- - !ruby/object:Gem::Dependency
60
- name: bundler
61
- requirement: &17143240 !ruby/object:Gem::Requirement
62
- none: false
63
- requirements:
64
- - - ~>
65
- - !ruby/object:Gem::Version
66
- version: 1.0.0
67
- type: :development
23
+ version: '4.0'
24
+ type: :runtime
68
25
  prerelease: false
69
- version_requirements: *17143240
70
- - !ruby/object:Gem::Dependency
71
- name: jeweler
72
- requirement: &17142480 !ruby/object:Gem::Requirement
73
- none: false
26
+ version_requirements: !ruby/object:Gem::Requirement
74
27
  requirements:
75
- - - ~>
28
+ - - '>='
76
29
  - !ruby/object:Gem::Version
77
- version: 1.6.4
78
- type: :development
79
- prerelease: false
80
- version_requirements: *17142480
81
- - !ruby/object:Gem::Dependency
82
- name: rcov
83
- requirement: &17141560 !ruby/object:Gem::Requirement
84
- none: false
85
- requirements:
86
- - - ! '>='
30
+ version: '3.0'
31
+ - - <
87
32
  - !ruby/object:Gem::Version
88
- version: '0'
89
- type: :development
90
- prerelease: false
91
- version_requirements: *17141560
92
- description: You can order AR records and skip callbacks
93
- email: gatis@ithouse.cc
33
+ version: '4.0'
34
+ description:
35
+ email: support@ithouse.lv
94
36
  executables: []
95
37
  extensions: []
96
38
  extra_rdoc_files:
97
39
  - README.md
98
40
  files:
99
41
  - .document
42
+ - .gitignore
100
43
  - .rspec
101
44
  - Gemfile
102
45
  - Gemfile.lock
@@ -112,29 +55,28 @@ files:
112
55
  homepage: http://github.com/ithouse/ar-orderable
113
56
  licenses:
114
57
  - MIT
58
+ metadata: {}
115
59
  post_install_message:
116
60
  rdoc_options: []
117
61
  require_paths:
118
62
  - lib
119
63
  required_ruby_version: !ruby/object:Gem::Requirement
120
- none: false
121
64
  requirements:
122
- - - ! '>='
65
+ - - '>='
123
66
  - !ruby/object:Gem::Version
124
67
  version: '0'
125
- segments:
126
- - 0
127
- hash: -531530570232780643
128
68
  required_rubygems_version: !ruby/object:Gem::Requirement
129
- none: false
130
69
  requirements:
131
- - - ! '>='
70
+ - - '>='
132
71
  - !ruby/object:Gem::Version
133
72
  version: '0'
134
73
  requirements: []
135
74
  rubyforge_project:
136
- rubygems_version: 1.8.8
75
+ rubygems_version: 2.0.4
137
76
  signing_key:
138
- specification_version: 3
139
- summary: Rails 3 plugin for simple ordering.
140
- test_files: []
77
+ specification_version: 4
78
+ summary: You can order AR records and skip callbacks
79
+ test_files:
80
+ - spec/ar-orderable_spec.rb
81
+ - spec/spec.opts
82
+ - spec/spec_helper.rb