media-runner 1.0.0 → 1.0.2

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: f7e931bb6b94a47f8db743581b015ecd385a2799
4
- data.tar.gz: 48edf648e5327c94691a62fb36cc62b41f88efc3
3
+ metadata.gz: 0234ad2c2f19583b5a0c98f95d4d52f61bfe1422
4
+ data.tar.gz: e79f9f0015b1357e9c946d27a9988b6a376888f5
5
5
  SHA512:
6
- metadata.gz: d1513f0623a1c6448d152b4a724fe85e400314c338ac7fb503a8fda365e73320f05d5ba199529301533fc78991f82e05ee0184a0a1153025e515fd7df8f8e37a
7
- data.tar.gz: 84803635dae3d9cb11756276e24d362ff613d094e345a14ba920542ff239ed06c3792ba7d78fb9e8584a308c2915f87741af79dc2884d201b29286ef6b8dcf70
6
+ metadata.gz: f7f77c4ad1226eec9d3bb7371c3840d1a7facacba784f9b8879ce6af1e93f520772403d178bc4e5f64b38cec69062a73831dee69d5e0a0f537e146ecff0dbca7
7
+ data.tar.gz: 6abc7ca7618017af2b60923fcfed70ef4703b6ba8176ac8c7b28cb132f0fb3296e9edfbdcffc6d38410f0845c4e763234a27819faf93760025404e4793c9a0df
@@ -4,6 +4,12 @@ AllCops:
4
4
  Metrics/LineLength:
5
5
  Max: 120
6
6
 
7
+ Metrics/AbcSize:
8
+ Enabled: false
9
+
10
+ Metrics/MethodLength:
11
+ Enabled: false
12
+
7
13
  Style/Documentation:
8
14
  Enabled: false
9
15
 
@@ -21,4 +27,3 @@ AllCops:
21
27
  - '*.gemspec'
22
28
  Exclude:
23
29
  - 'bin/**/*'
24
- - 'lib/renuo/cli.rb'
@@ -0,0 +1,18 @@
1
+ addons:
2
+ apt:
3
+ packages:
4
+ - zsh
5
+ language: ruby
6
+ cache:
7
+ bundler: true
8
+ apt: true
9
+ before_install:
10
+ - export TZ=Europe/Zurich
11
+ before_script:
12
+ - export DISPLAY=:99.0
13
+ - sh -e /etc/init.d/xvfb start
14
+ script: bin/setup
15
+ notifications:
16
+ email:
17
+ on_success: never
18
+ on_failure: never
data/README.md CHANGED
@@ -22,11 +22,11 @@ media-runner series gameofthrones 101
22
22
 
23
23
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
24
24
 
25
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
25
+ To install this gem onto your local machine, run `bundle exec rake install`.
26
26
 
27
27
  ## Contributing
28
28
 
29
- Bug reports and pull requests are welcome on GitHub at https://github.com/nicolaseckhart/media_runner. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
29
+ Bug reports and pull requests are welcome on GitHub at https://github.com/nicolaseckhart/media-runner. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
30
30
 
31
31
  ## License
32
32
 
@@ -0,0 +1,15 @@
1
+ #!/bin/bash
2
+
3
+ source ~/.zshrc
4
+
5
+ bundle exec rubocop -c .rubocop.yml
6
+ if [ ! $? -eq 0 ]; then
7
+ echo 'rubocop detected issues!'
8
+ exit 1
9
+ fi
10
+
11
+ bundle exec rake spec
12
+ if [ ! $? -eq 0 ]; then
13
+ echo 'rspec did not run successfully, commit aborted'
14
+ exit 1
15
+ fi
data/bin/setup CHANGED
@@ -1,6 +1,13 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
5
3
 
6
- bundle install
4
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
5
+
6
+ Dir.chdir APP_ROOT do
7
+ puts '== Installing dependencies =='
8
+ system 'gem install bundler --conservative'
9
+ system 'bundle check || bundle install --jobs=3 --retry=3'
10
+
11
+ puts "\n== Running checks =="
12
+ system 'bundle exec rake spec'
13
+ end
File without changes
@@ -6,13 +6,11 @@ require 'media/runner/app/args_sanitizer'
6
6
  require 'media/runner/app/file_check'
7
7
  require 'media/runner/app/media_paths'
8
8
  require 'media/runner/app/vlc_check'
9
+ require 'media/runner/printer'
9
10
 
10
11
  module Media
11
12
  class Run
12
- include ArgsSanitizer
13
- include FileCheck
14
- include VlcCheck
15
- include MediaPaths
13
+ include ArgsSanitizer, FileCheck, VlcCheck, MediaPaths
16
14
 
17
15
  def start
18
16
  require 'commander/import'
@@ -28,20 +26,22 @@ module Media
28
26
  media = sanitize_args(args)
29
27
 
30
28
  unless series_exists?(media[:series])
