shuttle-cli 0.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6362dc33c57e12833864f9cedc7a6c75a28675ea
4
+ data.tar.gz: 8a1bd8cb58af0f18954b3fe95a08e416fc6567be
5
+ SHA512:
6
+ metadata.gz: 786ec19cfab2bb286e23278b1f6da8e9b5262cbca6d8337316431fe35491d2ab9a6d19300e864ce7f7f817ab9c8b7fcaaa3244f431fd491872afd8b355b8b7db
7
+ data.tar.gz: 97d63e1e4711155ecafd34097120567adbf26c9e51d8971cc56a1089729f22cebb1fcfd434d69ddf1a67607167f6529ed8ad52a55c2b1f24c77e29d7801f6517
data/.gitignore ADDED
@@ -0,0 +1,12 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+
11
+ # rspec failure tracking
12
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.4.1
5
+ before_install: gem install bundler -v 1.14.6
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in shuttle-cli.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,20 @@
1
+ # Shuttle::Cli
2
+
3
+ Hey! It's just command line prompt for awesome Shuttle app: https://github.com/fitztrev/shuttle
4
+
5
+ ## Installation
6
+
7
+ Just install it to your system `gem install shuttle-cli`
8
+
9
+ ## Usage
10
+
11
+ `shuttle-cli`
12
+
13
+ ## Development
14
+
15
+ Probably just shoot me an email :)
16
+
17
+ ## Contributing
18
+
19
+ Bug reports and pull requests are welcome on GitHub at https://github.com/u2i/shuttle-cli.
20
+
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
data/bin/shuttle-cli ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'shuttle/cli'
4
+
5
+ Shuttle::Cli.run
@@ -0,0 +1,32 @@
1
+ require 'shuttle/cli/version'
2
+ require 'tty-prompt'
3
+ require 'json'
4
+
5
+ module Shuttle
6
+ module Cli
7
+ def self.run
8
+ prompt = TTY::Prompt.new(interrupt: :signal)
9
+
10
+ begin
11
+ shuttle_config = JSON.parse(File.read("#{ENV['HOME']}/.shuttle.json"))
12
+
13
+ categories = shuttle_config['hosts']
14
+ while categories.size == 1
15
+ key = prompt.select('Category:', categories[0].keys)
16
+ categories = categories[0][key]
17
+ end
18
+
19
+ node = prompt.select('Node:', categories.map { |c| c['title'] })
20
+
21
+ selected_node = categories.detect { |c| c['title'] == node }
22
+
23
+ puts "Connecting to: #{selected_node['cmd']}"
24
+ exec(selected_node['cmd'])
25
+
26
+ rescue Interrupt => e
27
+ puts ''
28
+ puts 'Bye bye... 🐗'
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,5 @@
1
+ module Shuttle
2
+ module Cli
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'shuttle/cli/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "shuttle-cli"
8
+ spec.version = Shuttle::Cli::VERSION
9
+ spec.authors = ["Mikolaj Nowak"]
10
+ spec.email = ["mikolaj.nowak@u2i.com"]
11
+
12
+ spec.summary = 'Command line utility for Shuttle OSX app'
13
+ spec.description = 'Tools to let you choose ssh servers from keyboard'
14
+ spec.homepage = 'http://rubygems.org/gems/shuttle-cli'
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ f.match(%r{^(test|spec|features)/})
18
+ end
19
+ spec.bindir = "bin"
20
+ spec.executables = ['shuttle-cli']
21
+ spec.require_paths = ["lib"]
22
+
23
+ spec.add_dependency 'tty-prompt'
24
+ spec.add_development_dependency "bundler", "~> 1.14"
25
+ spec.add_development_dependency "rake", "~> 10.0"
26
+ spec.add_development_dependency "rspec", "~> 3.0"
27
+ end
metadata ADDED
@@ -0,0 +1,110 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shuttle-cli
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Mikolaj Nowak
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-02-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: tty-prompt
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.14'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.14'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ description: Tools to let you choose ssh servers from keyboard
70
+ email:
71
+ - mikolaj.nowak@u2i.com
72
+ executables:
73
+ - shuttle-cli
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - ".gitignore"
78
+ - ".rspec"
79
+ - ".travis.yml"
80
+ - Gemfile
81
+ - README.md
82
+ - Rakefile
83
+ - bin/shuttle-cli
84
+ - lib/shuttle/cli.rb
85
+ - lib/shuttle/cli/version.rb
86
+ - shuttle-cli.gemspec
87
+ homepage: http://rubygems.org/gems/shuttle-cli
88
+ licenses: []
89
+ metadata: {}
90
+ post_install_message:
91
+ rdoc_options: []
92
+ require_paths:
93
+ - lib
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ requirements: []
105
+ rubyforge_project:
106
+ rubygems_version: 2.6.11
107
+ signing_key:
108
+ specification_version: 4
109
+ summary: Command line utility for Shuttle OSX app
110
+ test_files: []