dropcaster 0.0.5.rc3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d01ad09f1151c57baf7349a1893b8619a6b56c92
4
- data.tar.gz: 47106a0c706d6f6dac8594c77e3e0d4c1634b015
3
+ metadata.gz: 5a2befcc7ab20aed1392ca61a37df2d6a41f29a5
4
+ data.tar.gz: 8542ae4364be81fbd9cfe1fd9ac00ef2f39454bf
5
5
  SHA512:
6
- metadata.gz: 90630400d639e97de96e25751eaa3921b3a4c1163b56c7fbe886a1c8daed6d61b3838c1a11c3a31d6b3944b6d268fd201ef6fe7aea5cc426c83a0de431e17c56
7
- data.tar.gz: 62f5a563b371b9cb370bd29fe5fc249482a99753c5a1f55ad497e8b3071d8ffc8cfcee4a8b891d4de4a4c5d620e3ee2cc6db54a31839c6bf7feda8d76ace1e0d
6
+ metadata.gz: dc193457ac97980bf6326a6db05f79e15bce19f274500caaf4f8bb1bfdaef23c8f896c9c55afd5ebdd44b8bbfb075a4a79729e514808002f7e3793876d32e436
7
+ data.tar.gz: 676ad4b1263dbfa0734fa4f944fde8bddf2344ee021e0a299b4a02e06e37a747464b7808927374ea7bc2ece4bd65c8eb3bee042fcc81fdba2fd4332ce0800896
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dropcaster (0.0.5.rc3)
4
+ dropcaster (0.0.5.rc4)
5
5
  activesupport
6
+ bundler
6
7
  ruby-mp3info
7
8
 
8
9
  GEM
@@ -93,7 +94,6 @@ PLATFORMS
93
94
  x86-mingw32
94
95
 
95
96
  DEPENDENCIES
96
- bundler
97
97
  dropcaster!
98
98
  guard-bundler
99
99
  guard-minitest
data/README.markdown CHANGED
@@ -22,7 +22,7 @@ To get started, use RubyGems to install Dropcaster:
22
22
 
23
23
  $ gem install dropcaster
24
24
 
25
- With Dropcaster installed, you can use the `dropcaster` command to generate a new podcast feed document.
25
+ Once installed, you can use the `dropcaster` command to generate a new podcast feed document.
26
26
 
27
27
  # Basic Usage
28
28
 
@@ -156,7 +156,7 @@ Modifying the sidecar file does not change the UUID, because it only affects the
156
156
 
157
157
  Dropcaster uses an ERB template to generate the XML feed. The template was written so that it is easy to understand, but not necessarily in a way that would make the output rather nice-looking. That should not be an issue, as long as the XML is correct.
158
158
 
