Code Monkey home page Code Monkey logo

movie_quotes's Introduction

MovieQuotes

Gem Version Code Climate Build Status Coverage Status Downloads License

Ruby client for MovieQuotes API

Docs here

Example app

Features

  • Fetch well known quotes from more than 500 movies.
  • Search through movie quotes by actors, characters, movies, genres, years and even pieces of quotes.
  • Intuitive API interface navigation.
  • URL generation process fully tested when applying filters for each request.
  • API integration tests recorded and fully tested using VCR gem: fast tests (first HTTP request is real and it's response is stored for future runs), deterministic (tests will continue to pass, even if you are offline, or API goes down for maintenance) and accurate (responses will contain the same headers and body you get from a real request).

Installation

Install the gem by running:

gem install movie_quotes

or put it in your Gemfile and run bundle install:

gem "movie_quotes", "~> 0.1.3"

1. Usage

To start using the gem, you should get an API Key (free).

Once completed this quick form the API Key will be sent to you by Juan Roldan ([email protected])

Setup the API Key within an initializer:

# movie_quotes_initializer.rb

MovieQuotes.configure do |config|
  config.api_key = "abcd1234"
end

Then create a new filter instance like so:

filter = MovieQuotes.new

and then call api methods, for instance, to fetch well known movie quotes from actors like Al Pacino:

filter.by_actor("al pacino")

or charachters like morpheus:

filter.by_character("morpheus")

or movies like Die Hard and actors like Bruce Willis:

filter.by_movie("die hard").by_actor("bruce willis")

Once applied all the filters you need, make the API call to get the quotes:

filter.results

To see a full list of examples please check the wiki page.

2. Response

The response format is JSON by default. Results are provided as an array of objects with the following structure:

movie_quotes die hard
filter = MovieQuotes.new
filter.by_movie("die hard").by_actor("bruce willis")
filter.results
=> [
  {
    "content": "Yippie-ki-yay, motherfucker!",
    "rating": 5,
    "year": 1988,
    "categories": [
      "Thriller",
      "Crime",
      "Action"
    ],
    "image_large_url": "https://i.ytimg.com/vi/YfpDSNNgYhI/hqdefault.jpg",
    "image_thumb_url": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRlniyMNhCV4h8UF9zn6Lka4s-OTU_j7Br43Kp5OR7eGljOAIpDXKystfQ",
    "movie": {
      "title": "Die Hard",
      "slug": "die-hard"
    },
    "character": {
      "name": "John Mc Clane",
      "slug": "john-mc-clane"
    },
    "actor": {
      "name": "Bruce Willis",
      "slug": "bruce-willis"
    }
  }
]

3. Development

Questions or problems? Please post them on the issue tracker. You can contribute changes by forking the project and submitting a pull request. You can ensure the tests are passing by running bundle and rake.

4. Projects

Developers around the world using MovieQuotes API with their projects:

pic @mention area
@djibba22 @djibba22 building some workflows for personal use with the Workflow app on iOS
@snowfrogdev @snowfrogdev developing a non-commercial app about movies
@jargoglesara @jargoglesara developing a Google Assistant action to interact with the API
@GregJacobs82 @GregJacobs82 developing a sort of "quiz" where a player is supposed to guess who said something and I tought that quotes from movies would be much easier for everyone than other random quotes
@eDubrovsky @eDubrovsky practicing API's and gem documentation's in Rails (newbie lvl), and I was searching on rubygems.org when I found yours. Looks straight forward to use :)
@pyremell @pyremell I am IT student and I developing a project for a course. I would love to have an API key for your Movie Quotes app, so I could make small searches, based in the movie name, to retrieve some famous quotes from that movie.
@shmlkv @shmlkv School project, it will display movie info and showtimes in cinemas asweel as quotes from actors
@KaiRichardson @KaiRichardson A JavaScript/React project built as part of the requirements for completion of the Javascript/React course at Code Louisville: https://github.com/brevans25/Vide-Video
@alexandershin @alexandershin Random Quote machine (FreeCodeCamp course project)
@alex-perez @alex-perez The API will be use for a practicing application. An intern will come in my compagny in next week. He will build a simple app using this api
@shadowM8 @shadowM8 I want to generate random quotes to show on a daily basis for my school project
@AsafDavidov @AsafDavidov Movie Trivia Game for the School I am studying at.
@suhanw @suhanw I'm integrating your API with and React.js and Redux framework.
@denisbobovnik @denisbobovnik learning about APIs and making requests with Ruby : )

5. Copyright

Copyright © 2020 Juan Roldan. See LICENSE.txt for further details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.