crowdworks/captureful_formatter

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# CapturefulFormatter

[![Gem Version](https://badge.fury.io/rb/captureful_formatter.svg)](http://badge.fury.io/rb/captureful_formatter)[![Code Climate](https://codeclimate.com/github/crowdworks/captureful_formatter/badges/gpa.svg)](https://codeclimate.com/github/crowdworks/captureful_formatter)
[![Build Status](https://travis-ci.org/crowdworks/captureful_formatter.svg)](https://travis-ci.org/crowdworks/captureful_formatter)
[![Code Climate](https://codeclimate.com/github/crowdworks/captureful_formatter/badges/gpa.svg)](https://codeclimate.com/github/crowdworks/captureful_formatter)
[![Coverage Status](https://coveralls.io/repos/crowdworks/captureful_formatter/badge.png?branch=master)](https://coveralls.io/r/crowdworks/captureful_formatter?branch=master)
[![Dependency Status](https://gemnasium.com/crowdworks/captureful_formatter.svg)](https://gemnasium.com/crowdworks/captureful_formatter)

Yet another custom formatter for [Turnip](https://github.com/jnicklas/turnip). Saving screenshots and pages each steps.

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'captureful_formatter'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install captureful_formatter

Now edit the .rspec file in your project directory (create it if doesn't exist), and add the following line:

    -r captureful_formatter
    -f CapturefulFormatter::Formatter

## Usage

Run this command.

    $ rspec

## Sample

![output sample](https://github.com/crowdworks/captureful_formatter/blob/master/sample.png)

## Configuration

```ruby
CapturefulFormatter.configure do |config|
  config.project_name = "Your Project" # Title of test report
  config.output_directory = "./.captureful_formatter" # The path to where the test report is saved.
  config.template_path = "path/to/template" # your custom template file path.
end
```

now, captureful_formatter support erb template only.

### Custom Capturer

You can capture any resources, e.g. page screenshot, rendered html, server log files and os information.
CapturefulFormatter allows you to add custom capturers.

```ruby
class CustomCapture < CapturefulFormatter::Capturer::Base
  def capture
    File.write(save_path, User.find(2).name)
  end
end

CapturefulFormatter.configure do |config|
  config.capturers << CustomCapture.new
end
```

`capture` method called at every step finished, And you can save file with `save_path` method.

## Contributing

1. Fork it ( https://github.com/ayasuda/captureful_formatter/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request