taifu 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: eadfaff239772633fc2471d38d2312631115736a
4
+ data.tar.gz: e1ea4e6985a13f861930e5e47f808be99144f702
5
+ SHA512:
6
+ metadata.gz: 1e69a23a889681856423d3e4fa5ab60bfec847d4a94abe219e2f51998fc6e13ce344596200d3fd8701c01ab2776ffcffe816e4e4e3dc0e4d999d01ac7b95250e
7
+ data.tar.gz: a8457c3a5704680cb154f2c0d7f4a90807b0ccdf3ac7a3099a05d627ea375bad57f4f8c1d938041d0f913fcad3acdbd9dd0473bf218a956eae03768f975ad252
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ - 1.9.3
@@ -0,0 +1,24 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'rspec' do
5
+ watch(%r{^spec/.+_spec\.rb$})
6
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
7
+ watch('spec/spec_helper.rb') { "spec" }
8
+
9
+ # Rails example
10
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
11
+ watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
12
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
13
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
14
+ watch('config/routes.rb') { "spec/routing" }
15
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
16
+
17
+ # Capybara features specs
18
+ watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
19
+
20
+ # Turnip features and steps
21
+ watch(%r{^spec/acceptance/(.+)\.feature$})
22
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
23
+ end
24
+
@@ -0,0 +1,8 @@
1
+ The MIT License (MIT)
2
+ Copyright © 2013 Ryo Katsuma
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5
+
6
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7
+
8
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
- # taifu
2
- taifu will bring YouTube sound to your iTunes library silently.
1
+ # taifu [![Build Status](https://travis-ci.org/katsuma/taifu.png?branch=master)](https://travis-ci.org/katsuma/taifu)
2
+ taifu brings YouTube sound to your iTunes library silently.
3
3
 
4
4
  ## Usage
5
5
 
@@ -9,7 +9,7 @@ Try
9
9
  taifu http://www.youtube.com/watch?v=I1X6MrBfjrk
10
10
  ```
11
11
 
12
- And check type 'taifu' at search box on your iTunes.
12
+ After that type `taifu` at search box on your iTunes.
13
13
 
14
14
 
15
15
  ## Install
@@ -18,8 +18,13 @@ And check type 'taifu' at search box on your iTunes.
18
18
  gem install taifu
19
19
  ```
20
20
 
21
- # Supported OS
22
- - OSX
21
+ ## Supported OS
22
+ - OSX 10.8 (Mountain Lion)
23
+
24
+ ## Supported Ruby
25
+ - 2.0.0
26
+ - 1.9.3
27
+
23
28
 
24
29
  ## Dependencies
25
30
  - ffmpeg
@@ -28,4 +33,4 @@ gem install taifu
28
33
  You can install these tools by homebrew.
29
34
 
30
35
  ## Licence
31
- taifu is released into the public domain by the copyright holders.
36
+ taifu is released under the MIT License.
data/Rakefile CHANGED
@@ -1 +1,18 @@
1
+ require 'rubygems'
1
2
  require "bundler/gem_tasks"
3
+ require 'bundler'
4
+
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+
13
+ require 'rspec/core'
14
+ require 'rspec/core/rake_task'
15
+
16
+ RSpec::Core::RakeTask.new(:spec)
17
+
18
+ task :default => :spec
data/bin/taifu CHANGED
@@ -2,4 +2,4 @@
2
2
  require 'taifu'
3
3
  include Taifu
4
4
 
5
- Taifu.hit
5
+ Taifu.hit
@@ -1,9 +1,8 @@
1
1
  # coding: utf-8
2
2
  require 'fileutils'
3
- require 'appscript'
4
-
5
- require "taifu/app"
6
- require "taifu/version"
3
+ require 'logger'
4
+ require 'taifu/app'
5
+ require 'taifu/version'
7
6
 
8
7
  module Taifu
9
8
  def hit
@@ -11,7 +10,10 @@ module Taifu
11
10
  if url.nil?
12
11
  raise ArgumentError.new 'You need to specify URL. Try "taifu http://www.youtube.com/watch?v=I1X6MrBfjrk"'
13
12
  end
14
- App.new(url)
13
+
14
+ taifu = App.new
15
+ wav_path = taifu.save_as_wav_with(url)
16
+ taifu.add_track(wav_path)
15
17
  end
16
18
  module_function :hit
17
19
  end
@@ -1,77 +1,47 @@
1
1
  # coding: utf-8
2
2
  module Taifu
3
- include Appscript
4
-
5
3
  class App
