sofa 0.1.3 → 0.1.4
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 +7 -0
- data/README.md +6 -1
- data/Rakefile +45 -45
- data/lib/sofa/tvrage/show.rb +9 -0
- data/lib/sofa/version.rb +1 -1
- data/sofa.gemspec +1 -1
- data/spec/sofa/tvrage/show_spec.rb +14 -0
- metadata +21 -35
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 77023bd6c06d0b94e52b15e480be3e6aad45935d
|
4
|
+
data.tar.gz: fa4d22d0db1981257a968625654bac3c7f910ba7
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4f1c6ae22b5f992da2d7b41564752ba9ccb15fbf7018a7f9bd7aa0973548d01a33a2007542ff599204d69017f5242051e086568d22440e2b09cb91d9e1bf8881
|
7
|
+
data.tar.gz: 3ba6deb9d884355871655d3583733ca27eeccb8ac49b3f07a08467c4e8f9d4c36e8ed0cf038d06d6c4b43fa69beecbcbcd90ecace8046b049f9bb58946ab668c
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Sofa
|
2
2
|
|
3
|
-
A simple Ruby library for the TVRage API (viewable [here](http://services.tvrage.com/
|
3
|
+
A simple Ruby library for the TVRage API (viewable [here](http://services.tvrage.com/info.php?page=main)).
|
4
4
|
|
5
5
|
## Shows
|
6
6
|
|
@@ -8,6 +8,11 @@ A simple Ruby library for the TVRage API (viewable [here](http://services.tvrage
|
|
8
8
|
OR
|
9
9
|
show = Sofa::TVRage::Show.new("15614") # => #<Sofa::TVRage::Show:0x1012ec3c0 @name="Chuck", @show_id="15614", ...>
|
10
10
|
|
11
|
+
#### List
|
12
|
+
Sofa::TVRage::Show.list #=> [ {"id"=>"1", "name"=>"Fernwood 2Night", "country"=>"US", "status"=>"2"},
|
13
|
+
{"id"=>"2", "name"=>"America 2Night", "country"=>"US", "status"=>"2"}}, {}
|
14
|
+
]
|
15
|
+
|
11
16
|
#### Eager loading Season and Episode info
|
12
17
|
|
13
18
|
Sofa::TVRage::Show.by_name("Chuck", :greedy => true)
|
data/Rakefile
CHANGED
@@ -21,57 +21,57 @@ begin
|
|
21
21
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
22
22
|
end
|
23
23
|
Jeweler::GemcutterTasks.new
|
24
|
-
rescue LoadError
|
24
|
+
rescue LoadError => e
|
25
25
|
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
26
26
|
end
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
28
|
+
require 'spec/rake/spectask'
|
29
|
+
Spec::Rake::SpecTask.new(:spec) do |spec|
|
30
|
+
spec.libs << 'lib' << 'spec'
|
31
|
+
spec.spec_files = FileList['spec/**/*_spec.rb']
|
32
|
+
end
|
33
33
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
34
|
+
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
35
|
+
spec.libs << 'lib' << 'spec'
|
36
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
37
|
+
spec.rcov = true
|
38
|
+
spec.rcov_opts = %w{--exclude spec/*,gems/*}
|
39
|
+
end
|
40
40
|
|
41
|
-
|
41
|
+
task :spec => :check_dependencies
|
42
42
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
43
|
+
begin
|
44
|
+
require 'reek/adapters/rake_task'
|
45
|
+
Reek::RakeTask.new do |t|
|
46
|
+
t.fail_on_error = true
|
47
|
+
t.verbose = false
|
48
|
+
t.source_files = 'lib/**/*.rb'
|
49
|
+
end
|
50
|
+
rescue LoadError
|
51
|
+
task :reek do
|
52
|
+
abort "Reek is not available. In order to run reek, you must: sudo gem install reek"
|
53
|
+
end
|
54
|
+
end
|
55
55
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
56
|
+
begin
|
57
|
+
require 'roodi'
|
58
|
+
require 'roodi_task'
|
59
|
+
RoodiTask.new do |t|
|
60
|
+
t.verbose = false
|
61
|
+
end
|
62
|
+
rescue LoadError
|
63
|
+
task :roodi do
|
64
|
+
abort "Roodi is not available. In order to run roodi, you must: sudo gem install roodi"
|
65
|
+
end
|
66
|
+
end
|
67
67
|
|
68
|
-
|
68
|
+
task :default => :spec
|
69
69
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
70
|
+
begin
|
71
|
+
require 'yard'
|
72
|
+
YARD::Rake::YardocTask.new
|
73
|
+
rescue LoadError
|
74
|
+
task :yardoc do
|
75
|
+
abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard"
|
76
|
+
end
|
77
|
+
end
|
data/lib/sofa/tvrage/show.rb
CHANGED
@@ -10,6 +10,15 @@ module Sofa
|
|
10
10
|
base_uri 'services.tvrage.com'
|
11
11
|
|
12
12
|
class << self
|
13
|
+
# Gets the list of all shows
|
14
|
+
#
|
15
|
+
# @return [Hash] The parsed XML
|
16
|
+
# @see http://services.tvrage.com/feeds/show_list.php
|
17
|
+
def list
|
18
|
+
xml = get('/feeds/show_list.php', query: {})
|
19
|
+
xml["shows"]['show']
|
20
|
+
end
|
21
|
+
|
13
22
|
# Gets the info for a Show.
|
14
23
|
#
|
15
24
|
# @param sid [String] The show's id
|
data/lib/sofa/version.rb
CHANGED
data/sofa.gemspec
CHANGED
@@ -9,6 +9,20 @@ describe Show do
|
|
9
9
|
FakeWeb.register_uri(:get, "http://services.tvrage.com/feeds/showinfo.php?sid=#{@id}", :body => @show_xml)
|
10
10
|
end
|
11
11
|
|
12
|
+
describe "show list" do
|
13
|
+
before do
|
14
|
+
@shows_xml = File.read("spec/fixtures/tvrage/show_list.xml")
|
15
|
+
FakeWeb.register_uri(:get, "http://services.tvrage.com/feeds/show_list.php", :body => @shows_xml)
|
16
|
+
|
17
|
+
@info = Crack::XML.parse(@shows_xml)
|
18
|
+
@shows = [Season.new(@info["Shows"]["show"])]
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should get shows_list" do
|
22
|
+
subject.list.should == @shows
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
12
26
|
describe "with id" do
|
13
27
|
subject { Show.new(@id) }
|
14
28
|
|
metadata
CHANGED
@@ -1,110 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sofa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Henry Hsu
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-11-19 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: httparty
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: crack
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rspec
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 1.2.9
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 1.2.9
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: mocha
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: fakeweb
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - ">="
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - ">="
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: yard
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - ">="
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - ">="
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
description: A simple Ruby library for the TVRage API.
|
@@ -115,8 +102,8 @@ extra_rdoc_files:
|
|
115
102
|
- LICENSE
|
116
103
|
- README.md
|
117
104
|
files:
|
118
|
-
- .document
|
119
|
-
- .yardopts
|
105
|
+
- ".document"
|
106
|
+
- ".yardopts"
|
120
107
|
- LICENSE
|
121
108
|
- README.md
|
122
109
|
- Rakefile
|
@@ -180,26 +167,25 @@ files:
|
|
180
167
|
- spec/spec_helper.rb
|
181
168
|
homepage: http://github.com/hsume2/sofa
|
182
169
|
licenses: []
|
170
|
+
metadata: {}
|
183
171
|
post_install_message:
|
184
172
|
rdoc_options: []
|
185
173
|
require_paths:
|
186
174
|
- lib
|
187
175
|
required_ruby_version: !ruby/object:Gem::Requirement
|
188
|
-
none: false
|
189
176
|
requirements:
|
190
|
-
- -
|
177
|
+
- - ">="
|
191
178
|
- !ruby/object:Gem::Version
|
192
179
|
version: '0'
|
193
180
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
194
|
-
none: false
|
195
181
|
requirements:
|
196
|
-
- -
|
182
|
+
- - ">="
|
197
183
|
- !ruby/object:Gem::Version
|
198
184
|
version: '0'
|
199
185
|
requirements: []
|
200
186
|
rubyforge_project:
|
201
|
-
rubygems_version:
|
187
|
+
rubygems_version: 2.2.2
|
202
188
|
signing_key:
|
203
|
-
specification_version:
|
189
|
+
specification_version: 4
|
204
190
|
summary: A Ruby library for the TVRage API.
|
205
191
|
test_files: []
|