Synvert

logo

Main workflow Coverage Status Gem Version

Synvert = syntax + convert, makes it easy to convert ruby code automatically.

Synvert is composed by synvert-core and synvert-snippets.

synvert-core provides a dsl to convert ruby code.

synvert-snippets lists all snippets to convert ruby code based on synvert-core.

Installation

Install it using rubygems

$ gem install synvert

then run

$ synvert --sync

Usage

$ synvert -h
Usage: synvert [project_path]
    -d, --load SNIPPET_PATHS         load custom snippets, snippet paths can be local file path or remote http url
    -l, --list                       list all available snippets
    -q, --query QUERY                query specified snippets
        --skip FILE_PATTERNS         skip specified files or directories, separated by comma, e.g. app/models/post.rb,vendor/plugins/**/*.rb
    -s, --show SNIPPET_NAME          show specified snippet description
        --sync                       sync snippets
    -r, --run SNIPPET_NAMES          run specified snippets
    -v, --version                    show this version

e.g.

$ synvert -r factory_girl/use_short_syntax,rails/upgrade_3_2_to_4_0 ~/Sites/railsbp/rails-bestpractices.com

Docker

We have a docker image to run synvert

$ docker pull xinminlabs/awesomecode-synvert

$ docker run xinminlabs/awesomecode-synvert synvert --list

$ docker run -v <your project path>:/app xinminlabs/awesomecode-synvert synvert --run default/check_syntax /app

Documentation

https://xinminlabs.github.io/synvert/

Contributing

  1. Fork it
  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 new Pull Request