6
- REQUIRED_APPS = ['youtube-dl', 'ffmpeg']
7
-
8
- def initialize(url)
9
- return unless satisfied?
10
-
11
- init_working_dir
12
-
13
- save_wav_with(url)
14
- add_track
15
-
16
- logging "Done. Type 'taifu' on your iTunes", false
17
- end
18
-
19
- def init_working_dir
20
- unless File.exist?(working_dir)
21
- FileUtils.mkdir(working_dir)
22
- end
23
- end
4
+ REQUIRED_APPS = %w(youtube-dl ffmpeg).freeze
24
5
 
25
- def working_dir
26
- home_dir = File.expand_path('~')
27
- File.join(home_dir, '.taifu')
6
+ def initialize
7
+ init_working_dir if check_env
8
+ @logger = Logger.new("#{working_dir}/taifu.log")
28
9
  end
29
10
 
30
- def add_track
31
- logging 'Add wav file to iTunes'
32
-
33
- script = create_script
34
- `osascript #{script}`
35
- delete_script
11
+ def save_as_wav_with(youtube_url)
12
+ url = youtube_url.split('&').first
13
+ wav_file = 'taifu.wav'
14
+ wav_path = "#{working_dir}/#{wav_file}"
36
15
 
37
- delete_wav
38
- end
16
+ @logger.info 'Download data'
17
+ download_from url
39
18
 
40
- def delete_wav
41
- FileUtils.rm "#{working_dir}/taifu.wav"
42
- end
19
+ @logger.info 'Save wav file'
20
+ convert_flv_to wav_path
21
+ remove_flv
43
22
 
44
- def delete_script
45
- FileUtils.rm "#{working_dir}/track.scpt"
23
+ wav_path
46
24
  end
47
25
 
48
- def create_script
49
- file_path = MacTypes::FileURL.path(File.expand_path("#{working_dir}/taifu.wav")).hfs_path
50
- script_path = "#{working_dir}/track.scpt"
26
+ def add_track(wav_path, clean_up = true)
27
+ @logger.info 'Add wav file to iTunes'
51
28
 
52
- script = script_base.gsub('$file_path', file_path)
53
- open(script_path, 'w') do |f|
54
- f.write script
29
+ unless File.exist?(wav_path)
30
+ raise ArgumentError.new 'Not found wav file'
55
31
  end
56
- script_path
57
- end
58
32
 
59
- def save_wav_with(youtube_url)
60
- url = youtube_url.split('&').first
61
- wav_file = 'taifu.wav'
62
- wav_path = "#{working_dir}/#{wav_file}"
33
+ script_path = File.expand_path("#{File.dirname(__FILE__)}/../../scripts/add_track.scpt")
34
+ expand_wav_path = File.expand_path(wav_path)
35
+ execute_script(script_path, expand_wav_path)
63
36
 
64
- logging 'Download data'
65
- system "youtube-dl -q #{url} -o #{working_dir}/taifu.flv"
37
+ FileUtils.rm_f(wav_path) if clean_up
66
38
 
67
- logging 'Save wav file'
68
- system "ffmpeg -i #{working_dir}/taifu.flv #{wav_path} 2>/dev/null"
69
- system "rm -f #{working_dir}/taifu.flv"
39
+ @logger.info "Done. Type 'taifu' on your iTunes"
70
40
  end
71
41
 
72
- def satisfied?
42
+ def check_env
73
43
  REQUIRED_APPS.each do |app|
74
- if `which #{app}`.empty?
44
+ unless installed?(app)
75
45
  messages = []
76
46
  messages << "'#{app}' is not installed."
77
47
  messages << "Try this command to install '#{app}'."
@@ -83,29 +53,44 @@ module Taifu
83
53
  end
84
54
  true
85
55
  end
56
+ private :check_env
57
+
58
+ def installed?(app)
59
+ !`which #{app}`.empty?
60
+ end
61
+ private :installed?
62
+
63
+ def working_dir
64
+ home_dir = File.expand_path('~')
65
+ File.join(home_dir, '.taifu')
66
+ end
67
+ private :working_dir
86
68
 
87
- def logging(message, caption=true)
88
- if caption
89
- puts "[#{message}]..." if ENV['LOGGING']
90
- else
91
- puts message
69
+ def init_working_dir
70
+ unless File.exist?(working_dir)
71
+ FileUtils.mkdir(working_dir)
92
72
  end
93
73
  end
74
+ private :init_working_dir
94
75
 
95
- def script_base
96
- <<-SCRIPT
97
- tell application "iTunes"
98
- set added_track to add "$file_path"
99
- set loc to (get location of added_track)
100
- convert added_track
101
- delete added_track
102
-
103
- tell application "Finder"
104
- delete loc
105
- end tell
106
- end tell
107
- SCRIPT
76
+ def download_from(url)
77
+ system "youtube-dl -q #{url} -o #{working_dir}/taifu.flv"
108
78
  end
