gst-kitchen 0.5.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- data/gst-kitchen.gemspec +2 -0
- data/lib/gst-kitchen/episode.rb +13 -8
- data/lib/gst-kitchen/podcast.rb +3 -3
- data/lib/gst-kitchen/version.rb +1 -1
- metadata +5 -8
data/gst-kitchen.gemspec
CHANGED
@@ -17,6 +17,8 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
18
|
gem.require_paths = ["lib"]
|
19
19
|
|
20
|
+
gem.required_ruby_version = '~> 1.9.3'
|
21
|
+
|
20
22
|
gem.add_dependency "yajl-ruby"
|
21
23
|
gem.add_dependency "trollop"
|
22
24
|
gem.add_dependency "rake"
|
data/lib/gst-kitchen/episode.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
class Episode < Struct.new(:number, :name, :length, :media, :auphonic_uuid, :published_at, :summary, :chapters)
|
2
2
|
include Comparable
|
3
3
|
|
4
|
-
|
4
|
+
attr_accessor :podcast
|
5
|
+
|
6
|
+
def self.from_auphonic(podcast, production)
|
5
7
|
data = production.meta
|
6
|
-
|
8
|
+
/#{podcast.handle}(?<number>\d{3})/ =~ data["data"]["metadata"]["title"]
|
7
9
|
|
8
10
|
metadata = {
|
9
11
|
auphonic_uuid: data["data"]["uuid"],
|
@@ -20,7 +22,7 @@ class Episode < Struct.new(:number, :name, :length, :media, :auphonic_uuid, :pub
|
|
20
22
|
}
|
21
23
|
end
|
22
24
|
|
23
|
-
episode = self.new
|
25
|
+
episode = self.new podcast
|
24
26
|
|
25
27
|
episode.number = metadata[:number]
|
26
28
|
episode.name = metadata[:name]
|
@@ -39,12 +41,15 @@ class Episode < Struct.new(:number, :name, :length, :media, :auphonic_uuid, :pub
|
|
39
41
|
episode
|
40
42
|
end
|
41
43
|
|
42
|
-
def self.from_yaml(yaml_file)
|
43
|
-
YAML.load_file(yaml_file)
|
44
|
+
def self.from_yaml(podcast, yaml_file)
|
45
|
+
episode = YAML.load_file(yaml_file)
|
46
|
+
episode.podcast = podcast
|
47
|
+
episode
|
44
48
|
end
|
45
49
|
|
46
|
-
def initialize(*args)
|
47
|
-
|
50
|
+
def initialize(podcast=nil, *args)
|
51
|
+
@podcast = podcast
|
52
|
+
super(*args)
|
48
53
|
end
|
49
54
|
|
50
55
|
def <=>(other)
|
@@ -56,7 +61,7 @@ class Episode < Struct.new(:number, :name, :length, :media, :auphonic_uuid, :pub
|
|
56
61
|
end
|
57
62
|
|
58
63
|
def handle
|
59
|
-
"
|
64
|
+
"#{podcast.handle}#{"%03i" % self.number}"
|
60
65
|
end
|
61
66
|
|
62
67
|
def rfc_2822_date
|
data/lib/gst-kitchen/podcast.rb
CHANGED
@@ -42,12 +42,12 @@ class Podcast
|
|
42
42
|
|
43
43
|
def load_episodes
|
44
44
|
self.episodes = Dir[File.join(self.episodes_path, "#{handle.downcase}*.yml")].map do |yml|
|
45
|
-
Episode.from_yaml(yml)
|
45
|
+
Episode.from_yaml(self, yml)
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
49
|
def create_episode_from_auphonic(production)
|
50
|
-
Episode.from_auphonic production
|
50
|
+
Episode.from_auphonic(self, production)
|
51
51
|
end
|
52
52
|
|
53
53
|
def episode_by_handle(handle)
|
@@ -76,7 +76,7 @@ class Podcast
|
|
76
76
|
|
77
77
|
def deep_link_url(episode)
|
78
78
|
url = URI(self.website)
|
79
|
-
url.fragment =
|
79
|
+
url.fragment = episode.handle
|
80
80
|
url.to_s
|
81
81
|
end
|
82
82
|
|
data/lib/gst-kitchen/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gst-kitchen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-03-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: yajl-ruby
|
@@ -126,12 +126,9 @@ require_paths:
|
|
126
126
|
required_ruby_version: !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - ~>
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
132
|
-
segments:
|
133
|
-
- 0
|
134
|
-
hash: 1152790057894084617
|
131
|
+
version: 1.9.3
|
135
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
133
|
none: false
|
137
134
|
requirements:
|
@@ -140,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
137
|
version: '0'
|
141
138
|
segments:
|
142
139
|
- 0
|
143
|
-
hash:
|
140
|
+
hash: -1159944381496780028
|
144
141
|
requirements: []
|
145
142
|
rubyforge_project:
|
146
143
|
rubygems_version: 1.8.25
|