File: rails_rspec.rb

package info (click to toggle)
ruby-rr 3.1.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,424 kB
  • sloc: ruby: 11,405; makefile: 7
file content (50 lines) | stat: -rw-r--r-- 1,140 bytes parent folder | download | duplicates (6)
1
2
3
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
require File.expand_path('../rspec', __FILE__)
require File.expand_path('../rails', __FILE__)
require File.expand_path('../../test_file/rails_rspec', __FILE__)
require File.expand_path('../../test_helper/rails_rspec', __FILE__)

module Project
  module RailsRSpec
    include RSpec
    include Rails

    def setup
      super
      test_file_generator.mixin TestFile::RailsRSpec
      test_helper_generator.mixin TestHelper::RailsRSpec
    end

    def configure
      super
      gem_dependencies << gem_dependency(
        :name => 'rspec-rails',
        :version => rspec_gem_version,
        :group => [:development, :test]
      )
      add_to_test_requires(rspec_rails_path)
    end

    def generate_skeleton
      super
      run_command_within!(generate_rspec_command)
    end

    private

    def rspec_rails_path
      if rails_version == 2
        'spec/rails'
      else
        'rspec/rails'
      end
    end

    def generate_rspec_command
      if rails_version == 2
        ruby_command('script/generate rspec --skip')
      else
        ruby_command('rails generate rspec:install --skip')
      end
    end
  end
  end