79
+ private :download_from
109
80
 
81
+ def convert_flv_to(wav)
82
+ system "ffmpeg -i #{working_dir}/taifu.flv #{wav} 2>/dev/null"
83
+ end
84
+ private :convert_flv_to
85
+
86
+ def remove_flv
87
+ system "rm -f #{working_dir}/taifu.flv"
88
+ end
89
+ private :remove_flv
90
+
91
+ def execute_script(script, args)
92
+ `osascript #{script} #{args}`
93
+ end
94
+ private :execute_script
110
95
  end
111
96
  end
@@ -1,4 +1,4 @@
1
1
  # coding: utf-8
2
2
  module Taifu
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
@@ -0,0 +1,13 @@
1
+ on run argv
2
+ tell application "iTunes"
3
+ set file_path to (POSIX file (item 1 of argv)) as string
4
+ set added_track to add file_path
5
+ set loc to (get location of added_track)
6
+ convert added_track
7
+ delete added_track
8
+
9
+ tell application "Finder"
10
+ delete loc
11
+ end tell
12
+ end tell
13
+ end run
@@ -0,0 +1,13 @@
1
+ # coding: utf-8
2
+
3
+ require 'bundler'
4
+ require 'fakefs/spec_helpers'
5
+
6
+ Bundler.setup(:default, :development)
7
+
8
+ RSpec.configure do |config|
9
+ config.color_enabled = true
10
+ config.tty = true
11
+ #config.formatter = :documentation
12
+ config.include FakeFS::SpecHelpers, fakefs: true
13
+ end
@@ -0,0 +1,128 @@
1
+ # coding: utf-8
2
+ require 'spec_helper'
3
+ require 'taifu'
4
+
5
+ describe Taifu do
6
+ let(:url) { 'http://www.youtube.com/watch?v=I1X6MrBfjrk' }
7
+ let(:working_dir) { '/tmp/.taifu' }
8
+
9
+ describe '#hit' do
10
+ context 'with no arguments' do
11
+ before do
12
+ ARGV.stub(:first).and_return(nil)
13
+ end
14
+
15
+ it 'raises an ArgumentError' do
16
+ expect { Taifu.hit }.to raise_error(ArgumentError)
17
+ end
18
+ end
19
+
20
+ context 'with an argument' do
21
+ before do
22
+ ARGV.stub(:first).and_return(url)
23
+ end
24
+
25
+ it 'recieves Taifu::App.new' do
26
+ taifu = double('taifu')
27
+ taifu.should_receive(:save_as_wav_with)
28
+ taifu.should_receive(:add_track)
29
+
30
+ Taifu::App.should_receive(:new).and_return(taifu)
31
+ Taifu.hit
32
+ end
33
+ end
34
+ end
35
+
36
+ describe Taifu::App do
37
+
38
+ describe '.new' do
39
+ subject { Taifu::App.new }
40
+
41
+ let(:taifu) { Taifu::App.any_instance }
42
+ let(:app) { 'youtube-dl' }
43
+
44
+ context "if required app is not installed" do
45
+ before do
46
+ taifu.should_receive(:installed?).with(app).and_return(false)
47
+ end
48
+
49
+ it 'raises an RuntimeError' do
50
+ expect { subject }.to raise_error(RuntimeError)
51
+ end
52
+ end
53
+
54
+ context 'if required apps are installed' do
55
+
56
+ before do
57
+ taifu.should_receive(:installed?).at_least(:twice).and_return(true)
58
+ end
59
+
60
+ it 'makes a working directory', fakefs: true do
61
+ taifu.should_receive(:working_dir).at_least(:twice).and_return(working_dir)
62
+ subject
63
+ File.should exist(working_dir)
64
+ end
65
+ end
66
+ end
67
+
68
+ describe '#save_as_wav_with' do
69
+ subject do
70
+ taifu = Taifu::App.new
71
+ taifu.save_as_wav_with(load_url)
72
+ end
73
+
74
+ let(:load_url) { "#{url}&fature=endscreen" }
75
+ let(:taifu) { Taifu::App.any_instance }
76
+
77
+ before { stub_constructor }
78
+
79
+ it 'saves file as wav' do
80
+ taifu.should_receive(:download_from).with(url)
81
+ taifu.should_receive(:convert_flv_to).with("#{working_dir}/taifu.wav")
82
+ taifu.should_receive(:remove_flv)
83
+ subject
84
+ end
85
+ end
86
+
87
+ describe '#add_track' do
88
+ subject do
89
+ taifu = Taifu::App.new
90
+ taifu.add_track(wav_path)
91
+ end
92
+
93
+ let(:taifu) { Taifu::App.any_instance }
94
+ let(:wav_path) { '/tmp/.taifu.wav' }
95
+
96
+ before { stub_constructor }
97
+
98
+ context 'if wav file is not found' do
99
+ before do
100
+ FileUtils.rm_rf(wav_path)
101
+ end
102
+
103
+ it 'raises ArgumentError', fakefs: true do
104
+ expect { subject }.to raise_error(ArgumentError)
105
+ end
106
+ end
107
+
108
+ context 'if wav file is found' do
109
+ before do
110
+ FileUtils.touch(wav_path)
111
+ end
112
+
113
+ it 'converts wav file', fakefs: true do
114
+ taifu.should_receive(:execute_script)
115
+
116
+ File.should exist(wav_path)
117
+ subject
118
+ File.should_not exist(wav_path)
119
+ end
120
+ end
121
+ end
122
+
123
+ def stub_constructor
124
+ taifu.should_receive(:installed?).exactly(2).times.and_return(true)
125
+ taifu.should_receive(:working_dir).at_least(:once).and_return(working_dir)
126
+ end
127
+ end
128
+ end
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # coding: utf-8
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
3
  require "taifu/version"
