Lookout-Rake provides Rake tasks for testing using Lookout.
Ruby Vim script
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



  Lookout-Rake provides Rake¹ tasks for testing using Lookout².

¹ See http://rake.rubyforge.org/
² See http://disu.se/software/lookout-3.0/

§ Installation

    Install Lookout-Rake with

    % gem install lookout-rake

§ Usage

    Include the following code in your ‹Rakefile›:

      require 'lookout-rake-3.0'


    If the ‹:default› task hasn’t been defined it’ll be set to depend on the
    ‹:test› task.  The ‹:check› task will also depend on the ‹:test› task.
    There’s also a ‹:test:coverage› task that gets defined that uses the
    coverage library that comes with Ruby 1.9 to check the test coverage when
    the tests are run.

    You can hook up your test task to use your Inventory¹:

      load File.expand_path('../lib/library-X.0/version.rb', __FILE__)

      Lookout::Rake::Tasks::Test.new :inventory => Library::Version

    Also, if you use the tasks that come with Inventory-Rake², the test task
    will hook into the inventory you tell them to use automatically, that is,
    the following will do:

      load File.expand_path('../lib/library-X.0/version.rb', __FILE__)

      Inventory::Rake::Tasks.define Library::Version


    For further usage information, see the {API documentation}³.

¹ Inventory: http://disu.se/software/inventory-1.0/
² Inventory-Rake: http://disu.se/software/inventory-rake-1.0/
³ API: http://disu.se/software/lookout-rake-3.0/api/Lookout/Rake/Tasks/Test/

§ Integration

    To use Lookout together with Vim¹, place ‹contrib/rakelookout.vim› in
    ‹~/.vim/compiler› and add

      compiler rakelookout

    to ‹~/.vim/after/ftplugin/ruby.vim›.  Executing ‹:make› from inside Vim
    will now run your tests and an errors and failures can be visited with
    ‹:cnext›.  Execute ‹:help quickfix› for additional information.

    Another useful addition to your ‹~/.vim/after/ftplugin/ruby.vim› file may

      nnoremap <buffer> <silent> <Leader>M <Esc>:call <SID>run_test()<CR>
      let b:undo_ftplugin .= ' | nunmap <buffer> <Leader>M'

      function! s:run_test()
        let test = expand('%')
        let line = 'LINE=' . line('.')
        if test =~ '^lib/'
          let test = substitute(test, '^lib/', 'test/', '')
          let line = ""
        execute 'make' 'TEST=' . shellescape(test) line

    Now, pressing ‹<Leader>M› will either run all tests for a given class, if
    the implementation file is active, or run the test at or just before the
    cursor, if the test file is active.  This is useful if you’re currently
    receiving a lot of errors and/or failures and want to focus on those
    associated with a specific class or on a specific test.

¹ Find out more about Vim at http://www.vim.org/

§ Financing

    Currently, most of my time is spent at my day job and in my rather busy
    private life.  Please motivate me to spend time on this piece of software
    by donating some of your money to this project.  Yeah, I realize that
    requesting money to develop software is a bit, well, capitalistic of me.
    But please realize that I live in a capitalistic society and I need money
    to have other people give me the things that I need to continue living
    under the rules of said society.  So, if you feel that this piece of
    software has helped you out enough to warrant a reward, please PayPal a
    donation to now@disu.se¹.  Thanks!  Your support won’t go unnoticed!

¹ Send a donation:

§ Reporting Bugs

    Please report any bugs that you encounter to the {issue tracker}¹.

  ¹ See https://github.com/now/lookout-rake/issues

§ Authors

    Nikolai Weibull wrote the code, the tests, the manual pages, and this

§ Licensing

    Lookout-Rake is free software: you may redistribute it and/or modify it
    under the terms of the {GNU Lesser General Public License, version 3}¹ or
    later², as published by the {Free Software Foundation}³.

¹ See http://disu.se/licenses/lgpl-3.0/
² See http://gnu.org/licenses/
³ See http://fsf.org/