Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

rodiff

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rodiff

  • 1.1.1
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

rodiff

Version CI Coverage Maintainability

A ruby image comparison tool powered by Odiff in OCamel.

Motivation

A strong candidate against the veteran players on the internet like pixelmatch and ImageMagick

Impressive benchmarks from Odiff.

Getting Started

Install the gem and add to the application's Gemfile by executing:

bundle add rodiff

If bundler is not being used to manage dependencies, install the gem by executing:

gem install rodiff

This gem wraps the standalone executable of the Odiff. These executables are platform specific, there are separate gems per platform, but the suitable gem will automatically be selected for your machine.

Supported platforms are:

  • arm64-darwin (macos-arm64)
  • x64-mingw32 (windows-x64)
  • x64-mingw-ucrt (windows-x64)
  • x86_64-darwin (macos-x64)
  • x86_64-linux (linux-x64)

Using a local installation of Odiff

If you are not able to use the vendored standalone executables, a local installation of the Odiff executable can be configured by setting an environment variable named ODIFF_INSTALL_DIR to the directory path containing the executable.

For example, if you've installed the odiff-bin npm package and had the binaries downloaded at /path/to/node_modules/bin/odiff, then you should set your environment variable like so:

ODIFF_INSTALL_DIR=/path/to/node_modules/bin

or, for relative paths like ./node_modules/.bin/odiff:

ODIFF_INSTALL_DIR=node_modules/.bin

Development

After checking out the repo, run bin/setup to install dependencies. Then, run bundle exec rspec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.

Troubleshooting

ERROR: Cannot find the odiff executable for supported platform

Some users are reporting this error even when running on one of the supported platforms:

  • arm64-darwin
  • x64-mingw32
  • x64-mingw-ucrt
  • x86_64-darwin
  • x86_64-linux
Check Bundler PLATFORMS

A possible cause of this is that Bundler has not been told to include gems for your current platform. Please check your Gemfile.lock file to see whether your native platform is included in the PLATFORMS section. If necessary, run:

bundle lock --add-platform <platform-name>

and re-bundle.

Check BUNDLE_FORCE_RUBY_PLATFORM

Another common cause of this is that bundler is configured to always use the "ruby" platform via the BUNDLE_FORCE_RUBY_PLATFORM config parameter being set to true. Please remove this configuration:

bundle config unset force_ruby_platform
# or
bundle config set --local force_ruby_platform false

and re-bundle.

See https://bundler.io/man/bundle-config.1.html for more information.

License

Rodiff is released under the MIT License. Odiff is released under the MIT License.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ryancyq/rodiff.

FAQs

Package last updated on 27 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc