dropcaster 0.0.6 → 1.2.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.
Files changed (62) hide show
  1. checksums.yaml +5 -5
  2. data/.gemnasium.yml +1 -0
  3. data/.gitignore +12 -14
  4. data/.rubocop.yml +34 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +20 -5
  7. data/CONTRIBUTING.md +18 -0
  8. data/Dockerfile +4 -0
  9. data/Gemfile +2 -0
  10. data/Gemfile.lock +309 -65
  11. data/Guardfile +8 -6
  12. data/LICENSE.txt +1 -1
  13. data/README.markdown +43 -37
  14. data/Rakefile +46 -2
  15. data/{TODO → TODO.markdown} +0 -0
  16. data/VISION.markdown +52 -18
  17. data/Vagrantfile +10 -0
  18. data/bin/dropcaster +57 -53
  19. data/bin/lstags +29 -28
  20. data/dropcaster.gemspec +31 -20
  21. data/lib/dropcaster.rb +2 -15
  22. data/lib/dropcaster/channel.rb +54 -43
  23. data/lib/dropcaster/channel_file_locator.rb +8 -5
  24. data/lib/dropcaster/contributors.rb +39 -0
  25. data/lib/dropcaster/errors.rb +6 -4
  26. data/lib/dropcaster/item.rb +20 -14
  27. data/lib/dropcaster/log_formatter.rb +10 -0
  28. data/lib/dropcaster/logging.rb +13 -0
  29. data/lib/dropcaster/version.rb +3 -1
  30. data/templates/channel.html.erb +3 -6
  31. data/templates/channel.rss.erb +6 -5
  32. data/test/Vagrantfile +3 -1
  33. data/test/bin/vagrant-status +37 -31
  34. data/test/extensions/windows.rb +3 -1
  35. data/test/fixtures/extension.MP3 +0 -0
  36. data/test/fixtures/special &.mp3 +0 -0
  37. data/test/fixtures/test_template.json.erb +3 -4
  38. data/test/helper.rb +4 -1
  39. data/test/unit/test_app.rb +29 -24
  40. data/test/unit/test_channel.rb +9 -5
  41. data/test/unit/test_channel_locator.rb +8 -5
  42. data/test/unit/test_channel_xml.rb +29 -9
  43. data/test/unit/{test_item.rb → test_itunes_item.rb} +5 -6
  44. data/website/.gitignore +2 -0
  45. data/website/README.markdown +8 -0
  46. data/website/_config.yml +14 -0
  47. data/website/_front_matter/contributing.yaml +5 -0
  48. data/website/_front_matter/index.yaml +3 -0
  49. data/website/_front_matter/vision.yaml +5 -0
  50. data/website/_includes/footer.html +55 -0
  51. data/website/_includes/head.html +11 -0
  52. data/website/_includes/header.html +27 -0
  53. data/website/_layouts/default.html +20 -0
  54. data/website/_layouts/page.html +14 -0
  55. data/website/_layouts/post.html +15 -0
  56. data/website/_sass/_base.scss +204 -0
  57. data/website/_sass/_layout.scss +236 -0
  58. data/website/_sass/_syntax-highlighting.scss +67 -0
  59. data/website/css/main.scss +49 -0
  60. data/website/deploy.sh +23 -0
  61. data/website/feed.xml +30 -0
  62. metadata +150 -23
