Sha256: cb30cfa892a570796943193f365c82ff9c4fa2612476bcd9229284906435a22b

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

require 'rails/generators/ripple_generator'

module Ripple
  module Generators
    class TestGenerator < Base
      desc 'Generates test helpers for Ripple. Test::Unit, RSpec and Cucumber are supported.'
      # Cucumber
      def create_cucumber_file
        if File.directory?(Rails.root + "features/support")
          template 'test_server.rb', 'features/support/ripple.rb'
          insert_into_file 'features/support/ripple.rb', "\n\nAfter do\n  Ripple::TestServer.clear\nend", :after => "Ripple::TestServer.setup"
        end
      end

      # RSpec
      def create_rspec_file
        if File.file?(Rails.root + 'spec/spec_helper.rb')
          template 'test_server.rb', 'spec/support/ripple.rb'
          inject_into_file 'spec/spec_helper.rb', :after => /R[Ss]pec\.configure do \|config\|/ do
            "\n  config.after(:each) do\n    Ripple::TestServer.clear\n  end\n"
          end
        end
      end

      # Test::Unit
      def create_test_unit_file
        if File.file?(Rails.root + 'test/test_helper.rb')
          template 'test_server.rb', 'test/ripple_test_helper.rb'
          inject_into_file "test/test_helper.rb", :before => "class ActiveSupport::TestCase" do
            "# Setup in-memory test server for Riak\nrequire File.expand_path('../ripple_test_helper.rb', __FILE__)\n\n"
          end
          inject_into_class "test/test_helper.rb", ActiveSupport::TestCase do
            "  teardown { Ripple::TestServer.clear }\n\n"
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
seomoz-ripple-1.0.0.pre lib/rails/generators/ripple/test/test_generator.rb