4
4
 
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.email = ["katsuma@gmail.com"]
10
10
  s.homepage = "http://github.com/katsuma/taifu"
11
11
  s.summary = %q{YouTube sound converter for iTunes}
12
- s.description = %q{taifu will bring YouTube sound to your iTunes library silently}
12
+ s.description = %q{taifu brings YouTube sound to your iTunes library silently}
13
13
 
14
14
  s.rubyforge_project = "taifu"
15
15
 
@@ -17,7 +17,13 @@ Gem::Specification.new do |s|
17
17
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
+ s.licenses = ["MIT"]
20
21
 
21
- # specify any dependencies here; for example:
22
- s.add_development_dependency "rb-appscript"
22
+ s.add_development_dependency "rake"
23
+ s.add_development_dependency "rspec"
24
+ s.add_development_dependency "rb-fsevent"
25
+ s.add_development_dependency "guard"
26
+ s.add_development_dependency "guard-rspec"
27
+ s.add_development_dependency "growl"
28
+ s.add_development_dependency "fakefs"
23
29
  end
metadata CHANGED
@@ -1,33 +1,114 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: taifu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ryo Katsuma
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-09-17 00:00:00.000000000 Z
11
+ date: 2013-03-03 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: rb-appscript
14
+ name: rake
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
- description: taifu will bring YouTube sound to your iTunes library silently
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rb-fsevent
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
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: guard-rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
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: growl
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: fakefs
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description: taifu brings YouTube sound to your iTunes library silently
31
112
  email:
32
113
  - katsuma@gmail.com
33
114
  executables:
@@ -36,36 +117,44 @@ extensions: []
36
117
  extra_rdoc_files: []
37
118
  files:
38
119
  - .gitignore
120
+ - .travis.yml
39
121
  - Gemfile
122
+ - Guardfile
123
+ - LICENSE.txt
40
124
  - README.md
41
125
  - Rakefile
42
126
  - bin/taifu
43
127
  - lib/taifu.rb
44
128
  - lib/taifu/app.rb
45
129
  - lib/taifu/version.rb
130
+ - scripts/add_track.scpt
131
+ - spec/spec_helper.rb
132
+ - spec/taifu_spec.rb
46
133
  - taifu.gemspec
47
134
  homepage: http://github.com/katsuma/taifu
48
- licenses: []
135
+ licenses:
136
+ - MIT
137
+ metadata: {}
49
138
  post_install_message:
50
139
  rdoc_options: []
51
140
  require_paths:
52
141
  - lib
53
142
  required_ruby_version: !ruby/object:Gem::Requirement
54
- none: false
55
143
  requirements:
56
- - - ! '>='
144
+ - - '>='
57
145
  - !ruby/object:Gem::Version
58
146
  version: '0'
59
147
  required_rubygems_version: !ruby/object:Gem::Requirement
60
- none: false
61
148
  requirements:
62
- - - ! '>='
149
+ - - '>='
63
150
  - !ruby/object:Gem::Version
64
151
  version: '0'
65
152
  requirements: []
66
153
  rubyforge_project: taifu
67
- rubygems_version: 1.8.24
154
+ rubygems_version: 2.0.0
68
155
  signing_key:
69
- specification_version: 3
156
+ specification_version: 4
70
157
  summary: YouTube sound converter for iTunes
71
- test_files: []
158
+ test_files:
159
+ - spec/spec_helper.rb
160
+ - spec/taifu_spec.rb