@@ -0,0 +1,236 @@
1
+ /**
2
+ * Site header
3
+ */
4
+ .site-header {
5
+ border-top: 5px solid $grey-color-dark;
6
+ border-bottom: 1px solid $grey-color-light;
7
+ min-height: 56px;
8
+
9
+ // Positioning context for the mobile navigation icon
10
+ position: relative;
11
+ }
12
+
13
+ .site-title {
14
+ font-size: 26px;
15
+ line-height: 56px;
16
+ letter-spacing: -1px;
17
+ margin-bottom: 0;
18
+ float: left;
19
+
20
+ &,
21
+ &:visited {
22
+ color: $grey-color-dark;
23
+ }
24
+ }
25
+
26
+ .site-nav {
27
+ float: right;
28
+ line-height: 56px;
29
+
30
+ .menu-icon {
31
+ display: none;
32
+ }
33
+
34
+ .page-link {
35
+ color: $text-color;
36
+ line-height: $base-line-height;
37
+
38
+ // Gaps between nav items, but not on the first one
39
+ &:not(:first-child) {
40
+ margin-left: 20px;
41
+ }
42
+ }
43
+
44
+ @include media-query($on-palm) {
45
+ position: absolute;
46
+ top: 9px;
47
+ right: 30px;
48
+ background-color: $background-color;
49
+ border: 1px solid $grey-color-light;
50
+ border-radius: 5px;
51
+ text-align: right;
52
+
53
+ .menu-icon {
54
+ display: block;
55
+ float: right;
56
+ width: 36px;
57
+ height: 26px;
58
+ line-height: 0;
59
+ padding-top: 10px;
60
+ text-align: center;
61
+
62
+ > svg {
63
+ width: 18px;
64
+ height: 15px;
65
+
66
+ path {
67
+ fill: $grey-color-dark;
68
+ }
69
+ }
70
+ }
71
+
72
+ .trigger {
73
+ clear: both;
74
+ display: none;
75
+ }
76
+
77
+ &:hover .trigger {
78
+ display: block;
79
+ padding-bottom: 5px;
80
+ }
81
+
82
+ .page-link {
83
+ display: block;
84
+ padding: 5px 10px;
85
+ }
86
+ }
87
+ }
88
+
89
+
90
+
91
+ /**
92
+ * Site footer
93
+ */
94
+ .site-footer {
95
+ border-top: 1px solid $grey-color-light;
96
+ padding: $spacing-unit 0;
97
+ }
98
+
99
+ .footer-heading {
100
+ font-size: 18px;
101
+ margin-bottom: $spacing-unit / 2;
102
+ }
103
+
104
+ .contact-list,
105
+ .social-media-list {
106
+ list-style: none;
107
+ margin-left: 0;
108
+ }
109
+
110
+ .footer-col-wrapper {
111
+ font-size: 15px;
112
+ color: $grey-color;
113
+ margin-left: -$spacing-unit / 2;
114
+ @extend %clearfix;
115
+ }
116
+
117
+ .footer-col {
118
+ float: left;
119
+ margin-bottom: $spacing-unit / 2;
120
+ padding-left: $spacing-unit / 2;
121
+ }
122
+
123
+ .footer-col-1 {
124
+ width: -webkit-calc(35% - (#{$spacing-unit} / 2));
125
+ width: calc(35% - (#{$spacing-unit} / 2));
126
+ }
127
+
128
+ .footer-col-2 {
129
+ width: -webkit-calc(20% - (#{$spacing-unit} / 2));
130
+ width: calc(20% - (#{$spacing-unit} / 2));
131
+ }
132
+
133
+ .footer-col-3 {
134
+ width: -webkit-calc(45% - (#{$spacing-unit} / 2));
135
+ width: calc(45% - (#{$spacing-unit} / 2));
136
+ }
137
+
138
+ @include media-query($on-laptop) {
139
+ .footer-col-1,
140
+ .footer-col-2 {
141
+ width: -webkit-calc(50% - (#{$spacing-unit} / 2));
142
+ width: calc(50% - (#{$spacing-unit} / 2));
143
+ }
144
+
145
+ .footer-col-3 {
146
+ width: -webkit-calc(100% - (#{$spacing-unit} / 2));
147
+ width: calc(100% - (#{$spacing-unit} / 2));
148
+ }
149
+ }
150
+
151
+ @include media-query($on-palm) {
152
+ .footer-col {
153
+ float: none;
154
+ width: -webkit-calc(100% - (#{$spacing-unit} / 2));
155
+ width: calc(100% - (#{$spacing-unit} / 2));
156
+ }
157
+ }
158
+
159
+
160
+
161
+ /**
162
+ * Page content
163
+ */
164
+ .page-content {
165
+ padding: $spacing-unit 0;
166
+ }
167
+
168
+ .page-heading {
169
+ font-size: 20px;
170
+ }
171
+
172
+ .post-list {
173
+ margin-left: 0;
174
+ list-style: none;
175
+
176
+ > li {
177
+ margin-bottom: $spacing-unit;
178
+ }
179
+ }
180
+
181
+ .post-meta {
182
+ font-size: $small-font-size;
183
+ color: $grey-color;
184
+ }
185
+
186
+ .post-link {
187
+ display: block;
188
+ font-size: 24px;
189
+ }
190
+
191
+
192
+
193
+ /**
194
+ * Posts
195
+ */
196
+ .post-header {
197
+ margin-bottom: $spacing-unit;
198
+ }
199
+
200
+ .post-title {
201
+ font-size: 42px;
202
+ letter-spacing: -1px;
203
+ line-height: 1;
204
+
205
+ @include media-query($on-laptop) {
206
+ font-size: 36px;
207
+ }
208
+ }
209
+
210
+ .post-content {
211
+ margin-bottom: $spacing-unit;
212
+
213
+ h2 {
214
+ font-size: 32px;
215
+
216
+ @include media-query($on-laptop) {
217
+ font-size: 28px;
218
+ }
219
+ }
220
+
221
+ h3 {
222
+ font-size: 26px;
223
+
224
+ @include media-query($on-laptop) {
225
+ font-size: 22px;
226
+ }
227
+ }
228
+
229
+ h4 {
230
+ font-size: 20px;
231
+
232
+ @include media-query($on-laptop) {
233
+ font-size: 18px;
234
+ }
235
+ }
236
+ }
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Syntax highlighting styles
3
+ */
4
+ .highlight {
5
+ background: #fff;
6
+ @extend %vertical-rhythm;
7
+
8
+ .c { color: #998; font-style: italic } // Comment
9
+ .err { color: #a61717; background-color: #e3d2d2 } // Error
10
+ .k { font-weight: bold } // Keyword
11
+ .o { font-weight: bold } // Operator
12
+ .cm { color: #998; font-style: italic } // Comment.Multiline
13
+ .cp { color: #999; font-weight: bold } // Comment.Preproc
14
+ .c1 { color: #998; font-style: italic } // Comment.Single
15
+ .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special
16
+ .gd { color: #000; background-color: #fdd } // Generic.Deleted
17
+ .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
18
+ .ge { font-style: italic } // Generic.Emph
19
+ .gr { color: #a00 } // Generic.Error
20
+ .gh { color: #999 } // Generic.Heading
21
+ .gi { color: #000; background-color: #dfd } // Generic.Inserted
22
+ .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
23
+ .go { color: #888 } // Generic.Output
24
+ .gp { color: #555 } // Generic.Prompt
25
+ .gs { font-weight: bold } // Generic.Strong
26
+ .gu { color: #aaa } // Generic.Subheading
27
+ .gt { color: #a00 } // Generic.Traceback
28
+ .kc { font-weight: bold } // Keyword.Constant
29
+ .kd { font-weight: bold } // Keyword.Declaration
30
+ .kp { font-weight: bold } // Keyword.Pseudo
31
+ .kr { font-weight: bold } // Keyword.Reserved
32
+ .kt { color: #458; font-weight: bold } // Keyword.Type
33
+ .m { color: #099 } // Literal.Number
34
+ .s { color: #d14 } // Literal.String
35
+ .na { color: #008080 } // Name.Attribute
36
+ .nb { color: #0086B3 } // Name.Builtin
37
+ .nc { color: #458; font-weight: bold } // Name.Class
38
+ .no { color: #008080 } // Name.Constant
39
+ .ni { color: #800080 } // Name.Entity
40
+ .ne { color: #900; font-weight: bold } // Name.Exception
41
+ .nf { color: #900; font-weight: bold } // Name.Function
42
+ .nn { color: #555 } // Name.Namespace
43
+ .nt { color: #000080 } // Name.Tag
44
+ .nv { color: #008080 } // Name.Variable
45
+ .ow { font-weight: bold } // Operator.Word
46
+ .w { color: #bbb } // Text.Whitespace
47
+ .mf { color: #099 } // Literal.Number.Float
48
+ .mh { color: #099 } // Literal.Number.Hex
49
+ .mi { color: #099 } // Literal.Number.Integer
50
+ .mo { color: #099 } // Literal.Number.Oct
51
+ .sb { color: #d14 } // Literal.String.Backtick
52
+ .sc { color: #d14 } // Literal.String.Char
53
+ .sd { color: #d14 } // Literal.String.Doc
54
+ .s2 { color: #d14 } // Literal.String.Double
55
+ .se { color: #d14 } // Literal.String.Escape
56
+ .sh { color: #d14 } // Literal.String.Heredoc
57
+ .si { color: #d14 } // Literal.String.Interpol
58
+ .sx { color: #d14 } // Literal.String.Other
59
+ .sr { color: #009926 } // Literal.String.Regex
60
+ .s1 { color: #d14 } // Literal.String.Single
61
+ .ss { color: #990073 } // Literal.String.Symbol
62
+ .bp { color: #999 } // Name.Builtin.Pseudo
63
+ .vc { color: #008080 } // Name.Variable.Class
64
+ .vg { color: #008080 } // Name.Variable.Global
65
+ .vi { color: #008080 } // Name.Variable.Instance
66
+ .il { color: #099 } // Literal.Number.Integer.Long
67
+ }
@@ -0,0 +1,49 @@
1
+ ---
2
+ # Only the main Sass file needs front matter (the dashes are enough)
3
+ ---
4
+ @charset "utf-8";
5
+
6
+
7
+
8
+ // Our variables
9
+ $base-font-family: Helvetica, Arial, sans-serif;
10
+ $base-font-size: 16px;
11
+ $small-font-size: $base-font-size * 0.875;
12
+ $base-line-height: 1.5;
13
+
14
+ $spacing-unit: 30px;
15
+
16
+ $text-color: #111;
17
+ $background-color: #fdfdfd;
18
+ $brand-color: #2a7ae2;
19
+
20
+ $grey-color: #828282;
21
+ $grey-color-light: lighten($grey-color, 40%);
22
+ $grey-color-dark: darken($grey-color, 25%);
23
+
24
+ $on-palm: 600px;
25
+ $on-laptop: 800px;
26
+
27
+
28
+
29
+ // Using media queries with like this:
30
+ // @include media-query($palm) {
31
+ // .wrapper {
32
+ // padding-right: $spacing-unit / 2;
33
+ // padding-left: $spacing-unit / 2;
34
+ // }
35
+ // }
36
+ @mixin media-query($device) {
37
+ @media screen and (max-width: $device) {
38
+ @content;
39
+ }
40
+ }
41
+
42
+
43
+
44
+ // Import partials from `sass_dir` (defaults to `_sass`)
45
+ @import
46
+ "base",
47
+ "layout",
48
+ "syntax-highlighting"
49
+ ;
data/website/deploy.sh ADDED
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+
3
+ set -o errexit -o nounset
4
+
5
+ rev=$(git rev-parse --short HEAD)
6
+
7
+ cd website/_site
8
+
9
+ git init
10
+ git config user.name "Nicholas E. Rabenau"
11
+ git config user.email "nerab@gmx.at"
12
+
13
+ git remote add upstream "https://$GH_TOKEN@github.com/nerab/dropcaster.git"
14
+ git fetch upstream
15
+ git reset upstream/gh-pages
16
+
17
+ # echo "dropcaster.net" > CNAME
18
+
19
+ touch .
20
+
21
+ git add -A .
22
+ git commit -m "rebuild pages at ${rev}"
23
+ git push -q upstream HEAD:gh-pages
data/website/feed.xml ADDED
@@ -0,0 +1,30 @@
1
+ ---
2
+ layout: null
3
+ ---
4
+ <?xml version="1.0" encoding="UTF-8"?>
5
+ <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
6
+ <channel>
7
+ <title>{{ site.title | xml_escape }}</title>
8
+ <description>{{ site.description | xml_escape }}</description>
9
+ <link>{{ site.url }}{{ site.baseurl }}/</link>
10
+ <atom:link href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml" />
11
+ <pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
12
+ <lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
13
+ <generator>Jekyll v{{ jekyll.version }}</generator>
14
+ {% for post in site.posts limit:10 %}
15
+ <item>
16
+ <title>{{ post.title | xml_escape }}</title>
17
+ <description>{{ post.content | xml_escape }}</description>
18
+ <pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
19
+ <link>{{ post.url | prepend: site.baseurl | prepend: site.url }}</link>
20
+ <guid isPermaLink="true">{{ post.url | prepend: site.baseurl | prepend: site.url }}</guid>
21
+ {% for tag in post.tags %}
22
+ <category>{{ tag | xml_escape }}</category>
23
+ {% endfor %}
24
+ {% for cat in post.categories %}
25
+ <category>{{ cat | xml_escape }}</category>
26
+ {% endfor %}
27
+ </item>
28
+ {% endfor %}
29
+ </channel>
30
+ </rss>
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dropcaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas E. Rabenau
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-08 00:00:00.000000000 Z
11
+ date: 2021-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: ruby-mp3info
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: activesupport
28
+ name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: nokogiri
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,49 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: minitest
56
+ name: null-logger
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: ruby-mp3info
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: bundler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '2.1'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '2.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: faraday
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
101
  - - ">="
@@ -67,7 +109,7 @@ dependencies:
67
109
  - !ruby/object:Gem::Version
68
110
  version: '0'
69
111
  - !ruby/object:Gem::Dependency
70
- name: rake
112
+ name: github-pages
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
115
  - - ">="
@@ -81,7 +123,7 @@ dependencies:
81
123
  - !ruby/object:Gem::Version
82
124
  version: '0'
83
125
  - !ruby/object:Gem::Dependency
84
- name: libxml-ruby
126
+ name: guard-bundler
85
127
  requirement: !ruby/object:Gem::Requirement
86
128
  requirements:
87
129
  - - ">="
@@ -109,7 +151,7 @@ dependencies:
109
151
  - !ruby/object:Gem::Version
110
152
  version: '0'
111
153
  - !ruby/object:Gem::Dependency
112
- name: guard-bundler
154
+ name: libnotify
113
155
  requirement: !ruby/object:Gem::Requirement
114
156
  requirements:
115
157
  - - ">="
@@ -123,7 +165,7 @@ dependencies:
123
165
  - !ruby/object:Gem::Version
124
166
  version: '0'
125
167
  - !ruby/object:Gem::Dependency
126
- name: libnotify
168
+ name: libxml-ruby
127
169
  requirement: !ruby/object:Gem::Requirement
128
170
  requirements:
129
171
  - - ">="
@@ -137,7 +179,7 @@ dependencies:
137
179
  - !ruby/object:Gem::Version
138
180
  version: '0'
139
181
  - !ruby/object:Gem::Dependency
140
- name: rb-inotify
182
+ name: minitest
141
183
  requirement: !ruby/object:Gem::Requirement
142
184
  requirements:
143
185
  - - ">="
@@ -151,7 +193,7 @@ dependencies:
151
193
  - !ruby/object:Gem::Version
152
194
  version: '0'
153
195
  - !ruby/object:Gem::Dependency
154
- name: rb-fsevent
196
+ name: octokit
155
197
  requirement: !ruby/object:Gem::Requirement
156
198
  requirements:
157
199
  - - ">="
@@ -179,7 +221,63 @@ dependencies:
179
221
  - !ruby/object:Gem::Version
180
222
  version: '0'
181
223
  - !ruby/object:Gem::Dependency
182
- name: pry-nav
224
+ name: pry-byebug
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: rake
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: rb-fsevent
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: rb-inotify
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: rubocop-minitest
183
281
  requirement: !ruby/object:Gem::Requirement
184
282
  requirements:
185
283
  - - ">="
@@ -193,7 +291,7 @@ dependencies:
193
291
  - !ruby/object:Gem::Version
194
292
  version: '0'
195
293
  - !ruby/object:Gem::Dependency
196
- name: pry-stack_explorer
294
+ name: rubocop-rake
197
295
  requirement: !ruby/object:Gem::Requirement
198
296
  requirements:
199
297
  - - ">="
@@ -207,7 +305,7 @@ dependencies:
207
305
  - !ruby/object:Gem::Version
208
306
  version: '0'
209
307
  - !ruby/object:Gem::Dependency
210
- name: rb-readline
308
+ name: rubocop
211
309
  requirement: !ruby/object:Gem::Requirement
212
310
  requirements:
213
311
  - - ">="
@@ -231,16 +329,22 @@ extensions: []
231
329
  extra_rdoc_files: []
232
330
  files:
233
331
  - ".document"
332
+ - ".gemnasium.yml"
234
333
  - ".gitignore"
334
+ - ".rubocop.yml"
335
+ - ".ruby-version"
235
336
  - ".travis.yml"
337
+ - CONTRIBUTING.md
338
+ - Dockerfile
236
339
  - Gemfile
237
340
  - Gemfile.lock
238
341
  - Guardfile
239
342
  - LICENSE.txt
240
343
  - README.markdown
241
344
  - Rakefile
242
- - TODO
345
+ - TODO.markdown
243
346
  - VISION.markdown
347
+ - Vagrantfile
244
348
  - bin/dropcaster
245
349
  - bin/lstags
246
350
  - doc/infoPane.png
@@ -252,9 +356,11 @@ files:
252
356
  - lib/dropcaster.rb
253
357
  - lib/dropcaster/channel.rb
254
358
  - lib/dropcaster/channel_file_locator.rb
359
+ - lib/dropcaster/contributors.rb
255
360
  - lib/dropcaster/errors.rb
256
361
  - lib/dropcaster/item.rb
257
362
  - lib/dropcaster/log_formatter.rb
363
+ - lib/dropcaster/logging.rb
258
364
  - lib/dropcaster/version.rb
259
365
  - templates/channel.html.erb
260
366
  - templates/channel.rss.erb
@@ -263,7 +369,9 @@ files:
263
369
  - test/bin/vagrant-status
264
370
  - test/extensions/windows.rb
265
371
  - test/fixtures/channel.yml
372
+ - test/fixtures/extension.MP3
266
373
  - test/fixtures/iTunes.mp3
374
+ - test/fixtures/special &.mp3
267
375
  - test/fixtures/status.csv
268
376
  - test/fixtures/test_template.json.erb
269
377
  - test/helper.rb
@@ -271,12 +379,30 @@ files:
271
379
  - test/unit/test_channel.rb
272
380
  - test/unit/test_channel_locator.rb
273
381
  - test/unit/test_channel_xml.rb
274
- - test/unit/test_item.rb
382
+ - test/unit/test_itunes_item.rb
383
+ - website/.gitignore
384
+ - website/README.markdown
385
+ - website/_config.yml
386
+ - website/_front_matter/contributing.yaml
387
+ - website/_front_matter/index.yaml
388
+ - website/_front_matter/vision.yaml
389
+ - website/_includes/footer.html
390
+ - website/_includes/head.html
391
+ - website/_includes/header.html
392
+ - website/_layouts/default.html
393
+ - website/_layouts/page.html
394
+ - website/_layouts/post.html
395
+ - website/_sass/_base.scss
396
+ - website/_sass/_layout.scss
397
+ - website/_sass/_syntax-highlighting.scss
398
+ - website/css/main.scss
399
+ - website/deploy.sh
400
+ - website/feed.xml
275
401
  homepage: https://github.com/nerab/dropcaster
276
402
  licenses:
277
403
  - MIT
278
404
  metadata: {}
279
- post_install_message:
405
+ post_install_message:
280
406
  rdoc_options: []
281
407
  require_paths:
282
408
  - lib
@@ -291,9 +417,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
291
417
  - !ruby/object:Gem::Version
292
418
  version: '0'
293
419
  requirements: []
294
- rubyforge_project:
295
- rubygems_version: 2.4.5
296
- signing_key:
420
+ rubygems_version: 3.2.15
421
+ signing_key:
297
422
  specification_version: 4
298
423
  summary: Simple Podcast Publishing with Dropbox
299
424
  test_files:
@@ -302,7 +427,9 @@ test_files:
302
427
  - test/bin/vagrant-status
303
428
  - test/extensions/windows.rb
304
429
  - test/fixtures/channel.yml
430
+ - test/fixtures/extension.MP3
305
431
  - test/fixtures/iTunes.mp3
432
+ - test/fixtures/special &.mp3
306
433
  - test/fixtures/status.csv
307
434
  - test/fixtures/test_template.json.erb
308
435
  - test/helper.rb
@@ -310,4 +437,4 @@ test_files:
310
437
  - test/unit/test_channel.rb
311
438
  - test/unit/test_channel_locator.rb
312
439
  - test/unit/test_channel_xml.rb
313
- - test/unit/test_item.rb
440
+ - test/unit/test_itunes_item.rb