Currently, provides only a test helper for testing custom Guard plugins.
Usage (in a Guard plugin)
In your gemspec:
s.add_dependency('guard-compat', '~> 1.0')
In all your plugin files (e.g.
# Don't require "guard/plugin" here or in any other plugin's files require 'guard/compat/plugin' module class MyPlugin < Plugin # (...) end end
- Do not include any files from Guard directly (if you need something from Guard which Guard::Compat doesn't provide, file an issue)
- Include 'guard/compat/plugin' is all your files which use
- Make sure you include the
< Pluginpart in every file which add classes or methods to your plugin class (important if your plugin consists of multiple files/sub class)
- Remove requires from your spec_helper and explicitly add them to each test/file
And in your plugin tests (e.g.
require 'guard/compat/test/helper' require 'guard/myplugin' # And your tests instantiating your plugin go here... RSpec.describe Guard::Myplugin do
Migrating your API calls
Guard::Compat::UI (or Compat::UI for short)
Guard::Compat.matching_files (Watcher is otherwise unavailable - see Guard::Less template for passing patterns as plugin options)
Guard::UI.color=> for creating ANSI colored text if currently enabled in Guard
Guard::UI.color_enabled?=> for checking if ANSI color output is currently enabled in Guard
Guard::UI.watched_directories=> compatible way of obtaining watched_directories (recommended instead of accessing Watcher patterns or pattern subgroup hacks)
(Open an issue if you feel something important is missing)
See lib/guard/compat/example.rb for an example plugin implementation.
See spec/guard/compat/example_spec.rb for an example on how to test plugins using Guard::Compat.
See spec/guard/compat/example_template_spec.rb for an example on how to test plugin templates.
- Fork it ( https://github.com/guard/guard-compat/fork )
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create a new Pull Request