tvrage_api 0.2.1 → 0.3.0

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.
@@ -1,43 +1,103 @@
1
1
  class TvrageApi::Schedule < TvrageApi::Base
2
+ include Ov
3
+
4
+ # Quick access to TV schedule
5
+ #
6
+ # access: FREE
7
+ # param:
8
+ # quick
9
+ # output: Faraday::Response instance with string
10
+ let :quick do
11
+ quick({})
12
+ end
13
+
2
14
  # Quick access to TV schedule
3
15
  #
4
16
  # access: FREE
5
- # param: options hash
6
- # country: two chars country abbreviation (optional)
17
+ # param:
18
+ # quick('US')
7
19
  # output: Faraday::Response instance with string
8
- def quick(options = {})
20
+ let :quick, String do |country|
21
+ quick(country: country)
22
+ end
23
+
24
+ # Quick access to TV schedule
25
+ #
26
+ # access: FREE
27
+ # param:
28
+ # quick(country: 'US')
29
+ # output: Faraday::Response instance with string
30
+ let :quick, Hash do |options|
9
31
  quick_path_with_params(options).get
10
32
  end
11
33
 
12
34
  # Quick access to TV schedule - return only url
13
35
  #
14
36
  # access: FREE
15
- # param: options hash
16
- # country: two chars country abbreviation (optional)
37
+ # param:
38
+ # quick_url
39
+ # output: url string
40
+ let :quick_url do
41
+ quick_url({})
42
+ end
43
+
44
+ # Quick access to TV schedule - return only url
45
+ #
46
+ # access: FREE
47
+ # param:
48
+ # quick_url('US')
17
49
  # output: url string
18
- def quick_url(options = {})
50
+ let :quick_url, String do |country|
51
+ quick_url(country: country)
52
+ end
53
+
54
+ # Quick access to TV schedule - return only url
55
+ #
56
+ # access: FREE
57
+ # param:
58
+ # quick_url(country: 'US')
59
+ # output: url string
60
+ let :quick_url, Hash do |options|
19
61
  quick_path_with_params(options).url
20
62
  end
21
63
 
22
64
  # Full Schedule
23
65
  #
24
66
  # access: FREE
25
- # param: options hash
26
- # country: two chars country abbreviation (optional)
27
- # 24_format: 1, time format (optional)
67
+ # param:
68
+ # full
69
+ # output: Faraday::Response instance with parsed XML string
70
+ let :full do
71
+ full({})
72
+ end
73
+
74
+ # Full Schedule
75
+ #
76
+ # access: FREE
77
+ # param:
78
+ # full(country: 'US', 24_format: 1)
28
79
  # output: Faraday::Response instance with parsed XML string
29
- def full(options = {})
80
+ let :full, Hash do |options|
30
81
  full_path_with_params(options).get
31
82
  end
32
83
 
33
84
  # Full Schedule - return only url
34
85
  #
35
86
  # access: FREE
36
- # param: options hash
37
- # country: two chars country abbreviation (optional)
38
- # 24_format: 1, time format (optional)
87
+ # param:
88
+ # full_url
89
+ # output: url string
90
+ let :full_url do
91
+ full_url({})
92
+ end
93
+
94
+ # Full Schedule - return only url
95
+ #
96
+ # access: FREE
97
+ # param:
98
+ # full_url(country: 'US', 24_format: 1)
39
99
  # output: url string
40
- def full_url(options = {})
100
+ let :full_url, Hash do |options|
41
101
  full_path_with_params(options).url
42
102
  end
43
103
 
@@ -1,48 +1,94 @@
1
1
  class TvrageApi::Search < TvrageApi::Base
2
+ include Ov
3
+
4
+ # Search tv show by name
5
+ #
6
+ # access: FREE
7
+ # param:
8
+ # by_name('buffy')
9
+ # output: Faraday::Response instance with string
10
+ let :by_name, String do |name|
11
+ by_name(name: name)
12
+ end
13
+
2
14
  # Search tv show by name
3
15
  #
4
16
  # access: FREE
5
- # param: options hash
6
- # show: TV show name
17
+ # param:
18
+ # by_name(name: 'buffy')
7
19
  # output: Faraday::Response instance with string
8
- def by_name(options = {})
20
+ let :by_name, Hash do |options|
9
21
  by_name_path_with_params(options).get
10
22
  end
11
23
 
12
24
  # Search tv show by name - return only url
13
25
  #
14
26
  # access: FREE
15
- # param: options hash
16
- # show: TV show name
27
+ # param:
28
+ # by_name_url('buffy')
17
29
  # output: url string
18
- def by_name_url(options = {})
30
+ let :by_name_url, String do |name|
31
+ by_name_url(name: name)
32
+ end
33
+
34
+ # Search tv show by name - return only url
35
+ #
36
+ # access: FREE
37
+ # param:
38
+ # by_name_url(name: 'buffy')
39
+ # output: url string
40
+ let :by_name_url, Hash do |options|
19
41
  by_name_path_with_params(options).url
