dropcaster 1.0.0 → 1.1.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +4 -146
- data/.ruby-version +1 -1
- data/.travis.yml +9 -3
- data/Gemfile.lock +130 -133
- data/README.markdown +16 -0
- data/Rakefile +1 -1
- data/bin/dropcaster +10 -8
- data/bin/lstags +10 -8
- data/dropcaster.gemspec +1 -1
- data/lib/dropcaster/channel.rb +4 -4
- data/lib/dropcaster/item.rb +2 -2
- data/lib/dropcaster/version.rb +1 -1
- data/templates/channel.html.erb +3 -6
- data/templates/channel.rss.erb +5 -5
- data/test/bin/vagrant-status +1 -1
- data/test/fixtures/test_template.json.erb +3 -4
- data/test/unit/test_itunes_item.rb +1 -4
- metadata +7 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 00f46163bcbe9e5dab46ecb8d13f1ffd0d98ad34515c0f6b69ee7bb7717cf151
|
|
4
|
+
data.tar.gz: d110b3a0c424ad88bc4e20811f45edb03dbe13f8f12bfb1da2017f5652a39a96
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2557829bc673bfe5ee58a6135534b5381d9909679414015e6ac56d999fbd203066930f05f2903c01aa98bedfd036f79c49cfe41187eecf31000f93a411e4123a
|
|
7
|
+
data.tar.gz: 61b47cec9dbcca537c56ed1c78c85b230d0b628a8e01c65b098d61370a82651b1cc5eca208eb9de7bde53faa14fae24cbb91379807e15ca56742a2bf52d8f68e
|
data/.rubocop.yml
CHANGED
|
@@ -24,151 +24,9 @@ Naming/FileName:
|
|
|
24
24
|
|
|
25
25
|
Metrics/BlockLength:
|
|
26
26
|
Exclude:
|
|
27
|
-
-
|
|
27
|
+
- test/**/*
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
Enabled: false
|
|
31
|
-
|
|
32
|
-
Lint/HandleExceptions:
|
|
33
|
-
Enabled: true
|
|
34
|
-
|
|
35
|
-
Lint/UnusedBlockArgument:
|
|
36
|
-
Enabled: false
|
|
37
|
-
|
|
38
|
-
Lint/UnusedMethodArgument:
|
|
39
|
-
Enabled: false
|
|
40
|
-
|
|
41
|
-
Metrics/AbcSize:
|
|
42
|
-
Enabled: false
|
|
43
|
-
|
|
44
|
-
Metrics/ClassLength:
|
|
45
|
-
Enabled: false
|
|
46
|
-
|
|
47
|
-
Metrics/CyclomaticComplexity:
|
|
48
|
-
Max: 12
|
|
49
|
-
|
|
50
|
-
Metrics/LineLength:
|
|
29
|
+
Layout/LineLength:
|
|
51
30
|
Max: 180
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
Max: 60
|
|
55
|
-
|
|
56
|
-
Metrics/ModuleLength:
|
|
57
|
-
Enabled: false
|
|
58
|
-
|
|
59
|
-
Metrics/ParameterLists:
|
|
60
|
-
Enabled: false
|
|
61
|
-
|
|
62
|
-
Metrics/PerceivedComplexity:
|
|
63
|
-
Enabled: false
|
|
64
|
-
|
|
65
|
-
Performance/Casecmp:
|
|
66
|
-
Enabled: false
|
|
67
|
-
|
|
68
|
-
Performance/Sample:
|
|
69
|
-
Enabled: false
|
|
70
|
-
|
|
71
|
-
Style/Alias:
|
|
72
|
-
EnforcedStyle: prefer_alias_method
|
|
73
|
-
|
|
74
|
-
Layout/AlignParameters:
|
|
75
|
-
Enabled: false
|
|
76
|
-
|
|
77
|
-
Style/BlockDelimiters:
|
|
78
|
-
Enabled: false
|
|
79
|
-
|
|
80
|
-
Style/BracesAroundHashParameters:
|
|
81
|
-
Enabled: false
|
|
82
|
-
|
|
83
|
-
Style/ClassAndModuleChildren:
|
|
84
|
-
Enabled: false
|
|
85
|
-
|
|
86
|
-
Layout/ClosingParenthesisIndentation:
|
|
87
|
-
Enabled: false
|
|
88
|
-
|
|
89
|
-
Style/Documentation:
|
|
90
|
-
Enabled: false
|
|
91
|
-
|
|
92
|
-
Layout/DotPosition:
|
|
93
|
-
EnforcedStyle: trailing
|
|
94
|
-
|
|
95
|
-
Style/DoubleNegation:
|
|
96
|
-
Enabled: false
|
|
97
|
-
|
|
98
|
-
Style/EachWithObject:
|
|
99
|
-
Enabled: false
|
|
100
|
-
|
|
101
|
-
Style/FormatString:
|
|
102
|
-
EnforcedStyle: sprintf
|
|
103
|
-
|
|
104
|
-
Style/GuardClause:
|
|
105
|
-
Enabled: false
|
|
106
|
-
|
|
107
|
-
Style/IfUnlessModifier:
|
|
108
|
-
Enabled: false
|
|
109
|
-
|
|
110
|
-
Layout/IndentArray:
|
|
111
|
-
EnforcedStyle: consistent
|
|
112
|
-
|
|
113
|
-
Layout/IndentHash:
|
|
114
|
-
Enabled: false
|
|
115
|
-
|
|
116
|
-
Style/Lambda:
|
|
117
|
-
Enabled: false
|
|
118
|
-
|
|
119
|
-
Style/MultilineBlockChain:
|
|
120
|
-
Enabled: false
|
|
121
|
-
|
|
122
|
-
Layout/MultilineBlockLayout:
|
|
123
|
-
Enabled: false
|
|
124
|
-
|
|
125
|
-
Layout/MultilineOperationIndentation:
|
|
126
|
-
Enabled: false
|
|
127
|
-
|
|
128
|
-
Style/NegatedIf:
|
|
129
|
-
Enabled: false
|
|
130
|
-
|
|
131
|
-
Style/Next:
|
|
132
|
-
Enabled: false
|
|
133
|
-
|
|
134
|
-
Style/NumericLiterals:
|
|
135
|
-
Enabled: false
|
|
136
|
-
|
|
137
|
-
Naming/PredicateName:
|
|
138
|
-
Enabled: false
|
|
139
|
-
|
|
140
|
-
Style/RaiseArgs:
|
|
141
|
-
EnforcedStyle: compact
|
|
142
|
-
|
|
143
|
-
Style/RedundantSelf:
|
|
144
|
-
Enabled: false
|
|
145
|
-
|
|
146
|
-
Style/RescueModifier:
|
|
147
|
-
Enabled: false
|
|
148
|
-
|
|
149
|
-
Style/SignalException:
|
|
150
|
-
Enabled: false
|
|
151
|
-
|
|
152
|
-
Style/SingleLineBlockParams:
|
|
153
|
-
Enabled: false
|
|
154
|
-
|
|
155
|
-
Layout/SpaceAroundEqualsInParameterDefault:
|
|
156
|
-
EnforcedStyle: no_space
|
|
157
|
-
|
|
158
|
-
Style/StructInheritance:
|
|
159
|
-
Enabled: false
|
|
160
|
-
|
|
161
|
-
Style/TrailingCommaInArguments:
|
|
162
|
-
Enabled: false
|
|
163
|
-
|
|
164
|
-
Style/TrailingUnderscoreVariable:
|
|
165
|
-
Enabled: false
|
|
166
|
-
|
|
167
|
-
Style/TrivialAccessors:
|
|
168
|
-
Enabled: false
|
|
169
|
-
|
|
170
|
-
Style/WordArray:
|
|
171
|
-
Enabled: false
|
|
172
|
-
|
|
173
|
-
Style/ZeroLengthPredicate:
|
|
174
|
-
Enabled: false
|
|
31
|
+
Exclude:
|
|
32
|
+
- test/**/*
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.5
|
|
1
|
+
2.6.5
|
data/.travis.yml
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
language: ruby
|
|
2
2
|
|
|
3
3
|
rvm:
|
|
4
|
-
- 2.5.
|
|
4
|
+
- 2.5.7
|
|
5
|
+
- 2.6.5
|
|
6
|
+
- 2.7.0-rc2
|
|
7
|
+
|
|
8
|
+
matrix:
|
|
9
|
+
allow_failures:
|
|
10
|
+
- rvm: 2.7.0-rc2
|
|
5
11
|
|
|
6
12
|
before_install:
|
|
7
|
-
|
|
8
|
-
|
|
13
|
+
# https://github.com/travis-ci/travis-ci/issues/8978#issuecomment-377680126
|
|
14
|
+
- gem install bundler
|
|
9
15
|
|
|
10
16
|
script:
|
|
11
17
|
- bundle exec rake
|
data/Gemfile.lock
CHANGED
|
@@ -1,73 +1,73 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
dropcaster (1.
|
|
4
|
+
dropcaster (1.1.0)
|
|
5
5
|
activesupport
|
|
6
6
|
bundler
|
|
7
|
-
nokogiri
|
|
7
|
+
nokogiri
|
|
8
8
|
null-logger
|
|
9
9
|
ruby-mp3info
|
|
10
10
|
|
|
11
11
|
GEM
|
|
12
12
|
remote: https://rubygems.org/
|
|
13
13
|
specs:
|
|
14
|
-
activesupport (
|
|
15
|
-
|
|
14
|
+
activesupport (6.0.2.1)
|
|
15
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
16
|
+
i18n (>= 0.7, < 2)
|
|
16
17
|
minitest (~> 5.1)
|
|
17
|
-
thread_safe (~> 0.3, >= 0.3.4)
|
|
18
18
|
tzinfo (~> 1.1)
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
zeitwerk (~> 2.2)
|
|
20
|
+
addressable (2.7.0)
|
|
21
|
+
public_suffix (>= 2.0.2, < 5.0)
|
|
21
22
|
ast (2.4.0)
|
|
22
|
-
byebug (
|
|
23
|
+
byebug (11.0.1)
|
|
23
24
|
coderay (1.1.2)
|
|
24
25
|
coffee-script (2.4.1)
|
|
25
26
|
coffee-script-source
|
|
26
27
|
execjs
|
|
27
28
|
coffee-script-source (1.11.1)
|
|
28
29
|
colorator (1.1.0)
|
|
29
|
-
commonmarker (0.17.
|
|
30
|
+
commonmarker (0.17.13)
|
|
30
31
|
ruby-enum (~> 0.5)
|
|
31
|
-
concurrent-ruby (1.
|
|
32
|
-
dnsruby (1.61.
|
|
32
|
+
concurrent-ruby (1.1.5)
|
|
33
|
+
dnsruby (1.61.3)
|
|
33
34
|
addressable (~> 2.5)
|
|
34
35
|
em-websocket (0.5.1)
|
|
35
36
|
eventmachine (>= 0.12.9)
|
|
36
37
|
http_parser.rb (~> 0.6.0)
|
|
37
|
-
ethon (0.
|
|
38
|
+
ethon (0.12.0)
|
|
38
39
|
ffi (>= 1.3.0)
|
|
39
40
|
eventmachine (1.2.7)
|
|
40
41
|
eventmachine (1.2.7-x86-mingw32)
|
|
41
42
|
execjs (2.7.0)
|
|
42
|
-
faraday (0.
|
|
43
|
+
faraday (0.17.1)
|
|
43
44
|
multipart-post (>= 1.2, < 3)
|
|
44
|
-
ffi (1.
|
|
45
|
-
ffi (1.
|
|
45
|
+
ffi (1.11.3)
|
|
46
|
+
ffi (1.11.3-x86-mingw32)
|
|
46
47
|
formatador (0.2.5)
|
|
47
48
|
forwardable-extended (2.6.0)
|
|
48
|
-
gemoji (3.0.
|
|
49
|
-
github-pages (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
jekyll (=
|
|
53
|
-
jekyll-avatar (= 0.6.0)
|
|
49
|
+
gemoji (3.0.1)
|
|
50
|
+
github-pages (203)
|
|
51
|
+
github-pages-health-check (= 1.16.1)
|
|
52
|
+
jekyll (= 3.8.5)
|
|
53
|
+
jekyll-avatar (= 0.7.0)
|
|
54
54
|
jekyll-coffeescript (= 1.1.1)
|
|
55
|
-
jekyll-commonmark-ghpages (= 0.1.
|
|
55
|
+
jekyll-commonmark-ghpages (= 0.1.6)
|
|
56
56
|
jekyll-default-layout (= 0.1.4)
|
|
57
|
-
jekyll-feed (= 0.
|
|
57
|
+
jekyll-feed (= 0.13.0)
|
|
58
58
|
jekyll-gist (= 1.5.0)
|
|
59
|
-
jekyll-github-metadata (= 2.
|
|
60
|
-
jekyll-mentions (= 1.
|
|
61
|
-
jekyll-optional-front-matter (= 0.3.
|
|
59
|
+
jekyll-github-metadata (= 2.12.1)
|
|
60
|
+
jekyll-mentions (= 1.5.1)
|
|
61
|
+
jekyll-optional-front-matter (= 0.3.2)
|
|
62
62
|
jekyll-paginate (= 1.1.0)
|
|
63
|
-
jekyll-readme-index (= 0.
|
|
64
|
-
jekyll-redirect-from (= 0.
|
|
65
|
-
jekyll-relative-links (= 0.
|
|
66
|
-
jekyll-remote-theme (= 0.
|
|
63
|
+
jekyll-readme-index (= 0.3.0)
|
|
64
|
+
jekyll-redirect-from (= 0.15.0)
|
|
65
|
+
jekyll-relative-links (= 0.6.1)
|
|
66
|
+
jekyll-remote-theme (= 0.4.1)
|
|
67
67
|
jekyll-sass-converter (= 1.5.2)
|
|
68
|
-
jekyll-seo-tag (= 2.
|
|
69
|
-
jekyll-sitemap (= 1.
|
|
70
|
-
jekyll-swiss (= 0.
|
|
68
|
+
jekyll-seo-tag (= 2.6.1)
|
|
69
|
+
jekyll-sitemap (= 1.4.0)
|
|
70
|
+
jekyll-swiss (= 1.0.0)
|
|
71
71
|
jekyll-theme-architect (= 0.1.1)
|
|
72
72
|
jekyll-theme-cayman (= 0.1.1)
|
|
73
73
|
jekyll-theme-dinky (= 0.1.1)
|
|
@@ -77,27 +77,26 @@ GEM
|
|
|
77
77
|
jekyll-theme-midnight (= 0.1.1)
|
|
78
78
|
jekyll-theme-minimal (= 0.1.1)
|
|
79
79
|
jekyll-theme-modernist (= 0.1.1)
|
|
80
|
-
jekyll-theme-primer (= 0.5.
|
|
80
|
+
jekyll-theme-primer (= 0.5.4)
|
|
81
81
|
jekyll-theme-slate (= 0.1.1)
|
|
82
82
|
jekyll-theme-tactile (= 0.1.1)
|
|
83
83
|
jekyll-theme-time-machine (= 0.1.1)
|
|
84
|
-
jekyll-titles-from-headings (= 0.5.
|
|
85
|
-
jemoji (= 0.
|
|
86
|
-
kramdown (= 1.
|
|
87
|
-
liquid (= 4.0.
|
|
88
|
-
listen (= 3.1.5)
|
|
84
|
+
jekyll-titles-from-headings (= 0.5.3)
|
|
85
|
+
jemoji (= 0.11.1)
|
|
86
|
+
kramdown (= 1.17.0)
|
|
87
|
+
liquid (= 4.0.3)
|
|
89
88
|
mercenary (~> 0.3)
|
|
90
|
-
minima (= 2.5.
|
|
91
|
-
nokogiri (>= 1.
|
|
92
|
-
rouge (=
|
|
89
|
+
minima (= 2.5.1)
|
|
90
|
+
nokogiri (>= 1.10.4, < 2.0)
|
|
91
|
+
rouge (= 3.13.0)
|
|
93
92
|
terminal-table (~> 1.4)
|
|
94
|
-
github-pages-health-check (1.
|
|
93
|
+
github-pages-health-check (1.16.1)
|
|
95
94
|
addressable (~> 2.3)
|
|
96
95
|
dnsruby (~> 1.60)
|
|
97
96
|
octokit (~> 4.0)
|
|
98
|
-
public_suffix (~>
|
|
97
|
+
public_suffix (~> 3.0)
|
|
99
98
|
typhoeus (~> 1.3)
|
|
100
|
-
guard (2.
|
|
99
|
+
guard (2.16.1)
|
|
101
100
|
formatador (>= 0.2.4)
|
|
102
101
|
listen (>= 2.7, < 4.0)
|
|
103
102
|
lumberjack (>= 1.0.12, < 2.0)
|
|
@@ -106,22 +105,22 @@ GEM
|
|
|
106
105
|
pry (>= 0.9.12)
|
|
107
106
|
shellany (~> 0.0)
|
|
108
107
|
thor (>= 0.18.1)
|
|
109
|
-
guard-bundler (
|
|
110
|
-
bundler (
|
|
108
|
+
guard-bundler (3.0.0)
|
|
109
|
+
bundler (>= 2.1, < 3)
|
|
111
110
|
guard (~> 2.2)
|
|
112
111
|
guard-compat (~> 1.1)
|
|
113
112
|
guard-compat (1.2.1)
|
|
114
113
|
guard-minitest (2.4.6)
|
|
115
114
|
guard-compat (~> 1.2)
|
|
116
115
|
minitest (>= 3.0)
|
|
117
|
-
html-pipeline (2.
|
|
116
|
+
html-pipeline (2.12.3)
|
|
118
117
|
activesupport (>= 2)
|
|
119
118
|
nokogiri (>= 1.4)
|
|
120
119
|
http_parser.rb (0.6.0)
|
|
121
120
|
i18n (0.9.5)
|
|
122
121
|
concurrent-ruby (~> 1.0)
|
|
123
|
-
jaro_winkler (1.5.
|
|
124
|
-
jekyll (3.
|
|
122
|
+
jaro_winkler (1.5.4)
|
|
123
|
+
jekyll (3.8.5)
|
|
125
124
|
addressable (~> 2.4)
|
|
126
125
|
colorator (~> 1.0)
|
|
127
126
|
em-websocket (~> 0.5)
|
|
@@ -134,49 +133,50 @@ GEM
|
|
|
134
133
|
pathutil (~> 0.9)
|
|
135
134
|
rouge (>= 1.7, < 4)
|
|
136
135
|
safe_yaml (~> 1.0)
|
|
137
|
-
jekyll-avatar (0.
|
|
138
|
-
jekyll (
|
|
136
|
+
jekyll-avatar (0.7.0)
|
|
137
|
+
jekyll (>= 3.0, < 5.0)
|
|
139
138
|
jekyll-coffeescript (1.1.1)
|
|
140
139
|
coffee-script (~> 2.2)
|
|
141
140
|
coffee-script-source (~> 1.11.1)
|
|
142
|
-
jekyll-commonmark (1.
|
|
141
|
+
jekyll-commonmark (1.3.1)
|
|
143
142
|
commonmarker (~> 0.14)
|
|
144
|
-
jekyll (>= 3.
|
|
145
|
-
jekyll-commonmark-ghpages (0.1.
|
|
143
|
+
jekyll (>= 3.7, < 5.0)
|
|
144
|
+
jekyll-commonmark-ghpages (0.1.6)
|
|
146
145
|
commonmarker (~> 0.17.6)
|
|
147
|
-
jekyll-commonmark (~> 1)
|
|
148
|
-
rouge (
|
|
146
|
+
jekyll-commonmark (~> 1.2)
|
|
147
|
+
rouge (>= 2.0, < 4.0)
|
|
149
148
|
jekyll-default-layout (0.1.4)
|
|
150
149
|
jekyll (~> 3.0)
|
|
151
|
-
jekyll-feed (0.
|
|
152
|
-
jekyll (
|
|
150
|
+
jekyll-feed (0.13.0)
|
|
151
|
+
jekyll (>= 3.7, < 5.0)
|
|
153
152
|
jekyll-gist (1.5.0)
|
|
154
153
|
octokit (~> 4.2)
|
|
155
|
-
jekyll-github-metadata (2.
|
|
156
|
-
jekyll (~> 3.
|
|
154
|
+
jekyll-github-metadata (2.12.1)
|
|
155
|
+
jekyll (~> 3.4)
|
|
157
156
|
octokit (~> 4.0, != 4.4.0)
|
|
158
|
-
jekyll-mentions (1.
|
|
157
|
+
jekyll-mentions (1.5.1)
|
|
159
158
|
html-pipeline (~> 2.3)
|
|
160
|
-
jekyll (
|
|
161
|
-
jekyll-optional-front-matter (0.3.
|
|
162
|
-
jekyll (
|
|
159
|
+
jekyll (>= 3.7, < 5.0)
|
|
160
|
+
jekyll-optional-front-matter (0.3.2)
|
|
161
|
+
jekyll (>= 3.0, < 5.0)
|
|
163
162
|
jekyll-paginate (1.1.0)
|
|
164
|
-
jekyll-readme-index (0.
|
|
165
|
-
jekyll (
|
|
166
|
-
jekyll-redirect-from (0.
|
|
167
|
-
jekyll (
|
|
168
|
-
jekyll-relative-links (0.
|
|
169
|
-
jekyll (
|
|
170
|
-
jekyll-remote-theme (0.
|
|
171
|
-
|
|
172
|
-
|
|
163
|
+
jekyll-readme-index (0.3.0)
|
|
164
|
+
jekyll (>= 3.0, < 5.0)
|
|
165
|
+
jekyll-redirect-from (0.15.0)
|
|
166
|
+
jekyll (>= 3.3, < 5.0)
|
|
167
|
+
jekyll-relative-links (0.6.1)
|
|
168
|
+
jekyll (>= 3.3, < 5.0)
|
|
169
|
+
jekyll-remote-theme (0.4.1)
|
|
170
|
+
addressable (~> 2.0)
|
|
171
|
+
jekyll (>= 3.5, < 5.0)
|
|
172
|
+
rubyzip (>= 1.3.0)
|
|
173
173
|
jekyll-sass-converter (1.5.2)
|
|
174
174
|
sass (~> 3.4)
|
|
175
|
-
jekyll-seo-tag (2.
|
|
176
|
-
jekyll (
|
|
177
|
-
jekyll-sitemap (1.
|
|
178
|
-
jekyll (
|
|
179
|
-
jekyll-swiss (0.
|
|
175
|
+
jekyll-seo-tag (2.6.1)
|
|
176
|
+
jekyll (>= 3.3, < 5.0)
|
|
177
|
+
jekyll-sitemap (1.4.0)
|
|
178
|
+
jekyll (>= 3.7, < 5.0)
|
|
179
|
+
jekyll-swiss (1.0.0)
|
|
180
180
|
jekyll-theme-architect (0.1.1)
|
|
181
181
|
jekyll (~> 3.5)
|
|
182
182
|
jekyll-seo-tag (~> 2.0)
|
|
@@ -204,8 +204,8 @@ GEM
|
|
|
204
204
|
jekyll-theme-modernist (0.1.1)
|
|
205
205
|
jekyll (~> 3.5)
|
|
206
206
|
jekyll-seo-tag (~> 2.0)
|
|
207
|
-
jekyll-theme-primer (0.5.
|
|
208
|
-
jekyll (
|
|
207
|
+
jekyll-theme-primer (0.5.4)
|
|
208
|
+
jekyll (> 3.5, < 5.0)
|
|
209
209
|
jekyll-github-metadata (~> 2.9)
|
|
210
210
|
jekyll-seo-tag (~> 2.0)
|
|
211
211
|
jekyll-theme-slate (0.1.1)
|
|
@@ -217,96 +217,93 @@ GEM
|
|
|
217
217
|
jekyll-theme-time-machine (0.1.1)
|
|
218
218
|
jekyll (~> 3.5)
|
|
219
219
|
jekyll-seo-tag (~> 2.0)
|
|
220
|
-
jekyll-titles-from-headings (0.5.
|
|
221
|
-
jekyll (
|
|
222
|
-
jekyll-watch (2.
|
|
220
|
+
jekyll-titles-from-headings (0.5.3)
|
|
221
|
+
jekyll (>= 3.3, < 5.0)
|
|
222
|
+
jekyll-watch (2.2.1)
|
|
223
223
|
listen (~> 3.0)
|
|
224
|
-
jemoji (0.
|
|
224
|
+
jemoji (0.11.1)
|
|
225
225
|
gemoji (~> 3.0)
|
|
226
226
|
html-pipeline (~> 2.2)
|
|
227
|
-
jekyll (
|
|
228
|
-
kramdown (1.
|
|
227
|
+
jekyll (>= 3.0, < 5.0)
|
|
228
|
+
kramdown (1.17.0)
|
|
229
229
|
libnotify (0.9.4)
|
|
230
230
|
ffi (>= 1.0.11)
|
|
231
231
|
libxml-ruby (3.1.0)
|
|
232
|
-
liquid (4.0.
|
|
233
|
-
listen (3.1
|
|
234
|
-
rb-fsevent (~> 0.
|
|
235
|
-
rb-inotify (~> 0.9, >= 0.9.
|
|
236
|
-
ruby_dep (~> 1.2)
|
|
232
|
+
liquid (4.0.3)
|
|
233
|
+
listen (3.2.1)
|
|
234
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
235
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
|
237
236
|
lumberjack (1.0.13)
|
|
238
237
|
mercenary (0.3.6)
|
|
239
|
-
method_source (0.9.
|
|
240
|
-
mini_portile2 (2.
|
|
241
|
-
minima (2.5.
|
|
242
|
-
jekyll (
|
|
238
|
+
method_source (0.9.2)
|
|
239
|
+
mini_portile2 (2.4.0)
|
|
240
|
+
minima (2.5.1)
|
|
241
|
+
jekyll (>= 3.5, < 5.0)
|
|
243
242
|
jekyll-feed (~> 0.9)
|
|
244
243
|
jekyll-seo-tag (~> 2.1)
|
|
245
|
-
minitest (5.
|
|
246
|
-
multipart-post (2.
|
|
244
|
+
minitest (5.13.0)
|
|
245
|
+
multipart-post (2.1.1)
|
|
247
246
|
nenv (0.3.0)
|
|
248
|
-
nokogiri (1.
|
|
249
|
-
mini_portile2 (~> 2.
|
|
250
|
-
nokogiri (1.
|
|
251
|
-
mini_portile2 (~> 2.
|
|
252
|
-
notiffany (0.1.
|
|
247
|
+
nokogiri (1.10.7)
|
|
248
|
+
mini_portile2 (~> 2.4.0)
|
|
249
|
+
nokogiri (1.10.7-x86-mingw32)
|
|
250
|
+
mini_portile2 (~> 2.4.0)
|
|
251
|
+
notiffany (0.1.3)
|
|
253
252
|
nenv (~> 0.1)
|
|
254
253
|
shellany (~> 0.0)
|
|
255
254
|
null-logger (0.1.5)
|
|
256
|
-
octokit (4.
|
|
255
|
+
octokit (4.14.0)
|
|
257
256
|
sawyer (~> 0.8.0, >= 0.5.3)
|
|
258
|
-
parallel (1.
|
|
259
|
-
parser (2.5.
|
|
257
|
+
parallel (1.19.1)
|
|
258
|
+
parser (2.6.5.0)
|
|
260
259
|
ast (~> 2.4.0)
|
|
261
|
-
pathutil (0.16.
|
|
260
|
+
pathutil (0.16.2)
|
|
262
261
|
forwardable-extended (~> 2.6)
|
|
263
|
-
|
|
264
|
-
pry (0.11.3)
|
|
262
|
+
pry (0.12.2)
|
|
265
263
|
coderay (~> 1.1.0)
|
|
266
264
|
method_source (~> 0.9.0)
|
|
267
|
-
pry-byebug (3.
|
|
268
|
-
byebug (~>
|
|
265
|
+
pry-byebug (3.7.0)
|
|
266
|
+
byebug (~> 11.0)
|
|
269
267
|
pry (~> 0.10)
|
|
270
|
-
public_suffix (
|
|
268
|
+
public_suffix (3.1.1)
|
|
271
269
|
rainbow (3.0.0)
|
|
272
|
-
rake (
|
|
270
|
+
rake (13.0.1)
|
|
273
271
|
rb-fsevent (0.10.3)
|
|
274
|
-
rb-inotify (0.
|
|
275
|
-
ffi (
|
|
276
|
-
rouge (
|
|
277
|
-
rubocop (0.
|
|
272
|
+
rb-inotify (0.10.1)
|
|
273
|
+
ffi (~> 1.0)
|
|
274
|
+
rouge (3.13.0)
|
|
275
|
+
rubocop (0.78.0)
|
|
278
276
|
jaro_winkler (~> 1.5.1)
|
|
279
277
|
parallel (~> 1.10)
|
|
280
|
-
parser (>= 2.
|
|
281
|
-
powerpack (~> 0.1)
|
|
278
|
+
parser (>= 2.6)
|
|
282
279
|
rainbow (>= 2.2.2, < 4.0)
|
|
283
280
|
ruby-progressbar (~> 1.7)
|
|
284
|
-
unicode-display_width (
|
|
281
|
+
unicode-display_width (>= 1.4.0, < 1.7)
|
|
285
282
|
ruby-enum (0.7.2)
|
|
286
283
|
i18n
|
|
287
284
|
ruby-mp3info (0.8.10)
|
|
288
|
-
ruby-progressbar (1.
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
sass (3.5.6)
|
|
285
|
+
ruby-progressbar (1.10.1)
|
|
286
|
+
rubyzip (2.0.0)
|
|
287
|
+
safe_yaml (1.0.5)
|
|
288
|
+
sass (3.7.4)
|
|
293
289
|
sass-listen (~> 4.0.0)
|
|
294
290
|
sass-listen (4.0.0)
|
|
295
291
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
|
296
292
|
rb-inotify (~> 0.9, >= 0.9.7)
|
|
297
|
-
sawyer (0.8.
|
|
298
|
-
addressable (>= 2.3.5
|
|
299
|
-
faraday (
|
|
293
|
+
sawyer (0.8.2)
|
|
294
|
+
addressable (>= 2.3.5)
|
|
295
|
+
faraday (> 0.8, < 2.0)
|
|
300
296
|
shellany (0.0.1)
|
|
301
297
|
terminal-table (1.8.0)
|
|
302
298
|
unicode-display_width (~> 1.1, >= 1.1.1)
|
|
303
|
-
thor (0.
|
|
299
|
+
thor (1.0.1)
|
|
304
300
|
thread_safe (0.3.6)
|
|
305
|
-
typhoeus (1.3.
|
|
301
|
+
typhoeus (1.3.1)
|
|
306
302
|
ethon (>= 0.9.0)
|
|
307
|
-
tzinfo (1.2.
|
|
303
|
+
tzinfo (1.2.6)
|
|
308
304
|
thread_safe (~> 0.1)
|
|
309
|
-
unicode-display_width (1.
|
|
305
|
+
unicode-display_width (1.6.0)
|
|
306
|
+
zeitwerk (2.2.2)
|
|
310
307
|
|
|
311
308
|
PLATFORMS
|
|
312
309
|
ruby
|
|
@@ -329,4 +326,4 @@ DEPENDENCIES
|
|
|
329
326
|
rubocop
|
|
330
327
|
|
|
331
328
|
BUNDLED WITH
|
|
332
|
-
1.
|
|
329
|
+
2.1.2
|
data/README.markdown
CHANGED
|
@@ -24,6 +24,16 @@ To get started, use RubyGems to install Dropcaster:
|
|
|
24
24
|
|
|
25
25
|
Once installed, you can use the `dropcaster` command to generate a new podcast feed document.
|
|
26
26
|
|
|
27
|
+
## Troubleshooting
|
|
28
|
+
|
|
29
|
+
`libxml-ruby` is a frequent offender with installation problems. As usual, [Stack Overflow](https://stackoverflow.com/questions/38129330/libxml-ruby-failed-to-build-gem-native-extension#comment98572516_55162900) has the answer (at least for macOS with Homebrew):
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
$ gem install --no-document libxml-ruby -- --with-xml2-config="$(brew --prefix libxml2)/bin/xml2-config"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
For Ruby 2.5, add `-v '3.1.0'`.
|
|
36
|
+
|
|
27
37
|
# Basic Usage
|
|
28
38
|
|
|
29
39
|
Once Dropcaster is installed, the only two other things you will need are a channel definition and one or more mp3 files to publish.
|
|
@@ -146,6 +156,12 @@ The generated XML file contains all elements required for iTunes. However, Dropc
|
|
|
146
156
|
|
|
147
157
|
The whole concept of Dropcaster works perfectly fine without Dropbox. Just run the Dropcaster script in a directory of mp3 files and upload the files as well as the generated index.rss to a web server. Leave the relative position of the index and mp3 files as is, otherwise the path to the mp3 files in index.rss will become invalid.
|
|
148
158
|
|
|
159
|
+
## Using Dropcaster With S3 or Digital Ocean Spaces
|
|
160
|
+
|
|
161
|
+
If you set up an S3 bucket or Digital Ocean Space (or any other s3 compatible static asset host), you can easily sync your local podcast directory using a command line tool like [s3cmd](https://github.com/s3tools/s3cmd).
|
|
162
|
+
|
|
163
|
+
After installing s3cmd, make sure you have the right credentials to write to your bucket/space. Add your mp3 files to your folder, run `dropcaster > index.rss` and then `s3cmd sync ./ s3://$your-bucket-name --acl public-read`. S3cmd will now upload any new or changed files to your bucket.
|
|
164
|
+
|
|
149
165
|
## Episode Identifier (uuid)
|
|
150
166
|
|
|
151
167
|
Dropcaster uses a rather simple approach to uniquely identify the episodes. It simply generates a SHA1 hash of the mp3 file. If it changes, for whatever reason (even if only a tag was changed), the episode will get a new UUID, and any podcatcher will fetch the episode again (which is what you want, in most cases).
|
data/Rakefile
CHANGED
|
@@ -26,7 +26,7 @@ namespace :web do
|
|
|
26
26
|
end
|
|
27
27
|
CLOBBER << 'website/vision.markdown'
|
|
28
28
|
|
|
29
|
-
file 'website/contributors.markdown' do
|
|
29
|
+
file 'website/contributors.markdown' do
|
|
30
30
|
require 'dropcaster/contributors'
|
|
31
31
|
File.write('website/contributors.markdown', Dropcaster.contributors)
|
|
32
32
|
end
|
data/bin/dropcaster
CHANGED
|
@@ -41,22 +41,24 @@ end
|
|
|
41
41
|
OptionParser.new do |opts|
|
|
42
42
|
opts.banner = help
|
|
43
43
|
|
|
44
|
-
opts.on('--verbose', 'Verbose mode - displays additional diagnostic information') do
|
|
44
|
+
opts.on('--verbose', 'Verbose mode - displays additional diagnostic information') do
|
|
45
45
|
logger.level = Logger::INFO
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
-
opts.on('--trace', 'Verbose mode - displays additional diagnostic information') do
|
|
48
|
+
opts.on('--trace', 'Verbose mode - displays additional diagnostic information') do
|
|
49
49
|
logger.level = Logger::DEBUG
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
opts.on('--channel FILE', 'Read the channel definition from FILE instead of channel.yml in the current directory.') do |file|
|
|
53
53
|
logger.info "Reading channel definition from #{file}"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
begin
|
|
55
|
+
options = YAML.load_file(file).merge(options)
|
|
56
|
+
options[:auto_detect_channel_file] = false
|
|
57
|
+
rescue StandardError
|
|
58
|
+
logger.error "Could not load channel definition. #{$ERROR_INFO.message}"
|
|
59
|
+
logger.info $ERROR_INFO.backtrace
|
|
60
|
+
exit(1)
|
|
61
|
+
end
|
|
60
62
|
end
|
|
61
63
|
|
|
62
64
|
opts.on('--title STRING', "Use STRING as the channel's title. Overrides settings read from channel definition file.") do |title|
|
data/bin/lstags
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
unless ARGV.size == 1
|
|
5
|
-
|
|
5
|
+
warn "#{File.basename(__FILE__)}: Missing required parameter for the mp3 file to process"
|
|
6
6
|
exit(1)
|
|
7
7
|
end
|
|
8
8
|
|
|
@@ -16,12 +16,12 @@ begin
|
|
|
16
16
|
# rubocop:disable Lint/EmptyWhen
|
|
17
17
|
Mp3Info.open(file_name) do |mp3info|
|
|
18
18
|
puts 'ID3v1 tags:'
|
|
19
|
-
mp3info.tag.each_key
|
|
19
|
+
mp3info.tag.each_key do |key|
|
|
20
20
|
puts " #{key} => #{mp3info.tag.send(key)}"
|
|
21
|
-
|
|
21
|
+
end
|
|
22
22
|
puts
|
|
23
23
|
puts 'ID3v2 tags:'
|
|
24
|
-
mp3info.tag2.each_key
|
|
24
|
+
mp3info.tag2.each_key do |key|
|
|
25
25
|
case key
|
|
26
26
|
when 'PIC'
|
|
27
27
|
when 'APIC'
|
|
@@ -29,20 +29,22 @@ begin
|
|
|
29
29
|
when 'ULT'
|
|
30
30
|
print ' ULT => '
|
|
31
31
|
block_counter = 0
|
|
32
|
-
mp3info.tag2.ULT.bytes
|
|
33
|
-
|
|
32
|
+
mp3info.tag2.ULT.bytes do |b|
|
|
33
|
+
# rubocop:disable Style/FormatStringToken
|
|
34
|
+
print format('0x%02x ', b.to_i)
|
|
35
|
+
# rubocop:enable Style/FormatStringToken
|
|
34
36
|
print b > 31 ? " '#{b.chr}' " : ' ' * 5
|
|
35
37
|
if (block_counter += 1) > 7 # display in blocks of 8 bytes
|
|
36
38
|
puts
|
|
37
39
|
print ' ' * 9
|
|
38
40
|
block_counter = 0
|
|
39
41
|
end
|
|
40
|
-
|
|
42
|
+
end
|
|
41
43
|
puts
|
|
42
44
|
else
|
|
43
45
|
puts " #{key} => #{mp3info.tag2.send(key)}"
|
|
44
46
|
end
|
|
45
|
-
|
|
47
|
+
end
|
|
46
48
|
end
|
|
47
49
|
# rubocop:enable Metrics/BlockLength
|
|
48
50
|
# rubocop:enable Lint/EmptyWhen
|
data/dropcaster.gemspec
CHANGED
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
|
|
23
23
|
spec.add_dependency 'activesupport'
|
|
24
24
|
spec.add_dependency 'bundler'
|
|
25
|
-
spec.add_dependency 'nokogiri'
|
|
25
|
+
spec.add_dependency 'nokogiri'
|
|
26
26
|
spec.add_dependency 'null-logger'
|
|
27
27
|
spec.add_dependency 'ruby-mp3info'
|
|
28
28
|
|
data/lib/dropcaster/channel.rb
CHANGED
|
@@ -63,7 +63,7 @@ module Dropcaster
|
|
|
63
63
|
channel_template = @attributes[:channel_template] || File.join(File.dirname(__FILE__), '..', '..', 'templates', 'channel.rss.erb')
|
|
64
64
|
|
|
65
65
|
begin
|
|
66
|
-
@erb_template = ERB.new(IO.read(channel_template)
|
|
66
|
+
@erb_template = ERB.new(IO.read(channel_template))
|
|
67
67
|
rescue Errno::ENOENT => e
|
|
68
68
|
raise TemplateNotFoundError.new(e.message)
|
|
69
69
|
end
|
|
@@ -89,7 +89,7 @@ module Dropcaster
|
|
|
89
89
|
logger.debug("Adding new item from file #{src}")
|
|
90
90
|
|
|
91
91
|
# set author and image_url from channel if empty
|
|
92
|
-
if item.artist.blank?
|
|
92
|
+
if item.tag.artist.blank?
|
|
93
93
|
logger.info("#{src} has no artist, using the channel's author")
|
|
94
94
|
item.tag.artist = @attributes[:author]
|
|
95
95
|
end
|
|
@@ -145,7 +145,7 @@ module Dropcaster
|
|
|
145
145
|
# rubocop:disable Style/MethodMissing
|
|
146
146
|
def method_missing(meth, *args)
|
|
147
147
|
m = meth.id2name
|
|
148
|
-
if
|
|
148
|
+
if m =~ /=$/
|
|
149
149
|
@attributes[m.chop.to_sym] = (args.length < 2 ? args[0] : args)
|
|
150
150
|
else
|
|
151
151
|
@attributes[m.to_sym]
|
|
@@ -154,7 +154,7 @@ module Dropcaster
|
|
|
154
154
|
# rubocop:enable Style/MethodMissing
|
|
155
155
|
|
|
156
156
|
def respond_to_missing?(meth, *)
|
|
157
|
-
|
|
157
|
+
(meth.id2name =~ /=$/) || super
|
|
158
158
|
end
|
|
159
159
|
|
|
160
160
|
private
|
data/lib/dropcaster/item.rb
CHANGED
|
@@ -10,7 +10,7 @@ module Dropcaster
|
|
|
10
10
|
include Logging
|
|
11
11
|
|
|
12
12
|
attr_reader :file_path, :tag, :tag2, :duration, :file_size, :uuid, :pub_date, :lyrics
|
|
13
|
-
attr_accessor :
|
|
13
|
+
attr_accessor :image_url, :url, :keywords
|
|
14
14
|
|
|
15
15
|
def initialize(file_path, options=nil)
|
|
16
16
|
Mp3Info.open(file_path) { |mp3info|
|
|
@@ -27,7 +27,7 @@ module Dropcaster
|
|
|
27
27
|
@file_size = File.new(file_path).stat.size
|
|
28
28
|
@uuid = Digest::SHA1.hexdigest(File.read(file_path))
|
|
29
29
|
|
|
30
|
-
if tag2.
|
|
30
|
+
if tag2.TRD.blank?
|
|
31
31
|
logger.info("#{file_path} has no pub date set, using the file's modification time")
|
|
32
32
|
@pub_date = Time.parse(File.new(file_path).mtime.to_s)
|
|
33
33
|
else
|
data/lib/dropcaster/version.rb
CHANGED
data/templates/channel.html.erb
CHANGED
|
@@ -26,12 +26,9 @@
|
|
|
26
26
|
<h1>Episodes</h1>
|
|
27
27
|
<% items.each{|item| %>
|
|
28
28
|
<div class="item" id="<%= h(item.uuid) %>">
|
|
29
|
-
<h1><%= h(item.tag.title || item.
|
|
30
|
-
<% unless item.tag2.
|
|
31
|
-
<
|
|
32
|
-
<% end %>
|
|
33
|
-
<% unless item.tag2.TT3.blank? %>
|
|
34
|
-
<p><%= h(item.tag2.TT3) %></p>
|
|
29
|
+
<h1><%= h(item.tag.title || item.file_path.to_s) %></h1>
|
|
30
|
+
<% unless item.tag2.TT3.blank? && item.tag2.TIT3.blank? %>
|
|
31
|
+
<p><%= h(item.tag2.TT3 || item.tag2.TIT3) %></p>
|
|
35
32
|
<% end %>
|
|
36
33
|
<img src="<%= item.image_url %>"/>
|
|
37
34
|
<p>Download: <a href="<%= item.url %>">MP3</a> (<%= humanize_time(item.duration.to_i) %>, <%= humanize_size(item.file_size) %>)</p>
|
data/templates/channel.rss.erb
CHANGED
|
@@ -45,11 +45,11 @@
|
|
|
45
45
|
<% end %>
|
|
46
46
|
<% items.each{|item| %>
|
|
47
47
|
<item>
|
|
48
|
-
<title><%= h(item.tag.title || item.
|
|
49
|
-
<itunes:author><%= h(item.
|
|
50
|
-
<% unless item.tag2.TT3.blank? %>
|
|
51
|
-
<itunes:subtitle><%= h(truncate(item.tag2.TT3, 50)) %></itunes:subtitle>
|
|
52
|
-
<itunes:summary><%= h(item.tag2.TT3) %></itunes:summary>
|
|
48
|
+
<title><%= h(item.tag.title || item.file_path.to_s) %></title>
|
|
49
|
+
<itunes:author><%= h(item.tag.artist) %></itunes:author>
|
|
50
|
+
<% unless item.tag2.TT3.blank? && item.tag2.TIT3.blank? %>
|
|
51
|
+
<itunes:subtitle><%= h(truncate(item.tag2.TT3 || item.tag2.TIT3, 50)) %></itunes:subtitle>
|
|
52
|
+
<itunes:summary><%= h(item.tag2.TT3 || item.tag2.TIT3) %></itunes:summary>
|
|
53
53
|
<% end %>
|
|
54
54
|
<itunes:image href="<%= item.image_url %>"/>
|
|
55
55
|
<enclosure url="<%= item.url %>" length="<%= item.file_size %>" type="audio/mp3"/>
|
data/test/bin/vagrant-status
CHANGED
|
@@ -24,7 +24,7 @@ TYPES = [
|
|
|
24
24
|
'provider-name', # The provider name of the target machine. targeted
|
|
25
25
|
'state', # The state ID of the target machine. targeted
|
|
26
26
|
'state-human-long', # Human-readable description of the state of the machine. This is the long version, and may be a paragraph or longer. targeted
|
|
27
|
-
'state-human-short'
|
|
27
|
+
'state-human-short' # Human-readable description of the state of the machine. This is the short version, limited to at most a sentence. targeted
|
|
28
28
|
].freeze
|
|
29
29
|
|
|
30
30
|
module Vagrant
|
|
@@ -19,10 +19,9 @@
|
|
|
19
19
|
"categories": ["<% categories.join('\",\"') %>"],
|
|
20
20
|
"explicit" : "<%= explicit %>",
|
|
21
21
|
"items" : [<% items.collect{|item| %>{
|
|
22
|
-
"title" : "<%= item.tag.title
|
|
23
|
-
"author" : "<%= item.
|
|
24
|
-
"
|
|
25
|
-
"summary" : "<%= item.tag2.TT3 %>",
|
|
22
|
+
"title" : "<%= item.tag.title %>",
|
|
23
|
+
"author" : "<%= item.tag.artist %>",
|
|
24
|
+
"summary" : "<%= item.tag2.TT3 || item.tag2.TIT3 %>",
|
|
26
25
|
"image" : "<%= item.image_url %>",
|
|
27
26
|
"enclosure" : {
|
|
28
27
|
"url" : "<%= item.url %>",
|
|
@@ -40,14 +40,11 @@ class TestItunesItem < MiniTest::Test
|
|
|
40
40
|
assert_equal('iTunes Grouping', @item.tag2.TT1)
|
|
41
41
|
assert_equal('iTunes Description (Video Pane)', @item.tag2.TT3)
|
|
42
42
|
assert_equal('iTunes Composer', @item.tag2.TCM)
|
|
43
|
+
assert_equal('iTunes Comments (Info Pane)', @item.tag2.COM[1])
|
|
43
44
|
end
|
|
44
45
|
|
|
45
46
|
def test_lyrics
|
|
46
47
|
assert_equal(1, @item.lyrics.size)
|
|
47
48
|
assert_equal("iTunes Lyrics Line 1\niTunes Lyrics Line 2", @item.lyrics['eng'])
|
|
48
49
|
end
|
|
49
|
-
|
|
50
|
-
def test_tag2_comment
|
|
51
|
-
assert_equal('iTunes Comments (Info Pane)', @item.tag2.COM[1])
|
|
52
|
-
end
|
|
53
50
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dropcaster
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nicholas E. Rabenau
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-12-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -42,16 +42,16 @@ dependencies:
|
|
|
42
42
|
name: nokogiri
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
47
|
+
version: '0'
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - "
|
|
52
|
+
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
54
|
+
version: '0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: null-logger
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -361,8 +361,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
361
361
|
- !ruby/object:Gem::Version
|
|
362
362
|
version: '0'
|
|
363
363
|
requirements: []
|
|
364
|
-
|
|
365
|
-
rubygems_version: 2.7.6
|
|
364
|
+
rubygems_version: 3.1.2
|
|
366
365
|
signing_key:
|
|
367
366
|
specification_version: 4
|
|
368
367
|
summary: Simple Podcast Publishing with Dropbox
|