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.
- checksums.yaml +4 -4
- data/lib/mmapi.rb +30 -16
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76d44ddff9dcc283ea7ea26a6e9bb76719c78f4d
|
4
|
+
data.tar.gz: 73cbef325daa6638b31c552e36374e8c9458590b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
#
|
9
|
-
|
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
|