20
42
  end
21
43
 
22
44
  # Detailed Search tv show by name
23
45
  #
24
46
  # access: FREE
25
- # param: options hash
26
- # show: TV show name
47
+ # param:
48
+ # full_by_name('buffy')
27
49
  # output: Faraday::Response instance with string
28
- def full_by_name(options = {})
50
+ let :full_by_name, String do |name|
51
+ full_by_name(name: name)
52
+ end
53
+
54
+ # Detailed Search tv show by name
55
+ #
56
+ # access: FREE
57
+ # param (hash params):
58
+ # full_by_name(name: 'buffy')
59
+ # output: Faraday::Response instance with string
60
+ let :full_by_name, Hash do |options|
29
61
  full_by_name_path_with_params(options).get
30
62
  end
31
63
 
32
64
  # Detailed Search tv show by name - return only url
33
65
  #
34
66
  # access: FREE
35
- # param: options hash
36
- # show: TV show name
67
+ # param:
68
+ # full_by_name_url('buffy')
37
69
  # output: url string
38
- def full_by_name_url(options = {})
70
+ let :full_by_name_url, String do |name|
71
+ full_by_name_url(name: name)
72
+ end
73
+
74
+ # Detailed Search tv show by name - return only url
75
+ #
76
+ # access: FREE
77
+ # param:
78
+ # full_by_name_url(name: 'buffy')
79
+ # output: url string
80
+ let :full_by_name_url, Hash do |options|
39
81
  full_by_name_path_with_params(options).url
40
82
  end
41
83
 
42
84
  private
43
85
 
86
+ def mapped_options(options)
87
+ TvrageApi::AttributesMapping::Search::ByName.new(options).to_hash
88
+ end
89
+
44
90
  def by_name_path_with_params(options)
45
- path(by_name_path).params(options)
91
+ path(by_name_path).params(mapped_options(options))
46
92
  end
47
93
 
48
94
  def by_name_path
@@ -50,7 +96,7 @@ class TvrageApi::Search < TvrageApi::Base
50
96
  end
51
97
 
52
98
  def full_by_name_path_with_params(options)
53
- path(full_by_name_path).params(options)
99
+ path(full_by_name_path).params(mapped_options(options))
54
100
  end
55
101
 
56
102
  def full_by_name_path
@@ -1,85 +1,163 @@
1
1
  class TvrageApi::Show < TvrageApi::Base
2
+ include Ov
3
+
4
+ # Show Info
5
+ #
6
+ # access: FREE
7
+ # param:
8
+ # find(123)
9
+ # output: Faraday::Response instance with string
10
+ let :find, Any do |id|
11
+ find(id: id)
12
+ end
13
+
2
14
  # Show Info
3
15
  #
4
16
  # access: FREE
5
- # param: options hash
6
- # sid: TV show ID
17
+ # param:
18
+ # find(id: 123)
7
19
  # output: Faraday::Response instance with string
8
- def find(options = {})
20
+ let :find, Hash do |options|
9
21
  find_path_with_params(options).get
10
22
  end
11
23
 
12
24
  # Show Info - return only url
13
25
  #
14
26
  # access: FREE
15
- # param: options hash
16
- # sid: TV show ID
27
+ # param:
28
+ # find_url(123)
29
+ # output: url string
30
+ let :find_url, Any do |id|
31
+ find_url(id: id)
32
+ end
33
+
34
+ # Show Info - return only url
35
+ #
36
+ # access: FREE
37
+ # param:
38
+ # find_url(id: 123)
17
39
  # output: url string
18
- def find_url(options = {})
40
+ let :find_url, Hash do |options|
19
41
  find_path_with_params(options).url
20
42
  end
21
43
 
22
44
  # Show Info + Episode List
23
45
  #
24
46
  # access: FREE
25
- # param: options hash
26
- # sid: TV show ID
47
+ # param:
48
+ # find_full(123)
27
49
  # output: Faraday::Response instance with string
28
- def find_full(options = {})
50
+ let :find_full, Any do |id|
51
+ find_full(id: id)
52
+ end
53
+
54
+ # Show Info + Episode List
55
+ #
56
+ # access: FREE
57
+ # param:
58
+ # find_full(id: 123)
59
+ # output: Faraday::Response instance with string
60
+ let :find_full, Hash do |options|
29
61
  find_full_path_with_params(options).get
30
62
  end
31
63
 
32
64
  # Show Info + Episode List - return only url
33
65
  #
34
66
  # access: FREE
35
- # param: options hash
36
- # sid: TV show ID
67
+ # param:
68
+ # find_full_url(123)
37
69
  # output: url string
38
- def find_full_url(options = {})
70
+ let :find_full_url, Any do |id|
71
+ find_full_url(id: id)
72
+ end
73
+
74
+ # Show Info + Episode List - return only url
75
+ #
76
+ # access: FREE
77
+ # param:
78
+ # find_full_url(id: 123)
79
+ # output: url string
80
+ let :find_full_url, Hash do |options|
39
81
  find_full_path_with_params(options).url
