mmapi 0.0.0 → 0.0.2

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mmapi.rb +30 -16
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 977c8aff6b2caee192c86ec8f2493827aa0a8247
4
- data.tar.gz: 245eb087117ef6245aa91bb6533062f1bdf55f4a
3
+ metadata.gz: 76d44ddff9dcc283ea7ea26a6e9bb76719c78f4d
4
+ data.tar.gz: 73cbef325daa6638b31c552e36374e8c9458590b
5
5
  SHA512:
6
- metadata.gz: dd7fa28250c1d0a424b41837bc3288c7dac3cf2b58ebfa508943f1f00379c589fbc4040e366ba9ac74543fe3af172a018c1f2bde5064addd89a67fe31af05303
7
- data.tar.gz: 20754d787ffb76503d32136fed599ac7e2a8ba730516306a852cf95815d63f085d22150fcfc89d9080e827396d6574d8fa2da970b1d941fa8e885f604d98a2d3
6
+ metadata.gz: a5acc77ae10015b8d33bd3c833b0732c2b17f0b7df5beaaeb365123b1f21a8ca656b7730850349333f6d303d5b353a623223e27e8bdca30bc5f14652cb61cf87
7
+ data.tar.gz: 9e4ebc7c3265bf348957bb1d52c0005fecb51497094569230a83f697e8d204d49b49c242966662a9cba07ca7e920db4625d16be8e1e16458fdc12cb93ee5b71c
data/lib/mmapi.rb CHANGED
@@ -5,9 +5,16 @@ class MovieAPI
5
5
 
6
6
  API_URL = 'http://mymovieapi.com/'
7
7
 
8
- # @todo Add search by ID
9
- def self.search_by_id(options = {})
10
-
8
+ # Queries the API for an IMDB ID
9
+ #
10
+ # @param [String] id A Movie IMDB ID
11
+ #
12
+ # @param [Hash] options The options to create a search query
13
+ # @todo fill out these docs
14
+ #
15
+ # @return [Hash] Returns a single movie hash
16
+ def self.search_by_id(id, options = {})
17
+ return self.request("#{API_URL}?id=#{URI::encode(id)}" + self.parameterize(options))
11
18
  end
12
19
 
13
20
  # Queries the API for a movie title
@@ -30,19 +37,26 @@ class MovieAPI
30
37
  #
31
38
  # @return [Array] Returns an array of hashes.
32
39
  def self.search_by_title(title, options = {})
33
-
34
- params = options ? options.collect {|key, value| "#{key}=#{URI::encode(value)}"}.join('&') : ''
35
-
36
-
37
- uri = "http://mymovieapi.com?q=#{URI::encode(title)}" + params
38
-
39
- p uri
40
-
41
- response = open("http://mymovieapi.com?q=#{URI::encode(title)}&" + params).read
42
- data = JSON.parse(response)
43
-
44
- return data
45
-
40
+ return self.request("#{API_URL}?q=#{URI::encode(title)}" + self.parameterize(options))
46
41
  end
47
42
 
43
+ private
44
+
45
+ # @private
46
+ # @param [Hash] options Query options
47
+ # @return [String] URL encoded string of params
48
+ def self.parameterize(options)
49
+ return options ? options.collect {|key, value| "#{key}=#{URI::encode(value)}"}.join('&') : ''
50
+ end
51
+
52
+ # @private
53
+ # @param [String] uri
54
+ # @return [Hash] Movie hash
55
+ # @return [Array] Array of movie hashes
56
+ def self.request(uri)
57
+ response = open(uri).read
58
+ data = JSON.parse(response)
59
+ return data
60
+ end
61
+
48
62
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mmapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Davis