jusleg/quotify-ruby

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# Quotify [![Build Status](https://travis-ci.org/jusleg/quotify-ruby.svg?branch=master)](https://travis-ci.org/jusleg/quotify-ruby) [![codecov](https://codecov.io/gh/jusleg/quotify-ruby/branch/master/graph/badge.svg)](https://codecov.io/gh/jusleg/quotify-ruby) [![Maintainability](https://api.codeclimate.com/v1/badges/972d13f147a8cc352acc/maintainability)](https://codeclimate.com/github/jusleg/quotify-ruby/maintainability) [![Gem Version](https://badge.fury.io/rb/quotify.svg)](https://badge.fury.io/rb/quotify)

Add random quotes to your app effortlessly

## How to install

Install via:
```
gem install quotify
```

Then start using it:
```
require 'quotify'
```

## Usage

You can generate a new quote quickly by calling the `generate` function:
```
puts Quotify.generate
=> You must be the change you wish to see in the world. - Logan Paul

super_fancy_quote = Quotify.generate
puts super_fancy_quote.author
=> Sarah Palin
puts super_fancy_quote.quote
=> C++ supports OOP
```

generate returns a [`Quotify::Quote`](https://github.com/jusleg/quotify-ruby/blob/master/lib/quotify/quote.rb) object. You can then use your favorite methods on it (`to_s`, `to_h`, `to_json`). Currently XML is not supported. If there is a demand, we will consider adding it in the next release.

You can also use the fancy `spacer` option in `to_s` to create majestic quotes:
```
Quotify::Quote.new.to_s(spacer: " 🔥 ")
 => Those were alternative facts 🔥 Soulja Boy
 ```

 Quotify the quote list and spacer can be updated at runtime using the `configure` method
 ```
 Quotify.configure(spacer: ' -OG- ')
 Quotify.configure(authors: ['Justin', 'Michel'])
 ...
 Quotify.reset_config # returns to default configurations
 ```

 You can also load your own config file using `configure_with`. Here is an example of a valid config file [`custom_quotes.yml`](https://github.com/jusleg/quotify-ruby/blob/master/test/custom_quotes.yml)
 ```
 Quotify.configure_with(File.join(__dir__, 'custom_quotes.yml'))
```

## Update the quote database
To pull the newest database version with all those spicy quotes, run `quotify update` or `quotify u` in the terminal.

## Contributing
You can run all the tests with:
```
bundle exec rake
```

If you wish to add new quotes, head over to [`quotes.yml`](https://github.com/jusleg/quotify-ruby/blob/master/lib/quotify/quotes.yml) and do a PR to add new ones. I'll merge pretty much everything for this file (given that it doesn't mess up the yaml).

## Tip Jar
Since maintaining quotify is my full time job, I need money to pay the bills. Please donate your crypto pocket change to these addresses.

**ETH: 0x67833AA7fa3eA8a515860C70c4b99dAe028D81da**

**BTC: 15TsW6spmpY71qq5V14mq2CzCxasnap94v**

**LTC: LZsHU9mp7C4wn7g1MxKRpjeJogbkajSRoe**

**BCH: LOL**

## LICENSE

This gem is MIT licensed, please see LICENSE for more information.