sanky-pf 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 12060a4737e5b5875af067b501a0bb42068beac1
4
- data.tar.gz: a978ea285cab7395aa826d4802baaa6a62b1ce6a
3
+ metadata.gz: cb5025e0020619040fe09a5e1f64f4fba531b002
4
+ data.tar.gz: 7d9eb8daf257df0134f23987e925226d114b2067
5
5
  SHA512:
6
- metadata.gz: 76b269a1c85f31c8a9effa68530c82e4ad5e8e6d81cb74c384eb86a27e8f3b82a182cc6ead870af20001b11c03656a083cea1452c980b52f6697fa5ad5ac4033
7
- data.tar.gz: ec02693a80c4fd964f1f5c9fcb78cfd6953b230398f5467d91dfc57966d369b7e79c328915e3fc7b7a3dd788acb35e4f433edd18386226972dd89f99340136d5
6
+ metadata.gz: 4034f3c15615751f5b193a413fb3f9bae4365b0b141b45401a746eda16d356b437f85aee68a4bf5a00c490a631e6a729477665d51738b17e92c360d9a345c38b
7
+ data.tar.gz: ab05d7e91befadd281ae065f16afc1435eace6763afd193fa5c9540c9b36be7b046a2e873a2ddb9b03cb409a521aa314fb343ad1b9c745580701d9df37ecec0f
@@ -0,0 +1,63 @@
1
+ require 'colorize'
2
+
3
+ module Sanky
4
+ module PathFinder
5
+ class Finder
6
+ def initialize(arguments)
7
+ @found = nil
8
+ @arguments = arguments
9
+ end
10
+
11
+ def to_s
12
+ @arguments
13
+ end
14
+
15
+ def convert
16
+ @arguments.map! do |original|
17
+ set = Hash.new()
18
+
19
+ # subsitute windows backslashes for forwardslashes and strip whitespace, add leading forwardslash, and /Volumes prefix
20
+ set[:original] = original.strip.gsub(/\\/, "/")
21
+
22
+ drive = /.{1,3}:/
23
+ # are we talking about sankynet or sanky direct drives here? let's try both.
24
+ if original.match(drive)
25
+ set[:sanky_net] = set[:original].sub(drive, "/Volumes/SankyNet Drive")
26
+ set[:sanky_direct] = set[:original].sub(drive, "/Volumes/Sanky Direct Drive/Sanky Shared")
27
+ else
28
+ set[:volume] = set[:original].sub(/^(?!\/Volumes)/i, "/Volumes/")
29
+ end
30
+
31
+ set.map { |key, value| value.gsub!(/\/\//, "/") }
32
+
33
+ set
34
+ end
35
+
36
+ self
37
+ end
38
+
39
+ def open
40
+ @arguments.each do |target|
41
+ target.each do |drive, file|
42
+ unless @found
43
+ begin
44
+ # pipe STDERR to dev null in favor of custom prompt
45
+ `open -g '#{file}' > /dev/null 2>/dev/null`
46
+ ensure
47
+ if $? == 0
48
+ @found = true
49
+ puts "Opening the file in the background...".yellow
50
+ else
51
+ puts "Failed to find #{file}!".red
52
+ puts "Trying another likely location...".red
53
+ end
54
+ end
55
+ end
56
+ end
57
+
58
+ puts "Hope you got lucky!".green
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,40 @@
1
+ require 'optparse'
2
+
3
+ module Sanky
4
+ module PathFinder
5
+ class Options
6
+ attr_reader :arguments
7
+
8
+ def initialize(argv)
9
+ parse(argv)
10
+ @arguments = argv
11
+ end
12
+
13
+ private
14
+
15
+ def parse(argv)
16
+ OptionParser.new do |opts|
17
+ opts.banner = "Usage: sanky-pf file [ file ] ..."
18
+
19
+ opts.on("-h", "--help", "Show this message") do
20
+ puts opts
21
+ exit
22
+ end
23
+
24
+ opts.on("-v", "--version", "Display the package version") do
25
+ puts Sanky::PathFinder::VERSION
26
+ exit
27
+ end
28
+
29
+ begin
30
+ argv = ["-h"] if argv.empty?
31
+ opts.parse!(argv)
32
+ rescue OptionParser::ParseError => e
33
+ STDERR.puts e.message, "\n", opts
34
+ exit(1)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ require_relative 'options'
2
+ require_relative 'finder'
3
+ require_relative 'version'
4
+
5
+ module Sanky
6
+ module PathFinder
7
+ class Runner
8
+ def initialize(argv)
9
+ @options = Options.new(argv)
10
+ end
11
+
12
+ def run
13
+ Sanky::PathFinder::Finder.new(@options.arguments).convert.open
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,5 @@
1
+ module Sanky
2
+ module PathFinder
3
+ VERSION = "0.1.3"
4
+ end
5
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sanky-pf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Ryan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-17 00:00:00.000000000 Z
11
+ date: 2014-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -55,6 +55,10 @@ extensions: []
55
55
  extra_rdoc_files: []
56
56
  files:
57
57
  - bin/sanky-pf
58
+ - lib/sanky/pathfinder/finder.rb
59
+ - lib/sanky/pathfinder/options.rb
60
+ - lib/sanky/pathfinder/runner.rb
61
+ - lib/sanky/pathfinder/version.rb
58
62
  - test/test_finder.rb
59
63
  - test/test_options.rb
60
64
  homepage: https://github.com/sankynet/sankypf