liblab_the_one 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a272a9f94c2e02f952eb657bbb9d8d6862b9f7aee4010a18ee2934fd3ce0488
4
- data.tar.gz: c6c18518484c0bc6a08f815636947e581c2ff38bd1391aef3af6550376134311
3
+ metadata.gz: 4a46278376323b078492b7eed5571cbaefbf3b2ffcd85c691ff20206e12c4b5f
4
+ data.tar.gz: c1e9cb7245773b9ae262a55088e5a28d0ddb263e5386c0148a2219579e38c9e7
5
5
  SHA512:
6
- metadata.gz: 3e23d7d4e726e30dfc42d600f2a981eac6be42e04569cce33c82a5f753a3fbbaea75dd1b241674812309f73e62c2c38172d6e9b1386accc8905c1dd06c7bd15d
7
- data.tar.gz: e1d422f96ae681b84644543a0e495bce923d600596e90ad0ca8431c59e75ca7a4e25e40dbe9d3b4cdaedf310c92007dd596b8321e455e0d72ea6bccee6ece590
6
+ metadata.gz: 8124e96726f1c218b3dee540a7a10211c8306e598298ebe3b5215de8ca8b047e00bad0cf3af1aff46035e983ec8cbf8bb6db5473d1289e6d709809513ac6872d
7
+ data.tar.gz: dd4bbfe013e808f027fb2b66013760982c189b122ca090870cba55747c128df72eb9ba002b6a67128145fd7bc754e7d1ba085918b73d8649cb1ffbe1dfccf2fd
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- liblab_the_one (0.2.0)
4
+ liblab_the_one (0.3.1)
5
5
  rest-client (~> 2.1.0)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -4,7 +4,15 @@ This gem is an API wrapper for (the one api)[https://the-one-api.dev/].
4
4
 
5
5
  ## Installation
6
6
 
7
- Add this line to your application's Gemfile:
7
+ Install `ruby` and `bundler`
8
+
9
+ Add the following environment variables. You can request an `access_token` at https://the-one-api.dev/.
10
+
11
+ ```
12
+ LIBLAB_ACCESS_TOKEN=
13
+ ```
14
+
15
+ Add this line to your application's Gemfile if using Ruby on Rails:
8
16
 
9
17
  ```ruby
10
18
  gem 'liblab_the_one'
@@ -14,9 +22,12 @@ And then execute:
14
22
 
15
23
  $ bundle install
16
24
 
17
- Or install it yourself as:
25
+ Or install it yourself in a ruby environment as:
18
26
 
19
27
  $ gem install pex_api
28
+
29
+
30
+ After installing you can test by running `irb`, then `require "liblab"` and then running `Liblab::Movie::List.call()` This should return a list of movies.
20
31
 
21
32
  ## Usage
22
33
  `Liblab::Movie::List.call()` will get a list of movies
@@ -31,19 +42,20 @@ Or install it yourself as:
31
42
 
32
43
  `Liblab::Quote::Get.call(quote_id)` will retrieve an individual quote
33
44
 
34
- Each class/method will have it's own parameters depending on the type of request and it's expected input parameters.
35
45
 
36
- ### Setup
46
+ ## Bonus Game: Guess the quote!
37
47
 
38
- Add the following environment variables. The specific values can be found at https://the-one-api.dev/.
48
+ Help test and build your Lord of The Rings knowledge.
39
49
 
40
- ```
41
- LIBLAB_ACCESS_TOKEN=
42
- ```
50
+ Use `Liblab::Quote::GuessTheQuote.call()` to return a random quote with a movie name.
51
+
52
+ You can tell people the quote and they have to guess the movie.
53
+
54
+ Example response is `{:quote=>"Your bodyguard?", :movie_name=>"The Two Towers"}`
43
55
 
44
56
  ## Development
45
57
 
46
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
58
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rspec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
47
59
 
48
60
  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](https://rubygems.org).
49
61
 
@@ -0,0 +1,34 @@
1
+ module Liblab
2
+ module Quote
3
+ class GuessTheQuote
4
+
5
+ # Example returns {:quote=>"Your bodyguard?", :movie_name=>"The Two Towers"}
6
+
7
+ def self.call()
8
+ page = rand(1..2)
9
+ _path = "quote?page=#{page}"
10
+
11
+ # Get a random page of quotes
12
+ quote_result = ::Liblab::Client::Base.new.get(_path)
13
+
14
+ if quote_result.code == 200
15
+ # Get a random quote from returned quotes
16
+ index = rand(1..999)
17
+ quote = JSON.parse(quote_result.body)["docs"][index]
18
+ movie_result = ::Liblab::Movie::Get.call(quote["movie"])
19
+
20
+ if movie_result.code == 200
21
+ # Get movie name for the selected quote
22
+ movie = JSON.parse(movie_result.body)["docs"][0]
23
+
24
+ return { quote: quote["dialog"], movie_name: movie["name"] }
25
+ else
26
+ return movie_result
27
+ end
28
+ else
29
+ return quote_result
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Liblab
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.1"
5
5
  end
data/lib/liblab.rb CHANGED
@@ -10,6 +10,7 @@ require_relative "liblab/movie/get"
10
10
  require_relative "liblab/movie/get_quotes"
11
11
  require_relative "liblab/quote/list"
12
12
  require_relative "liblab/quote/get"
13
+ require_relative "liblab/quote/guess_the_quote"
13
14
 
14
15
  module Liblab
15
16
  class Error < StandardError; end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liblab_the_one
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Monty Lennie
@@ -50,6 +50,7 @@ files:
50
50
  - lib/liblab/movie/get_quotes.rb
51
51
  - lib/liblab/movie/list.rb
52
52
  - lib/liblab/quote/get.rb
53
+ - lib/liblab/quote/guess_the_quote.rb
53
54
  - lib/liblab/quote/list.rb
54
55
  - lib/liblab/version.rb
55
56
  - sig/liblab.rbs