hearken 0.1.1 → 0.1.3
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 +7 -0
- 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/colour.rb +3 -1
- 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 -27
- data/lib/hearken/debug.rb +6 -6
- data/lib/hearken/indexing/ffmpeg_file.rb +7 -0
- data/lib/hearken/indexing/file.rb +3 -1
- 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 -39
- data/lib/hearken.rb +2 -2
- metadata +52 -141
- 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/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 -126
- data/lib/hearken/preferences.rb +0 -30
- data/lib/hearken/queue.rb +0 -33
- data/lib/hearken/scrobbler.rb +0 -77
- 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 -20
- data/spec/hearken/command/shuffle_spec.rb +0 -31
- data/spec/hearken/player_spec.rb +0 -38
- data/spec/hearken/range_expander_spec.rb +0 -28
- data/spec/spec_helper.rb +0 -5
@@ -1,24 +0,0 @@
|
|
1
|
-
require_relative '../../spec_helper'
|
2
|
-
require 'hearken/command/enqueue'
|
3
|
-
|
4
|
-
describe Hearken::Command::Enqueue do
|
5
|
-
extend ShellShock::CommandSpec
|
6
|
-
|
7
|
-
with_usage '*<id>'
|
8
|
-
with_help 'enqueues the list of songs with the specified ids'
|
9
|
-
|
10
|
-
before do
|
11
|
-
@player = stub('player')
|
12
|
-
@command = Hearken::Command::Enqueue.new @player
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'should enqueue whatever is returned from the expander' do
|
16
|
-
expander = stub('expander')
|
17
|
-
Hearken::RangeExpander.should_receive(:new).and_return(expander)
|
18
|
-
expander.should_receive(:expand).with('some text').and_return([1,2,3])
|
19
|
-
|
20
|
-
[1,2,3].each {|id| @player.should_receive(:enqueue).with id}
|
21
|
-
|
22
|
-
@command.execute "some text"
|
23
|
-
end
|
24
|
-
end
|
@@ -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 = stub('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
|
-
@player.stub!(:current).and_return nil
|
20
|
-
@player.stub! :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 = stub 'track'
|
26
|
-
@player.stub!(:current).and_return nil
|
27
|
-
@player.stub!(:each).and_yield track
|
28
|
-
@command.should_receive(:puts).with track
|
29
|
-
@command.execute ''
|
30
|
-
end
|
31
|
-
end
|
@@ -1,20 +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 = stub('library')
|
12
|
-
@player = stub('player', :library => @library)
|
13
|
-
@command = Hearken::Command::Reload.new @player
|
14
|
-
end
|
15
|
-
|
16
|
-
it 'should reload the library' do
|
17
|
-
@library.should_receive(:reload)
|
18
|
-
@command.execute '123'
|
19
|
-
end
|
20
|
-
end
|
@@ -1,31 +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 = stub 'player'
|
12
|
-
@command = Hearken::Command::Shuffle.new @player
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'should dequeue all tracks, shuffle then enqueue them' do
|
16
|
-
track = stub 'track'
|
17
|
-
track.should_receive(:id).and_return 1
|
18
|
-
track.should_receive(:id).and_return 2
|
19
|
-
track.should_receive(:id).and_return 3
|
20
|
-
@player.should_receive(:dequeue).and_return track
|
21
|
-
@player.should_receive(:dequeue).and_return track
|
22
|
-
@player.should_receive(:dequeue).and_return track
|
23
|
-
@player.should_receive(:dequeue).and_return nil
|
24
|
-
|
25
|
-
@player.should_receive(:enqueue).with 3
|
26
|
-
@player.should_receive(:enqueue).with 2
|
27
|
-
@player.should_receive(:enqueue).with 1
|
28
|
-
|
29
|
-
@command.execute
|
30
|
-
end
|
31
|
-
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 = mock 'scrobbler'
|
10
|
-
library = mock 'library'
|
11
|
-
Hearken::Scrobbler.stub!(:new).and_return scrobbler
|
12
|
-
Hearken::Library.stub!(:new).and_return library
|
13
|
-
library.stub! :reload
|
14
|
-
scrobbler.stub! :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 = stub 'hash'
|
21
|
-
File.stub!(:exist?).with('current_song').and_return true
|
22
|
-
YAML.stub!(:load_file).with('current_song').and_return hash
|
23
|
-
player.current.should == 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
|
-
File.stub!(:exist?).with('current_song').and_return true
|
29
|
-
player.current.should == 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
|
-
File.stub!(:exist?).with('current_song').and_return false
|
35
|
-
player.current.should == 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
|
-
@expander.expand('123').should == [1371]
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'should expand multiple values separated by any non digit' do
|
14
|
-
@expander.expand("123 \t 456 , 789 ").should == [1371, 5370, 9369]
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'should expand a fully specified range' do
|
18
|
-
@expander.expand(" 456-45i ").should == (5370..5382).to_a
|
19
|
-
end
|
20
|
-
|
21
|
-
it 'should expand an abbreviated range' do
|
22
|
-
@expander.expand(" 456-i ").should == (5370..5382).to_a
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'should expand ids for a range' do
|
26
|
-
@expander.expand_to_ids(" s-z ").should == %w{s t u v w x y z}
|
27
|
-
end
|
28
|
-
end
|