hearken 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rubocop.yml +14 -0
- data/.tool-versions +1 -0
- data/Gemfile +7 -1
- data/Gemfile.lock +95 -0
- data/{README.rdoc → README.md} +12 -50
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/exe/hearken +9 -0
- data/exe/hearken_index +13 -0
- data/hearken.gemspec +35 -35
- data/lib/hearken/command/enqueue.rb +35 -10
- data/lib/hearken/command/reload.rb +18 -6
- data/lib/hearken/command/search.rb +31 -20
- data/lib/hearken/console.rb +11 -28
- data/lib/hearken/debug.rb +6 -6
- data/lib/hearken/indexing/indexer.rb +32 -24
- data/lib/hearken/library.rb +49 -41
- data/lib/hearken/monkey_violence.rb +9 -7
- data/lib/hearken/paths.rb +13 -19
- data/lib/hearken/range_expander.rb +18 -13
- data/lib/hearken/tagged.rb +15 -11
- data/lib/hearken/track.rb +53 -41
- data/lib/hearken.rb +2 -2
- metadata +26 -105
- data/.gitignore +0 -5
- data/HISTORY.rdoc +0 -38
- data/MIT-LICENSE +0 -20
- data/bin/hearken +0 -7
- data/bin/hearken_index +0 -12
- data/bin/hearken_scrobble +0 -35
- data/bin/hearken_tags +0 -11
- data/lib/hearken/command/list.rb +0 -32
- data/lib/hearken/command/love.rb +0 -7
- data/lib/hearken/command/profile.rb +0 -7
- data/lib/hearken/command/recent.rb +0 -38
- data/lib/hearken/command/remove.rb +0 -15
- data/lib/hearken/command/restart.rb +0 -7
- data/lib/hearken/command/scrobbling.rb +0 -14
- data/lib/hearken/command/setup_scrobbling.rb +0 -7
- data/lib/hearken/command/shuffle.rb +0 -13
- data/lib/hearken/command/start.rb +0 -7
- data/lib/hearken/command/status.rb +0 -7
- data/lib/hearken/command/stop.rb +0 -7
- data/lib/hearken/command.rb +0 -35
- data/lib/hearken/notification/growl_notifier.rb +0 -15
- data/lib/hearken/player.rb +0 -130
- data/lib/hearken/preferences.rb +0 -33
- data/lib/hearken/queue.rb +0 -33
- data/lib/hearken/scrobbler.rb +0 -82
- data/lib/hearken/simple_scrobbler.rb +0 -94
- data/media/ice_cream.png +0 -0
- data/spec/hearken/command/enqueue_spec.rb +0 -24
- data/spec/hearken/command/list_spec.rb +0 -31
- data/spec/hearken/command/reload_spec.rb +0 -21
- data/spec/hearken/command/shuffle_spec.rb +0 -33
- data/spec/hearken/player_spec.rb +0 -38
- data/spec/hearken/range_expander_spec.rb +0 -28
- data/spec/spec_helper.rb +0 -16
@@ -1,31 +0,0 @@
|
|
1
|
-
require_relative '../../spec_helper'
|
2
|
-
require 'hearken/command/list'
|
3
|
-
|
4
|
-
describe Hearken::Command::List do
|
5
|
-
extend ShellShock::CommandSpec
|
6
|
-
|
7
|
-
with_help <<EOF
|
8
|
-
lists the contents of the track queue
|
9
|
-
these results can optionally be filtered by specified words
|
10
|
-
when playing, approximate times for each track will be displayed
|
11
|
-
EOF
|
12
|
-
|
13
|
-
before do
|
14
|
-
@player = double 'player'
|
15
|
-
@command = Hearken::Command::List.new @player
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'should display nothing when there is no current track and nothing enqueued' do
|
19
|
-
allow(@player).to receive(:current) { nil }
|
20
|
-
allow(@player).to receive(:each)
|
21
|
-
@command.execute ''
|
22
|
-
end
|
23
|
-
|
24
|
-
it 'should display queue contents with no times when there is no current track' do
|
25
|
-
track = double 'track'
|
26
|
-
allow(@player).to receive(:current) { nil }
|
27
|
-
allow(@player).to receive(:each).and_yield track
|
28
|
-
expect(@command).to receive(:puts).with(track)
|
29
|
-
@command.execute ''
|
30
|
-
end
|
31
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
require_relative '../../spec_helper'
|
2
|
-
require 'hearken/command/reload'
|
3
|
-
|
4
|
-
describe Hearken::Command::Reload do
|
5
|
-
extend ShellShock::CommandSpec
|
6
|
-
|
7
|
-
with_usage ''
|
8
|
-
with_help 'reloads the contents of the music library for fast searching'
|
9
|
-
|
10
|
-
before do
|
11
|
-
@library = double 'library'
|
12
|
-
@player = double 'player'
|
13
|
-
allow(@player).to receive(:library) { @library }
|
14
|
-
@command = Hearken::Command::Reload.new @player
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'should reload the library' do
|
18
|
-
expect(@library).to receive(:reload)
|
19
|
-
@command.execute '123'
|
20
|
-
end
|
21
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
require_relative '../../spec_helper'
|
2
|
-
require 'hearken/command/shuffle'
|
3
|
-
|
4
|
-
describe Hearken::Command::Shuffle do
|
5
|
-
extend ShellShock::CommandSpec
|
6
|
-
|
7
|
-
with_usage ''
|
8
|
-
with_help 'shuffles the current queue'
|
9
|
-
|
10
|
-
before do
|
11
|
-
@player = double 'player'
|
12
|
-
@command = Hearken::Command::Shuffle.new @player
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'should dequeue all tracks, shuffle then enqueue them' do
|
16
|
-
track = double 'track'
|
17
|
-
|
18
|
-
expect(track).to receive(:id) { 1 }
|
19
|
-
expect(track).to receive(:id) { 2 }
|
20
|
-
expect(track).to receive(:id) { 3 }
|
21
|
-
|
22
|
-
expect(@player).to receive(:dequeue) { track }
|
23
|
-
expect(@player).to receive(:dequeue) { track }
|
24
|
-
expect(@player).to receive(:dequeue) { track }
|
25
|
-
expect(@player).to receive(:dequeue) { nil }
|
26
|
-
|
27
|
-
expect(@player).to receive(:enqueue) { 1 }
|
28
|
-
expect(@player).to receive(:enqueue) { 2 }
|
29
|
-
expect(@player).to receive(:enqueue) { 3 }
|
30
|
-
|
31
|
-
@command.execute
|
32
|
-
end
|
33
|
-
end
|
data/spec/hearken/player_spec.rb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
require_relative '../spec_helper'
|
2
|
-
require 'hearken/player'
|
3
|
-
|
4
|
-
describe Hearken::Player do
|
5
|
-
let(:preferences) { {} }
|
6
|
-
let(:player) { Hearken::Player.new preferences }
|
7
|
-
|
8
|
-
before do
|
9
|
-
scrobbler = double 'scrobbler'
|
10
|
-
library = double 'library'
|
11
|
-
allow(Hearken::Scrobbler).to receive(:new) { scrobbler }
|
12
|
-
allow(Hearken::Library).to receive(:new) { library }
|
13
|
-
allow(library).to receive(:reload)
|
14
|
-
allow(scrobbler).to receive(:enabled=)
|
15
|
-
end
|
16
|
-
|
17
|
-
describe '#current' do
|
18
|
-
it 'should return current_track when player has pid and file is present' do
|
19
|
-
player.instance_eval { @pid = 1 }
|
20
|
-
hash = double 'hash'
|
21
|
-
allow(File).to receive(:exist?).with('current_song') { true }
|
22
|
-
allow(YAML).to receive(:load_file).with('current_song') { hash }
|
23
|
-
expect(player.current).to eq(hash)
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'should return nil when player has no pid and file is present' do
|
27
|
-
player.instance_eval { @pid = nil }
|
28
|
-
allow(File).to receive(:exist?).with('current_song') { true }
|
29
|
-
expect(player.current).to be_nil
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'should return nil when has pid and file is not present' do
|
33
|
-
player.instance_eval { @pid = 1 }
|
34
|
-
allow(File).to receive(:exist?).with('current_song') { false }
|
35
|
-
expect(player.current).to be_nil
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require_relative '../spec_helper'
|
2
|
-
require 'hearken/range_expander'
|
3
|
-
|
4
|
-
describe Hearken::RangeExpander do
|
5
|
-
before do
|
6
|
-
@expander = Hearken::RangeExpander.new
|
7
|
-
end
|
8
|
-
|
9
|
-
it 'should expand single values' do
|
10
|
-
expect(@expander.expand('123')).to eq([1371])
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'should expand multiple values separated by any non digit' do
|
14
|
-
expect(@expander.expand("123 \t 456 , 789 ")).to eq([1371, 5370, 9369])
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'should expand a fully specified range' do
|
18
|
-
expect(@expander.expand(" 456-45i ")).to eq((5370..5382).to_a)
|
19
|
-
end
|
20
|
-
|
21
|
-
it 'should expand an abbreviated range' do
|
22
|
-
expect(@expander.expand(" 456-i ")).to eq((5370..5382).to_a)
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'should expand ids for a range' do
|
26
|
-
expect(@expander.expand_to_ids(" s-z ")).to eq(%w{s t u v w x y z})
|
27
|
-
end
|
28
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
$: << File.expand_path('../../lib', __FILE__)
|
2
|
-
|
3
|
-
require 'bundler/setup'
|
4
|
-
require 'rspec'
|
5
|
-
|
6
|
-
module ShellShock
|
7
|
-
module CommandSpec
|
8
|
-
def with_usage text
|
9
|
-
it('should display usage') { expect(@command.usage).to eq(text) }
|
10
|
-
end
|
11
|
-
|
12
|
-
def with_help text
|
13
|
-
it('should display help') { expect(@command.help).to eq(text) }
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|