playa 0.0.12 → 0.0.13
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/Gemfile +0 -4
- data/README.md +12 -7
- data/lib/playa.rb +16 -60
- data/lib/playa/application.rb +55 -0
- data/lib/playa/{controller.rb → controllers/controller.rb} +0 -6
- data/lib/playa/{helpers.rb → helpers/helpers.rb} +0 -0
- data/lib/playa/{player.rb → models/player.rb} +0 -2
- data/lib/playa/{track.rb → models/track.rb} +0 -2
- data/lib/playa/{track_collection.rb → models/track_collection.rb} +0 -2
- data/lib/playa/views/help_view.rb +1 -1
- data/lib/playa/views/playlist_view.rb +2 -4
- data/lib/playa/views/progress_view.rb +2 -4
- data/lib/playa/views/startup_view.rb +1 -1
- data/lib/playa/views/status_view.rb +11 -41
- data/playa.gemspec +4 -4
- data/test/lib/playa/application_test.rb +6 -0
- data/test/lib/playa/controllers/controller_test.rb +6 -0
- data/test/lib/playa/helpers/helpers_test.rb +31 -0
- data/test/lib/playa/{player_test.rb → models/player_test.rb} +0 -1
- data/test/lib/playa/{track_collection_test.rb → models/track_collection_test.rb} +0 -1
- data/test/lib/playa/{track_test.rb → models/track_test.rb} +22 -35
- data/test/lib/playa/views/help_view_test.rb +36 -0
- data/test/lib/playa/views/playlist_view_test.rb +5 -2
- data/test/lib/playa/views/progress_view_test.rb +43 -1
- data/test/lib/playa/views/startup_view_test.rb +74 -0
- data/test/lib/playa/views/status_view_test.rb +108 -2
- data/test/test_helper.rb +1 -0
- metadata +29 -21
- data/test/lib/playa/controller_test.rb +0 -12
- data/test/lib/playa/view_test.rb +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 543776d3af924f24b5443358ed56f26e76a7387c
|
4
|
+
data.tar.gz: 5286a3a67e8c919366d5d34ca90e8f79795cc48a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25e74f31bc245108604d50e2466de9728aa9d3b9179e696b3012b7348349ddb56871e1215625a99ed8bcd156c47b6711a483e95dbb321334aab01e3086f732ad
|
7
|
+
data.tar.gz: dde00737a0ea2ee883e164e48494bb2f28b103136a297d4d5dcb52e0c41a4283298471981eee36b2261c18b0fa679e23d1d451697142cdd2af1498866ff48112
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
[](https://codeclimate.com/github/gavinlaking/playa)
|
2
|
-
[](https://travis-ci.org/gavinlaking/playa)
|
3
2
|
|
4
3
|
# Playa
|
5
4
|
|
6
|
-
Plays mp3s from a directory using Ruby. An example app using Vedeu.
|
5
|
+
Plays mp3s from a directory using Ruby. An example app using Vedeu ( https://github.com/gavinlaking/vedeu ).
|
7
6
|
|
8
7
|

|
9
8
|
|
@@ -14,18 +13,24 @@ Plays mp3s from a directory using Ruby. An example app using Vedeu.
|
|
14
13
|
- Mpg123 >= 1.14
|
15
14
|
|
16
15
|
|
17
|
-
### OSX Installation
|
16
|
+
### OSX Dependency Installation
|
18
17
|
|
19
18
|
brew install portaudio
|
20
19
|
brew install mpg123
|
21
|
-
gem install playa
|
22
20
|
|
23
|
-
### Debian / Ubuntu
|
21
|
+
### Debian / Ubuntu Dependency Installation
|
22
|
+
|
23
|
+
sudo apt-get install libjack0 libjack-dev
|
24
|
+
sudo apt-get install libportaudiocpp0 portaudio19-dev libmpg123-dev
|
25
|
+
|
26
|
+
#### Gem Installation
|
24
27
|
|
25
|
-
apt-get install libjack0 libjack-dev
|
26
|
-
apt-get install libportaudiocpp0 portaudio19-dev libmpg123-dev
|
27
28
|
gem install playa
|
28
29
|
|
30
|
+
or
|
31
|
+
|
32
|
+
sudo gem install playa
|
33
|
+
|
29
34
|
|
30
35
|
## Usage
|
31
36
|
|
data/lib/playa.rb
CHANGED
@@ -1,63 +1,19 @@
|
|
1
|
-
require 'bundler/setup'
|
2
|
-
require 'vedeu'
|
3
|
-
|
4
|
-
require 'playa/track'
|
5
|
-
require 'playa/track_collection'
|
6
|
-
require 'playa/player'
|
7
|
-
require 'playa/controller'
|
8
|
-
|
9
1
|
module Playa
|
10
|
-
|
11
|
-
include Vedeu
|
12
|
-
|
13
|
-
interface 'help' do
|
14
|
-
centred true
|
15
|
-
colour foreground: '#ffffff', background: '#000000'
|
16
|
-
cursor false
|
17
|
-
group 'help'
|
18
|
-
height 9
|
19
|
-
width 60
|
20
|
-
end
|
21
|
-
|
22
|
-
interface 'playlist' do
|
23
|
-
colour foreground: '#afd700', background: '#000000'
|
24
|
-
cursor false
|
25
|
-
width 60
|
26
|
-
height 5
|
27
|
-
centred true
|
28
|
-
group 'player'
|
29
|
-
end
|
30
|
-
|
31
|
-
interface 'progress' do
|
32
|
-
colour foreground: '#005aff', background: '#000000'
|
33
|
-
cursor false
|
34
|
-
width 60
|
35
|
-
height 1
|
36
|
-
y use('playlist').north(2)
|
37
|
-
x use('playlist').left
|
38
|
-
centred false
|
39
|
-
delay 1.0
|
40
|
-
group 'player'
|
41
|
-
end
|
42
|
-
|
43
|
-
interface 'status' do
|
44
|
-
colour foreground: '#d70000', background: '#000000'
|
45
|
-
cursor false
|
46
|
-
width 60
|
47
|
-
height 1
|
48
|
-
y use('playlist').south(1)
|
49
|
-
x use('playlist').left
|
50
|
-
centred false
|
51
|
-
group 'player'
|
52
|
-
end
|
2
|
+
end
|
53
3
|
|
54
|
-
|
55
|
-
|
4
|
+
require 'bundler/setup'
|
5
|
+
require 'audite'
|
6
|
+
require 'mp3info'
|
7
|
+
require 'vedeu'
|
56
8
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
9
|
+
require 'playa/models/track'
|
10
|
+
require 'playa/models/track_collection'
|
11
|
+
require 'playa/models/player'
|
12
|
+
require 'playa/helpers/helpers'
|
13
|
+
require 'playa/views/help_view'
|
14
|
+
require 'playa/views/playlist_view'
|
15
|
+
require 'playa/views/progress_view'
|
16
|
+
require 'playa/views/status_view'
|
17
|
+
require 'playa/views/startup_view'
|
18
|
+
require 'playa/controllers/controller'
|
19
|
+
require 'playa/application'
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module Playa
|
2
|
+
class Application
|
3
|
+
include Vedeu
|
4
|
+
|
5
|
+
interface 'help' do
|
6
|
+
centred true
|
7
|
+
colour foreground: '#ffffff', background: '#000000'
|
8
|
+
cursor false
|
9
|
+
group 'help'
|
10
|
+
height 9
|
11
|
+
width 60
|
12
|
+
end
|
13
|
+
|
14
|
+
interface 'playlist' do
|
15
|
+
colour foreground: '#afd700', background: '#000000'
|
16
|
+
cursor false
|
17
|
+
width 60
|
18
|
+
height 5
|
19
|
+
centred true
|
20
|
+
group 'player'
|
21
|
+
end
|
22
|
+
|
23
|
+
interface 'progress' do
|
24
|
+
colour foreground: '#005aff', background: '#000000'
|
25
|
+
cursor false
|
26
|
+
width 60
|
27
|
+
height 1
|
28
|
+
y { use('playlist').north(2) }
|
29
|
+
x { use('playlist').left }
|
30
|
+
centred false
|
31
|
+
delay 1.0
|
32
|
+
group 'player'
|
33
|
+
end
|
34
|
+
|
35
|
+
interface 'status' do
|
36
|
+
colour foreground: '#d70000', background: '#000000'
|
37
|
+
cursor false
|
38
|
+
width 60
|
39
|
+
height 1
|
40
|
+
y { use('playlist').south(1) }
|
41
|
+
x { use('playlist').left }
|
42
|
+
centred false
|
43
|
+
group 'player'
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.start(args = [])
|
47
|
+
Controller.new(args)
|
48
|
+
|
49
|
+
Vedeu::Launcher.new(args).execute!
|
50
|
+
rescue Errno::EMFILE
|
51
|
+
puts "Playa does not support this number of files."
|
52
|
+
puts "Please see https://github.com/gavinlaking/playa/issues/11"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
File without changes
|
@@ -1,10 +1,8 @@
|
|
1
|
-
require 'playa/helpers'
|
2
|
-
|
3
1
|
module Playa
|
4
2
|
class PlaylistView < Vedeu::View
|
5
3
|
include Playa::Helpers
|
6
4
|
|
7
|
-
def
|
5
|
+
def render
|
8
6
|
view 'playlist' do
|
9
7
|
self.object.view.each do |sel, cur, item|
|
10
8
|
if sel && cur
|
@@ -83,7 +81,7 @@ module Playa
|
|
83
81
|
end
|
84
82
|
|
85
83
|
def view_width
|
86
|
-
|
84
|
+
Vedeu.use('playlist').viewport_width
|
87
85
|
end
|
88
86
|
|
89
87
|
end
|
@@ -1,10 +1,8 @@
|
|
1
|
-
require 'playa/helpers'
|
2
|
-
|
3
1
|
module Playa
|
4
2
|
class ProgressView < Vedeu::View
|
5
3
|
include Playa::Helpers
|
6
4
|
|
7
|
-
def
|
5
|
+
def render
|
8
6
|
if object.track
|
9
7
|
track_loaded
|
10
8
|
|
@@ -61,7 +59,7 @@ module Playa
|
|
61
59
|
end
|
62
60
|
|
63
61
|
def view_width
|
64
|
-
|
62
|
+
Vedeu.use('progress').viewport_width
|
65
63
|
end
|
66
64
|
end
|
67
65
|
end
|
@@ -1,52 +1,22 @@
|
|
1
1
|
module Playa
|
2
2
|
class StatusView < Vedeu::View
|
3
|
-
def
|
3
|
+
def render
|
4
4
|
view 'status' do
|
5
5
|
line do
|
6
|
-
|
7
|
-
|
8
|
-
text " \u{25B2}"
|
9
|
-
end
|
10
|
-
stream do
|
11
|
-
colour foreground: '#ffffff'
|
12
|
-
text ' Prev '
|
13
|
-
end
|
6
|
+
foreground('#ff0000') { text " \u{25B2}" }
|
7
|
+
foreground('#ffffff') { text ' Prev ' }
|
14
8
|
|
15
|
-
|
16
|
-
|
17
|
-
text "\u{25BC}"
|
18
|
-
end
|
19
|
-
stream do
|
20
|
-
colour foreground: '#ffffff'
|
21
|
-
text ' Next '
|
22
|
-
end
|
9
|
+
foreground('#ff0000') { text "\u{25BC}" }
|
10
|
+
foreground('#ffffff') { text ' Next ' }
|
23
11
|
|
24
|
-
|
25
|
-
|
26
|
-
text "\u{21B2}"
|
27
|
-
end
|
28
|
-
stream do
|
29
|
-
colour foreground: '#ffffff'
|
30
|
-
text ' Select '
|
31
|
-
end
|
12
|
+
foreground('#ff0000') { text "\u{21B2}" }
|
13
|
+
foreground('#ffffff') { text ' Select ' }
|
32
14
|
|
33
|
-
|
34
|
-
|
35
|
-
text "\u{2395}"
|
36
|
-
end
|
37
|
-
stream do
|
38
|
-
colour foreground: '#ffffff'
|
39
|
-
text ' Pause '
|
40
|
-
end
|
15
|
+
foreground('#ff0000') { text "\u{2395}" }
|
16
|
+
foreground('#ffffff') { text ' Pause ' }
|
41
17
|
|
42
|
-
|
43
|
-
|
44
|
-
text "Q"
|
45
|
-
end
|
46
|
-
stream do
|
47
|
-
colour foreground: '#ffffff'
|
48
|
-
text ' Quit '
|
49
|
-
end
|
18
|
+
foreground('#ff0000') { text 'Q' }
|
19
|
+
foreground('#ffffff') { text ' Quit ' }
|
50
20
|
end
|
51
21
|
end
|
52
22
|
end
|
data/playa.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'playa'
|
7
|
-
spec.version = '0.0.
|
7
|
+
spec.version = '0.0.13'
|
8
8
|
spec.authors = ['Gavin Laking']
|
9
9
|
spec.email = ['gavinlaking@gmail.com']
|
10
10
|
spec.summary = 'Plays mp3s from a directory.'
|
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_development_dependency 'rake', '10.3.2'
|
28
28
|
spec.add_development_dependency 'simplecov', '0.9.0'
|
29
29
|
|
30
|
-
spec.add_dependency 'audite',
|
31
|
-
spec.add_dependency 'ruby-mp3info',
|
32
|
-
spec.add_dependency 'vedeu'
|
30
|
+
spec.add_dependency 'audite', '0.3.0'
|
31
|
+
spec.add_dependency 'ruby-mp3info', '0.8.4'
|
32
|
+
spec.add_dependency 'vedeu', '0.1.16'
|
33
33
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Playa
|
4
|
+
class HelpersTest
|
5
|
+
include Helpers
|
6
|
+
end
|
7
|
+
|
8
|
+
describe Helpers do
|
9
|
+
let(:receiver) { HelpersTest.new }
|
10
|
+
let(:track) { mock('Track') }
|
11
|
+
|
12
|
+
before { track.stubs(:duration).returns(4321.6543) }
|
13
|
+
|
14
|
+
describe '#duration' do
|
15
|
+
it 'returns a human readable version of the track duration' do
|
16
|
+
receiver.duration(track).must_equal('12:02')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe '#remaining' do
|
21
|
+
let(:player) { mock('Player') }
|
22
|
+
|
23
|
+
before { player.stubs(:counter).returns(42) }
|
24
|
+
|
25
|
+
it 'returns a human readable version of the remaining time for a ' \
|
26
|
+
'playing track' do
|
27
|
+
receiver.remaining(track, player).must_equal('11:19')
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -1,11 +1,10 @@
|
|
1
1
|
require 'test_helper'
|
2
|
-
require 'ostruct'
|
3
2
|
|
4
3
|
module Playa
|
5
4
|
describe Track do
|
6
5
|
let(:file) { '/some/path/electro.mp3' }
|
7
6
|
let(:tag) do
|
8
|
-
|
7
|
+
stub(
|
9
8
|
title: 'eee-lectro',
|
10
9
|
artist: 'Gavin Laking + Various',
|
11
10
|
album: 'That night at Sankeys',
|
@@ -13,7 +12,7 @@ module Playa
|
|
13
12
|
)
|
14
13
|
end
|
15
14
|
let(:mp3info) do
|
16
|
-
|
15
|
+
stub(
|
17
16
|
filename: '/some/path/electro.mp3',
|
18
17
|
tag: tag,
|
19
18
|
length: 3623.0270625,
|
@@ -22,6 +21,10 @@ module Playa
|
|
22
21
|
end
|
23
22
|
let(:track) { Track.new(file) }
|
24
23
|
|
24
|
+
before do
|
25
|
+
Mp3Info.stubs(:open).returns(mp3info)
|
26
|
+
end
|
27
|
+
|
25
28
|
describe '#initialize' do
|
26
29
|
it 'returns an instance of itself' do
|
27
30
|
Track.new(file).must_be_instance_of(Track)
|
@@ -30,73 +33,57 @@ module Playa
|
|
30
33
|
|
31
34
|
describe '#attributes' do
|
32
35
|
it 'returns a collection of attributes' do
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
)
|
43
|
-
end
|
36
|
+
track.attributes.must_equal(
|
37
|
+
filename: '/some/path/electro.mp3',
|
38
|
+
title: 'eee-lectro',
|
39
|
+
artist: 'Gavin Laking + Various',
|
40
|
+
album: 'That night at Sankeys',
|
41
|
+
track_number: 3,
|
42
|
+
duration: 3623.0270625,
|
43
|
+
bitrate: 320
|
44
|
+
)
|
44
45
|
end
|
45
46
|
end
|
46
47
|
|
47
48
|
describe '#filename' do
|
48
49
|
it 'returns the filename' do
|
49
|
-
|
50
|
-
track.filename.must_equal('/some/path/electro.mp3')
|
51
|
-
end
|
50
|
+
track.filename.must_equal('/some/path/electro.mp3')
|
52
51
|
end
|
53
52
|
end
|
54
53
|
|
55
54
|
describe '#title' do
|
56
55
|
it 'returns the title' do
|
57
|
-
|
58
|
-
track.title.must_equal('eee-lectro')
|
59
|
-
end
|
56
|
+
track.title.must_equal('eee-lectro')
|
60
57
|
end
|
61
58
|
end
|
62
59
|
|
63
60
|
describe '#artist' do
|
64
61
|
it 'returns the artist' do
|
65
|
-
|
66
|
-
track.artist.must_equal('Gavin Laking + Various')
|
67
|
-
end
|
62
|
+
track.artist.must_equal('Gavin Laking + Various')
|
68
63
|
end
|
69
64
|
end
|
70
65
|
|
71
66
|
describe '#album' do
|
72
67
|
it 'returns the album' do
|
73
|
-
|
74
|
-
track.album.must_equal('That night at Sankeys')
|
75
|
-
end
|
68
|
+
track.album.must_equal('That night at Sankeys')
|
76
69
|
end
|
77
70
|
end
|
78
71
|
|
79
72
|
describe '#track_number' do
|
80
73
|
it 'returns the track_number' do
|
81
|
-
|
82
|
-
track.track_number.must_equal(3)
|
83
|
-
end
|
74
|
+
track.track_number.must_equal(3)
|
84
75
|
end
|
85
76
|
end
|
86
77
|
|
87
78
|
describe '#duration' do
|
88
79
|
it 'returns the duration' do
|
89
|
-
|
90
|
-
track.duration.must_equal(3623.0270625)
|
91
|
-
end
|
80
|
+
track.duration.must_equal(3623.0270625)
|
92
81
|
end
|
93
82
|
end
|
94
83
|
|
95
84
|
describe '#bitrate' do
|
96
85
|
it 'returns the bitrate' do
|
97
|
-
|
98
|
-
track.bitrate.must_equal(320)
|
99
|
-
end
|
86
|
+
track.bitrate.must_equal(320)
|
100
87
|
end
|
101
88
|
end
|
102
89
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Playa
|
4
|
+
describe HelpView do
|
5
|
+
describe '#render' do
|
6
|
+
it 'returns output suitable for Vedeu to parse' do
|
7
|
+
HelpView.new.render.must_equal(
|
8
|
+
{
|
9
|
+
interfaces: [
|
10
|
+
{
|
11
|
+
name: "help",
|
12
|
+
group: "",
|
13
|
+
lines: [
|
14
|
+
{
|
15
|
+
colour: {},
|
16
|
+
streams: [
|
17
|
+
{
|
18
|
+
text: "Help!"
|
19
|
+
}
|
20
|
+
],
|
21
|
+
style: []
|
22
|
+
}
|
23
|
+
],
|
24
|
+
colour: {},
|
25
|
+
style: "",
|
26
|
+
geometry: {},
|
27
|
+
cursor: true,
|
28
|
+
delay: 0.0
|
29
|
+
}
|
30
|
+
]
|
31
|
+
}
|
32
|
+
)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -1,8 +1,50 @@
|
|
1
1
|
require 'test_helper'
|
2
|
-
require 'playa/views/progress_view'
|
3
2
|
|
4
3
|
module Playa
|
5
4
|
describe ProgressView do
|
5
|
+
describe '#render' do
|
6
|
+
describe 'when there is no track loaded' do
|
7
|
+
let(:player) { Player.new }
|
6
8
|
|
9
|
+
it 'returns output suitable for Vedeu to parse' do
|
10
|
+
ProgressView.new(player).render.must_equal(
|
11
|
+
{
|
12
|
+
interfaces: [
|
13
|
+
{
|
14
|
+
name: "progress",
|
15
|
+
group: "",
|
16
|
+
lines: [
|
17
|
+
{
|
18
|
+
colour: {},
|
19
|
+
streams: [
|
20
|
+
{
|
21
|
+
colour: {},
|
22
|
+
style: [],
|
23
|
+
text: " ",
|
24
|
+
width: 60,
|
25
|
+
align: :left
|
26
|
+
}
|
27
|
+
],
|
28
|
+
style: []
|
29
|
+
}
|
30
|
+
],
|
31
|
+
colour: {},
|
32
|
+
style: "",
|
33
|
+
geometry: {},
|
34
|
+
cursor: true,
|
35
|
+
delay: 0.0
|
36
|
+
}
|
37
|
+
]
|
38
|
+
}
|
39
|
+
)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe 'when there is a track loaded' do
|
44
|
+
it 'returns output suitable for Vedeu to parse' do
|
45
|
+
skip
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
7
49
|
end
|
8
50
|
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Playa
|
4
|
+
describe StartupView do
|
5
|
+
describe '#render' do
|
6
|
+
it 'returns output suitable for Vedeu to parse' do
|
7
|
+
StartupView.new.render.must_equal(
|
8
|
+
{
|
9
|
+
interfaces: [
|
10
|
+
{
|
11
|
+
name: "progress",
|
12
|
+
group: "",
|
13
|
+
lines: [
|
14
|
+
{
|
15
|
+
colour: {},
|
16
|
+
streams: [
|
17
|
+
{
|
18
|
+
text: "Welcome to Playa."
|
19
|
+
}
|
20
|
+
],
|
21
|
+
style: []
|
22
|
+
}
|
23
|
+
],
|
24
|
+
colour: {},
|
25
|
+
style: "",
|
26
|
+
geometry: {},
|
27
|
+
cursor: true,
|
28
|
+
delay: 0.0
|
29
|
+
}, {
|
30
|
+
name: "playlist",
|
31
|
+
group: "",
|
32
|
+
lines: [
|
33
|
+
{
|
34
|
+
colour: {},
|
35
|
+
streams: [
|
36
|
+
{
|
37
|
+
text: "An mp3 player in your console."
|
38
|
+
}
|
39
|
+
],
|
40
|
+
style: []
|
41
|
+
}
|
42
|
+
],
|
43
|
+
colour: {},
|
44
|
+
style: "",
|
45
|
+
geometry: {},
|
46
|
+
cursor: true,
|
47
|
+
delay: 0.0
|
48
|
+
}, {
|
49
|
+
name: "status",
|
50
|
+
group: "",
|
51
|
+
lines: [
|
52
|
+
{
|
53
|
+
colour: {},
|
54
|
+
streams: [
|
55
|
+
{
|
56
|
+
text: "Press `s` to begin."
|
57
|
+
}
|
58
|
+
],
|
59
|
+
style: []
|
60
|
+
}
|
61
|
+
],
|
62
|
+
colour: {},
|
63
|
+
style: "",
|
64
|
+
geometry: {},
|
65
|
+
cursor: true,
|
66
|
+
delay: 0.0
|
67
|
+
}
|
68
|
+
]
|
69
|
+
}
|
70
|
+
)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -1,8 +1,114 @@
|
|
1
1
|
require 'test_helper'
|
2
|
-
require 'playa/views/status_view'
|
3
2
|
|
4
3
|
module Playa
|
5
4
|
describe StatusView do
|
6
|
-
|
5
|
+
describe '#render' do
|
6
|
+
it 'returns output suitable for Vedeu to parse' do
|
7
|
+
StatusView.new.render.must_equal(
|
8
|
+
{
|
9
|
+
interfaces: [
|
10
|
+
{
|
11
|
+
name: "status",
|
12
|
+
group: "",
|
13
|
+
lines: [
|
14
|
+
{
|
15
|
+
colour: {},
|
16
|
+
streams: [
|
17
|
+
{
|
18
|
+
colour: {
|
19
|
+
foreground: "#ff0000"
|
20
|
+
},
|
21
|
+
style: [],
|
22
|
+
text: " ▲",
|
23
|
+
width: nil,
|
24
|
+
align: :left
|
25
|
+
}, {
|
26
|
+
colour: {
|
27
|
+
foreground: "#ffffff"
|
28
|
+
},
|
29
|
+
style: [],
|
30
|
+
text: " Prev ",
|
31
|
+
width: nil,
|
32
|
+
align: :left
|
33
|
+
}, {
|
34
|
+
colour: {
|
35
|
+
foreground: "#ff0000"
|
36
|
+
},
|
37
|
+
style: [],
|
38
|
+
text: "▼",
|
39
|
+
width: nil,
|
40
|
+
align: :left
|
41
|
+
}, {
|
42
|
+
colour: {
|
43
|
+
foreground: "#ffffff"
|
44
|
+
},
|
45
|
+
style: [],
|
46
|
+
text: " Next ",
|
47
|
+
width: nil,
|
48
|
+
align: :left
|
49
|
+
}, {
|
50
|
+
colour: {
|
51
|
+
foreground: "#ff0000"
|
52
|
+
},
|
53
|
+
style: [],
|
54
|
+
text: "↲",
|
55
|
+
width: nil,
|
56
|
+
align: :left
|
57
|
+
}, {
|
58
|
+
colour: {
|
59
|
+
foreground: "#ffffff"
|
60
|
+
},
|
61
|
+
style: [],
|
62
|
+
text: " Select ",
|
63
|
+
width: nil,
|
64
|
+
align: :left
|
65
|
+
}, {
|
66
|
+
colour: {
|
67
|
+
foreground: "#ff0000"
|
68
|
+
},
|
69
|
+
style: [],
|
70
|
+
text: "⎕",
|
71
|
+
width: nil,
|
72
|
+
align: :left
|
73
|
+
}, {
|
74
|
+
colour: {
|
75
|
+
foreground: "#ffffff"
|
76
|
+
},
|
77
|
+
style: [],
|
78
|
+
text: " Pause ",
|
79
|
+
width: nil,
|
80
|
+
align: :left
|
81
|
+
}, {
|
82
|
+
colour: {
|
83
|
+
foreground: "#ff0000"
|
84
|
+
},
|
85
|
+
style: [],
|
86
|
+
text: "Q",
|
87
|
+
width: nil,
|
88
|
+
align: :left
|
89
|
+
}, {
|
90
|
+
colour: {
|
91
|
+
foreground: "#ffffff"
|
92
|
+
},
|
93
|
+
style: [],
|
94
|
+
text: " Quit ",
|
95
|
+
width: nil,
|
96
|
+
align: :left
|
97
|
+
}
|
98
|
+
],
|
99
|
+
style: []
|
100
|
+
}
|
101
|
+
],
|
102
|
+
colour: {},
|
103
|
+
style: "",
|
104
|
+
geometry: {},
|
105
|
+
cursor: true,
|
106
|
+
delay: 0.0
|
107
|
+
}
|
108
|
+
]
|
109
|
+
}
|
110
|
+
)
|
111
|
+
end
|
112
|
+
end
|
7
113
|
end
|
8
114
|
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: playa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Laking
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -168,16 +168,16 @@ dependencies:
|
|
168
168
|
name: vedeu
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- -
|
171
|
+
- - '='
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
173
|
+
version: 0.1.16
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- -
|
178
|
+
- - '='
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
180
|
+
version: 0.1.16
|
181
181
|
description: An example app using Vedeu.
|
182
182
|
email:
|
183
183
|
- gavinlaking@gmail.com
|
@@ -195,11 +195,12 @@ files:
|
|
195
195
|
- Rakefile
|
196
196
|
- bin/playa
|
197
197
|
- lib/playa.rb
|
198
|
-
- lib/playa/
|
199
|
-
- lib/playa/
|
200
|
-
- lib/playa/
|
201
|
-
- lib/playa/
|
202
|
-
- lib/playa/
|
198
|
+
- lib/playa/application.rb
|
199
|
+
- lib/playa/controllers/controller.rb
|
200
|
+
- lib/playa/helpers/helpers.rb
|
201
|
+
- lib/playa/models/player.rb
|
202
|
+
- lib/playa/models/track.rb
|
203
|
+
- lib/playa/models/track_collection.rb
|
203
204
|
- lib/playa/views/help_view.rb
|
204
205
|
- lib/playa/views/playlist_view.rb
|
205
206
|
- lib/playa/views/progress_view.rb
|
@@ -207,13 +208,16 @@ files:
|
|
207
208
|
- lib/playa/views/status_view.rb
|
208
209
|
- playa.gemspec
|
209
210
|
- screenshot.png
|
210
|
-
- test/lib/playa/
|
211
|
-
- test/lib/playa/
|
212
|
-
- test/lib/playa/
|
213
|
-
- test/lib/playa/
|
214
|
-
- test/lib/playa/
|
211
|
+
- test/lib/playa/application_test.rb
|
212
|
+
- test/lib/playa/controllers/controller_test.rb
|
213
|
+
- test/lib/playa/helpers/helpers_test.rb
|
214
|
+
- test/lib/playa/models/player_test.rb
|
215
|
+
- test/lib/playa/models/track_collection_test.rb
|
216
|
+
- test/lib/playa/models/track_test.rb
|
217
|
+
- test/lib/playa/views/help_view_test.rb
|
215
218
|
- test/lib/playa/views/playlist_view_test.rb
|
216
219
|
- test/lib/playa/views/progress_view_test.rb
|
220
|
+
- test/lib/playa/views/startup_view_test.rb
|
217
221
|
- test/lib/playa/views/status_view_test.rb
|
218
222
|
- test/lib/playa_test.rb
|
219
223
|
- test/support/parkwalk.mp3
|
@@ -243,14 +247,18 @@ signing_key:
|
|
243
247
|
specification_version: 4
|
244
248
|
summary: Plays mp3s from a directory.
|
245
249
|
test_files:
|
246
|
-
- test/lib/playa/
|
247
|
-
- test/lib/playa/
|
248
|
-
- test/lib/playa/
|
249
|
-
- test/lib/playa/
|
250
|
-
- test/lib/playa/
|
250
|
+
- test/lib/playa/application_test.rb
|
251
|
+
- test/lib/playa/controllers/controller_test.rb
|
252
|
+
- test/lib/playa/helpers/helpers_test.rb
|
253
|
+
- test/lib/playa/models/player_test.rb
|
254
|
+
- test/lib/playa/models/track_collection_test.rb
|
255
|
+
- test/lib/playa/models/track_test.rb
|
256
|
+
- test/lib/playa/views/help_view_test.rb
|
251
257
|
- test/lib/playa/views/playlist_view_test.rb
|
252
258
|
- test/lib/playa/views/progress_view_test.rb
|
259
|
+
- test/lib/playa/views/startup_view_test.rb
|
253
260
|
- test/lib/playa/views/status_view_test.rb
|
254
261
|
- test/lib/playa_test.rb
|
255
262
|
- test/support/parkwalk.mp3
|
256
263
|
- test/test_helper.rb
|
264
|
+
has_rdoc:
|
data/test/lib/playa/view_test.rb
DELETED