31
- puts "#{series_path(media[:series])} doesn't exist. Did you type the series name correctly?"
29
+ Media::Printer.output ["#{series_path(media[:series])} doesn't exist. Did you type the series name \
30
+ correctly?"]
32
31
  exit 1
33
32
  end
34
33
 
35
34
  unless episode_exists?(media[:series], media[:episode])
36
- puts "Episode #{media[:episode]} was not found in #{media[:series]}."
35
+ Media::Printer.output ["Episode #{media[:episode]} was not found in #{media[:series]}."]
37
36
  exit 1
38
37
  end
39
38
 
40
39
  format = episode_format(media[:series], media[:episode])
41
40
  vlc_installed?
42
41
 
43
- puts "Playing episode #{media[:episode]} from #{media[:series]}. ENJOY!"
44
- `zsh -c "/Users/#{whoami}/Applications/VLC.app/Contents/MacOS/VLC --fullscreen #{episode_path(media[:series], media[:episode], format)} > /dev/null 2>&1 &!"`
42
+ Media::Printer.output ["Playing episode #{media[:episode]} from #{media[:series]}. ENJOY!"]
43
+ `zsh -c "#{Dir.home}/Applications/VLC.app/Contents/MacOS/VLC --fullscreen \
44
+ #{episode_path(media[:series], media[:episode], format)} > /dev/null 2>&1 &!"`
45
45
  exit 0
46
46
  end
47
47
  end
@@ -1,8 +1,10 @@
1
+ require 'media/runner/printer'
2
+
1
3
  module ArgsSanitizer
2
4
  def sanitize_args(args)
3
5
  if args.count != 2
4
- puts 'Wrong number of arguments.'
5
- puts 'Correct usage: media-runner series SERIES_FOLDER_NAME EPISODE_NUMBER'
6
+ Media::Printer.output ['Wrong number of arguments.',
7
+ 'Correct usage: media-runner series SERIES_FOLDER_NAME EPISODE_NUMBER']
6
8
  exit 1
7
9
  else
8
10
  { series: args[0], episode: args[1] }
@@ -1,7 +1,7 @@
1
1
  require 'media/runner/app/media_paths'
2
2
 
3
3
  module FileCheck
4
- include MediaPaths
4
+ extend MediaPaths
5
5
 
6
6
  def series_exists?(series)
7
7
  if File.directory? series_path(series)
@@ -13,18 +13,14 @@ module FileCheck
13
13
 
14
14
  def episode_exists?(series, episode)
15
15
  [:mkv, :mp4, :avi].each do |format|
16
- if File.file? episode_path(series, episode, format)
17
- return true
18
- end
16
+ return true if File.file? episode_path(series, episode, format)
19
17
  end
20
18
  false
21
19
  end
22
20
 
23
21
  def episode_format(series, episode)
24
22
  [:mkv, :mp4, :avi].each do |format|
25
- if File.file? episode_path(series, episode, format)
26
- return "#{format}"
27
- end
23
+ return format.to_s if File.file? episode_path(series, episode, format)
28
24
  end
29
25
  end
30
26
  end
@@ -1,10 +1,6 @@
1
- require 'media/runner/app/vlc_check'
2
-
3
1
  module MediaPaths
4
- include VlcCheck
5
-
6
- SERIES_BASE = "/Users/#{whoami}/Movies/series"
7
- MOVIES_BASE = "/Users/#{whoami}/Movies/movies"
2
+ SERIES_BASE = "#{Dir.home}/Movies/series".freeze
3
+ MOVIES_BASE = "#{Dir.home}/Movies/movies".freeze
8
4
 
9
5
  def movie_path(movie)
10
6
  nil unless movie
@@ -17,7 +13,15 @@ module MediaPaths
17
13
  end
18
14
 
19
15
  def episode_path(series, episode, format)
20
- nil unless series || episode
16
+ nil unless series && episode && format
21
17
  "#{series_path(series)}/#{episode}.#{format}"
22
18
  end
19
+
20
+ def series_base
21
+ SERIES_BASE
22
+ end
23
+
24
+ def movies_base
25
+ MOVIES_BASE
26
+ end
23
27
  end
@@ -1,17 +1,14 @@
1
+ require 'media/runner/printer'
2
+
1
3
  module VlcCheck
2
4
  def vlc_installed?
3
- unless File.file? "/Users/#{whoami}/Applications/VLC.app/Contents/MacOS/VLC"
4
- install_vlc
5
- end
5
+ install_vlc unless File.file? "#{Dir.home}/Applications/VLC.app/Contents/MacOS/VLC"
6
6
  end
7
7
 
8
8
  def install_vlc
9
- puts 'VLC media player is not installed on your system. Make sure you have homebrew and brew-cask installed, and then run the following command:'
10
- puts 'brew cask install vlc'
9
+ Media::Printer.output ['VLC media player is not installed on your system. Make sure you have homebrew and \
10
+ brew-cask installed, and then run the following command:',
11
+ 'brew cask install vlc']
11
12
  exit 1
12
13
  end
13
-
14
- def whoami
15
- `whoami`.gsub(/\n/, '')
16
- end
17
14
  end
@@ -0,0 +1,7 @@
1
+ module Media
2
+ class Printer
3
+ def self.output(messages)
4
+ messages.each { |message| $stdout.puts message }
5
+ end
6
+ end
7
+ end
@@ -1,5 +1,5 @@
1
1
  module Media
2
2
  module Runner
3
- VERSION = '1.0.0'.freeze
3
+ VERSION = '1.0.2'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: media-runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolas Eckhart
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-01 00:00:00.000000000 Z
11
+ date: 2016-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander
@@ -107,11 +107,13 @@ files:
107
107
  - ".rspec"
108
108
  - ".rubocop.yml"
109
109
  - ".ruby-version"
110
+ - ".travis.yml"
110
111
  - CODE_OF_CONDUCT.md
111
112
  - Gemfile
112
113
  - LICENSE.txt
113
114
  - README.md
114
115
  - Rakefile
116
+ - bin/check
115
117
  - bin/console
116
118
  - bin/setup
117
119
  - exe/media-runner
@@ -120,6 +122,7 @@ files:
120
122
  - lib/media/runner/app/file_check.rb
121
123
  - lib/media/runner/app/media_paths.rb
122
124
  - lib/media/runner/app/vlc_check.rb
125
+ - lib/media/runner/printer.rb
123
126
  - lib/media/runner/version.rb
124
127
  - media-runner.gemspec
125
128
  homepage: https://www.github.com/nicolaseckhart/media_runner