40
82
  end
41
83
 
42
84
  # Episode List
43
85
  #
44
86
  # access: FREE
45
- # param: options hash
46
- # sid: TV show ID
87
+ # param:
88
+ # episodes(123)
89
+ # output: Faraday::Response instance with string
90
+ let :episodes, Any do |id|
91
+ episodes(id: id)
92
+ end
93
+
94
+ # Episode List
95
+ #
96
+ # access: FREE
97
+ # param:
98
+ # episodes(id: 123)
47
99
  # output: Faraday::Response instance with string
48
- def episodes(options = {})
100
+ let :episodes, Hash do |options|
49
101
  episodes_path_with_params(options).get
50
102
  end
51
103
 
104
+ # Episode List
105
+ #
106
+ # access: FREE
107
+ # param:
108
+ # episodes_url(123)
109
+ # output: url string
110
+ let :episodes_url, Any do |id|
111
+ episodes_url(id: id)
112
+ end
52
113
 
53
114
  # Episode List
54
115
  #
55
116
  # access: FREE
56
- # param: options hash
57
- # sid: TV show ID
117
+ # param:
118
+ # episodes_url(id: 123)
58
119
  # output: url string
59
- def episodes_url(options = {})
120
+ let :episodes_url, Hash do |options|
60
121
  episodes_path_with_params(options).url
61
122
  end
62
123
 
63
124
  # Episode Info
64
125
  #
65
126
  # access: FREE
66
- # param: options hash
67
- # sid: TV show ID
68
- # ep: episode name, format [Season Number]x[Episode Number, with zero at the beginning for 1-9]
127
+ # param:
128
+ # episode(123, '1x01')
129
+ # output: Faraday::Response instance with string
130
+ let :episode, Any, String do |show_id, episode|
131
+ episode(show_id: show_id, episode: episode)
132
+ end
133
+
134
+ # Episode Info
135
+ #
136
+ # access: FREE
137
+ # param:
138
+ # episode(show_id: 123, episode: '1x01')
69
139
  # output: Faraday::Response instance with string
70
- def episode(options = {})
140
+ let :episode, Hash do |options|
71
141
  episode_path_with_params(options).get
72
142
  end
73
143
 
144
+ # Episode Info - return only url
145
+ #
146
+ # access: FREE
147
+ # param:
148
+ # episode_url(123, '1x01')
149
+ # output: url string
150
+ let :episode_url, Any, String do |show_id, episode|
151
+ episode_url(show_id: show_id, episode: episode)
152
+ end
74
153
 
75
154
  # Episode Info - return only url
76
155
  #
77
156
  # access: FREE
78
- # param: options hash
79
- # sid: TV show ID
80
- # ep: episode name, format [Season Number]x[Episode Number, with zero at the beginning for 1-9]
157
+ # param:
158
+ # episode_url(show_id: 123, episode: '1x01')
81
159
  # output: url string
82
- def episode_url(options = {})
160
+ let :episode_url, Hash do |options|
83
161
  episode_path_with_params(options).url
84
162
  end
85
163
 
@@ -91,7 +169,6 @@ class TvrageApi::Show < TvrageApi::Base
91
169
  path(all_path).get
92
170
  end
93
171
 
94
-
95
172
  # Full Show List - return only url
96
173
  #
97
174
  # access: FREE
@@ -102,8 +179,12 @@ class TvrageApi::Show < TvrageApi::Base
102
179
 
103
180
  private
104
181
 
182
+ def find_mapped_options(options)
183
+ TvrageApi::AttributesMapping::Show::Find.new(options).to_hash
184
+ end
185
+
105
186
  def find_path_with_params(options)
106
- path(find_path).params(options)
187
+ path(find_path).params(find_mapped_options(options))
107
188
  end
108
189
 
109
190
  def find_path
@@ -111,7 +192,7 @@ class TvrageApi::Show < TvrageApi::Base
111
192
  end
112
193
 
113
194
  def find_full_path_with_params(options)
114
- path(find_full_path).params(options)
195
+ path(find_full_path).params(find_mapped_options(options))
115
196
  end
116
197
 
117
198
  def find_full_path
@@ -119,15 +200,19 @@ class TvrageApi::Show < TvrageApi::Base
119
200
  end
120
201
 
121
202
  def episodes_path_with_params(options)
122
- path(episodes_path).params(options)
203
+ path(episodes_path).params(find_mapped_options(options))
123
204
  end
124
205
 
125
206
  def episodes_path
126
207
  'feeds/episode_list.php'
127
208
  end
128
209
 
210
+ def episode_mapped_options(options)
211
+ TvrageApi::AttributesMapping::Show::Episode.new(options).to_hash
212
+ end
213
+
129
214
  def episode_path_with_params(options)
130
- path(episode_path).params(options)
215
+ path(episode_path).params(episode_mapped_options(options))
131
216
  end
132
217
 
133
218
  def episode_path