159
- It you prefer a more aesthetically pleasing output, just pipe the output of Dropcaster through `xmllint`, which is part of [libxml](http://xmlsoft.org/), which in turn is one of the prerequisites of the Dropcaster gem, and, as such, installed with Dropcaster):
159
+ It you prefer a more aesthetically pleasing output, just pipe the output of Dropcaster through `xmllint`, which is part of [libxml](http://xmlsoft.org/):
160
160
 
161
161
  dropcaster | xmllint --format -
162
162
 
data/VISION.markdown CHANGED
@@ -22,7 +22,7 @@ To get started, use RubyGems to install Dropcaster:
22
22
 
23
23
  $ gem install dropcaster
24
24
 
25
- With Dropcaster installed, you can use the `dropcaster` command to generate a new podcast feed document.
25
+ Once installed, you can use the `dropcaster` command to generate a new podcast feed document.
26
26
 
27
27
  # Basic Usage
28
28
 
@@ -164,7 +164,7 @@ Modifying the sidecar file does not change the UUID, because it only affects the
164
164
 
165
165
  Dropcaster uses an ERB template to generate the XML feed. The template was written so that it is easy to understand, but not necessarily in a way that would make the output rather nice-looking. That should not be an issue, as long as the XML is correct.
166
166
 
167
- It you prefer a more aesthetically pleasing output, just pipe the output of Dropcaster through `xmllint`, which is part of [libxml](http://xmlsoft.org/), which in turn is one of the prerequisites of the Dropcaster gem, and, as such, installed with Dropcaster):
167
+ It you prefer a more aesthetically pleasing output, just pipe the output of Dropcaster through `xmllint`, which is part of [libxml](http://xmlsoft.org/):
168
168
 
169
169
  dropcaster | xmllint --format -
170
170
 
data/dropcaster.gemspec CHANGED
@@ -20,8 +20,8 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency 'ruby-mp3info'
22
22
  spec.add_dependency 'activesupport'
23
+ spec.add_dependency 'bundler'
23
24
 
24
- spec.add_development_dependency 'bundler'
25
25
  spec.add_development_dependency 'minitest'
26
26
  spec.add_development_dependency 'rake'
27
27
  spec.add_development_dependency 'libxml-ruby'
@@ -1,3 +1,3 @@
1
1
  module Dropcaster
2
- VERSION = '0.0.5.rc3'
2
+ VERSION = '0.0.5'
3
3
  end
data/lib/dropcaster.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  $:.unshift File.dirname(__FILE__)
2
2
 
3
+ require 'rubygems'
3
4
  require 'bundler/setup'
5
+
4
6
  require 'yaml'
5
7
  require 'active_support/core_ext/date_time/conversions'
6
8
  require 'active_support/core_ext/object/blank'
data/test/Vagrantfile CHANGED
@@ -9,10 +9,26 @@ Vagrant.configure(2) do |config|
9
9
  vb.memory = '256'
10
10
  end
11
11
 
12
- config.vm.provision 'shell', inline: <<-SHELL
13
- sudo add-apt-repository ppa:brightbox/ruby-ng-experimental
14
- sudo apt-get update
15
- sudo apt-get install -y ruby2.2 git ruby2.2-dev libxml2-dev zlib1g-dev
16
- sudo gem install bundler
17
- SHELL
12
+ %w(1.9.1 2.0 2.1 2.2).each do |version|
13
+ ruby = "ruby#{version}"
14
+ name = "ruby-#{version.tr('.', '-')}"
15
+
16
+ config.vm.define(name) do |cfg|
17
+ cfg.vm.hostname = name
18
+ cfg.vm.provision 'shell', inline: <<-SHELL
19
+ sudo apt-get install software-properties-common
20
+ sudo add-apt-repository ppa:brightbox/ruby-ng
21
+ sudo apt-get update
22
+ sudo apt-get install -y git libxml2-dev zlib1g-dev #{ruby} #{ruby}-dev
23
+
24
+ sudo su -c 'echo "LC_ALL=en_US.UTF-8" >> /etc/environment'
25
+ touch .hushlogin
26
+
27
+ sudo gem install bundler
28
+ cd /dropcaster
29
+ bundle
30
+ bundle exec rake
31
+ SHELL
32
+ end
33
+ end
18
34
  end
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+
3
+ echo "Fetching vagrant status ..."
4
+ cmd=${1-'vagrant status'}
5
+
6
+ for vm in $(vagrant status --machine-readable | ruby bin/vagrant-status); do
7
+ echo "Creating pane for $vm running $cmd"
8
+
9
+ if tmux list-windows | grep dropcaster > /dev/null; then
10
+ tmux split-window -h -d -t dropcaster "$cmd $vm"
11
+ else
12
+ tmux new-window -n dropcaster -d "$cmd $vm"
13
+ fi
14
+ done
15
+
16
+ # don't close exited panes
17
+ tmux set-window-option remain-on-exit on -t dropcaster tiled
18
+
19
+ # Arrange windows
20
+ tmux select-layout -t dropcaster tiled
21
+
22
+ echo "Activating target window"
23
+ tmux select-window -t dropcaster
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ require 'csv'
4
+
5
+ headers = [
6
+ 'timestamp', # is a Unix timestamp in UTC of when the message was printed.
7
+ 'target', # is the target of the following output. This is empty if the message is related to Vagrant globally. Otherwise, this is generally a machine name so you can relate output to a specific machine when multi-VM is in use.
8
+ 'type', # is the type of machine-readable message being outputted. There are a set of standard types which are covered later.
9
+ 'data', # is zero or more comma-separated values associated with the prior type. The exact amount and meaning of this data is type-dependent, so you must read the documentation associated with the type to understand fully.
10
+ ]
11
+
12
+ types = [
13
+ 'box-name', # Name of a box installed into Vagrant.
14
+ 'box-provider', # Provider for an installed box.
15
+ 'cli-command', # A subcommand of vagrant that is available.
16
+ 'error-exit', # An error occurred that caused Vagrant to exit. This contains that error. Contains two data elements: type of error, error message.
17
+ 'provider-name', # The provider name of the target machine. targeted
18
+ 'state', # The state ID of the target machine. targeted
19
+ '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
20
+ 'state-human-short', # Human-readable description of the state of the machine. This is the short version, limited to at most a sentence. targeted
21
+ ]
22
+
23
+ module Vagrant
24
+ Box = Struct.new(:name, :provider)
25
+ State = Struct.new(:id, :short, :long)
26
+ Error = Struct.new(:type, :message)
27
+
28
+ class VM
29
+ attr_accessor :box, :state, :command, :provider, :error
30
+
31
+ def initialize(target)
32
+ @target = target
33
+ @box = Box.new
34
+ @state = State.new
35
+ end
36
+ end
37
+ end
38
+
39
+ virtual_machines = Hash.new do |vms, target|
40
+ vms[target] = Vagrant::VM.new(target)
41
+ end
42
+
43
+ CSV.new(ARGF, headers: headers).each do |message|
44
+ vm = virtual_machines[message['target']]
45
+ data = message['data'].split('%!(VAGRANT_COMMA)')
46
+
47
+ case message['type']
48
+ when 'box-name'
49
+ vm.box.name = data
50
+ when 'box-provider'
51
+ vm.box.provider = data
52
+ when 'state'
53
+ vm.state.id = data
54
+ when 'state-human-long'
55
+ vm.state.long = data
56
+ when 'state-human-short'
57
+ vm.state.short = data
58
+ when 'cli-command'
59
+ vm.command = data
60
+ when 'error-exit'
61
+ vm.error = Vagrant::Error.new(data[0], data[1])
62
+ when 'provider-name'
63
+ vm.provider = data
64
+ else
65
+ raise "Unknown type: #{message['type']}"
66
+ end
67
+ end
68
+
69
+ puts virtual_machines.map{|name, vm| name}
70
+ #puts virtual_machines.map{|name, vm| "#{name}: #{vm.state.short}"}
@@ -0,0 +1,16 @@
1
+ 1423250819,ruby1.9.1,provider-name,virtualbox
2
+ 1423250819,ruby1.9.1,state,not_created
3
+ 1423250819,ruby1.9.1,state-human-short,not created
4
+ 1423250819,ruby1.9.1,state-human-long,The environment has not yet been created. Run `vagrant up` to\ncreate the environment. If a machine is not created%!(VAGRANT_COMMA) only the\ndefault provider will be shown. So if a provider is not listed%!(VAGRANT_COMMA)\nthen the machine is not created for that environment.
5
+ 1423250819,ruby2.0,provider-name,virtualbox
6
+ 1423250819,ruby2.0,state,running
7
+ 1423250819,ruby2.0,state-human-short,running
8
+ 1423250819,ruby2.0,state-human-long,The VM is running. To stop this VM%!(VAGRANT_COMMA) you can run `vagrant halt` to\nshut it down forcefully%!(VAGRANT_COMMA) or you can run `vagrant suspend` to simply\nsuspend the virtual machine. In either case%!(VAGRANT_COMMA) to restart it again%!(VAGRANT_COMMA)\nsimply run `vagrant up`.
9
+ 1423250819,ruby2.1,provider-name,virtualbox
10
+ 1423250819,ruby2.1,state,not_created
11
+ 1423250819,ruby2.1,state-human-short,not created
12
+ 1423250819,ruby2.1,state-human-long,The environment has not yet been created. Run `vagrant up` to\ncreate the environment. If a machine is not created%!(VAGRANT_COMMA) only the\ndefault provider will be shown. So if a provider is not listed%!(VAGRANT_COMMA)\nthen the machine is not created for that environment.
13
+ 1423250819,ruby2.2,provider-name,virtualbox
14
+ 1423250819,ruby2.2,state,not_created
15
+ 1423250819,ruby2.2,state-human-short,not created
16
+ 1423250819,ruby2.2,state-human-long,The environment has not yet been created. Run `vagrant up` to\ncreate the environment. If a machine is not created%!(VAGRANT_COMMA) only the\ndefault provider will be shown. So if a provider is not listed%!(VAGRANT_COMMA)\nthen the machine is not created for that environment.
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: 0.0.5.rc3
4
+ version: 0.0.5
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: 2015-02-06 00:00:00.000000000 Z
11
+ date: 2015-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-mp3info
@@ -45,7 +45,7 @@ dependencies:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
- type: :development
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
@@ -259,9 +259,12 @@ files:
259
259
  - templates/channel.html.erb
260
260
  - templates/channel.rss.erb
261
261
  - test/Vagrantfile
262
+ - test/bin/dropcaster-tmux
263
+ - test/bin/vagrant-status
262
264
  - test/extensions/windows.rb
263
265
  - test/fixtures/channel.yml
264
266
  - test/fixtures/iTunes.mp3
267
+ - test/fixtures/status.csv
265
268
  - test/fixtures/test_template.json.erb
266
269
  - test/helper.rb
267
270
  - test/unit/test_app.rb
@@ -284,20 +287,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
284
287
  version: '0'
285
288
  required_rubygems_version: !ruby/object:Gem::Requirement
286
289
  requirements:
287
- - - ">"
290
+ - - ">="
288
291
  - !ruby/object:Gem::Version
289
- version: 1.3.1
292
+ version: '0'
290
293
  requirements: []
291
294
  rubyforge_project:
292
- rubygems_version: 2.4.3
295
+ rubygems_version: 2.4.5
293
296
  signing_key:
294
297
  specification_version: 4
295
298
  summary: Simple Podcast Publishing with Dropbox
296
299
  test_files:
297
300
  - test/Vagrantfile
301
+ - test/bin/dropcaster-tmux
302
+ - test/bin/vagrant-status
298
303
  - test/extensions/windows.rb
299
304
  - test/fixtures/channel.yml
300
305
  - test/fixtures/iTunes.mp3
306
+ - test/fixtures/status.csv
301
307
  - test/fixtures/test_template.json.erb
302
308
  - test/helper.rb
303
309
  - test/unit/test_app.rb