sshelper 0.1.1 → 0.1.2
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.
- data/README.md +1 -1
 - data/bin/sshelper +7 -4
 - data/lib/sshelper.rb +23 -9
 - data/lib/sshelper/version.rb +1 -1
 - data/resources/template.yml +9 -0
 - metadata +3 -2
 
    
        data/README.md
    CHANGED
    
    
    
        data/bin/sshelper
    CHANGED
    
    | 
         @@ -15,15 +15,18 @@ global = OptionParser.new do |opts| 
     | 
|
| 
       15 
15 
     | 
    
         
             
                puts "Labels:"
         
     | 
| 
       16 
16 
     | 
    
         
             
                Sshelper.prepare!
         
     | 
| 
       17 
17 
     | 
    
         
             
                Sshelper.configuration.each do |key, value|
         
     | 
| 
       18 
     | 
    
         
            -
                  puts "\t#{key.to_s}: #{value.description}"
         
     | 
| 
      
 18 
     | 
    
         
            +
                  puts "\t#{key.to_s.yellow}: #{value.description.blue if value.member? 'description'}"
         
     | 
| 
       19 
19 
     | 
    
         
             
                end
         
     | 
| 
       20 
20 
     | 
    
         
             
                puts "\n\n"
         
     | 
| 
       21 
21 
     | 
    
         
             
                exit!
         
     | 
| 
       22 
22 
     | 
    
         
             
              end
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
     | 
    
         
            -
              opts.on("-t", "--template", " 
     | 
| 
       25 
     | 
    
         
            -
                 
     | 
| 
       26 
     | 
    
         
            -
                 
     | 
| 
      
 24 
     | 
    
         
            +
              opts.on("-t", "--template [TYPE]", "Generate a template in your home folder (~/.sshelper.{yml|json}). For type choose either YAML/YML or JSON.") do |type|
         
     | 
| 
      
 25 
     | 
    
         
            +
                ext = "json"
         
     | 
| 
      
 26 
     | 
    
         
            +
                ext = "yml" if type.downcase =~ /ya?ml/
         
     | 
| 
      
 27 
     | 
    
         
            +
                  
         
     | 
| 
      
 28 
     | 
    
         
            +
                template = IO.read(File.expand_path("../../resources/template.#{ext}", __FILE__))
         
     | 
| 
      
 29 
     | 
    
         
            +
                File.open(File.expand_path("~/.sshelper.#{ext}"), "w") { |f| f.write template }
         
     | 
| 
       27 
30 
     | 
    
         
             
                exit!
         
     | 
| 
       28 
31 
     | 
    
         
             
              end
         
     | 
| 
       29 
32 
     | 
    
         
             
            end
         
     | 
    
        data/lib/sshelper.rb
    CHANGED
    
    | 
         @@ -3,18 +3,32 @@ require "sshelper/hash" 
     | 
|
| 
       3 
3 
     | 
    
         
             
            require "sshelper/string"
         
     | 
| 
       4 
4 
     | 
    
         
             
            require 'rye'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require "json"
         
     | 
| 
      
 6 
     | 
    
         
            +
            require "yaml"
         
     | 
| 
       6 
7 
     | 
    
         
             
            require "fileutils"
         
     | 
| 
       7 
8 
     | 
    
         | 
| 
       8 
9 
     | 
    
         
             
            module Sshelper
         
     | 
| 
       9 
10 
     | 
    
         
             
              @config
         
     | 
| 
       10 
11 
     | 
    
         | 
| 
       11 
12 
     | 
    
         
             
              def self.prepare!
         
     | 
| 
       12 
     | 
    
         
            -
                 
     | 
| 
      
 13 
     | 
    
         
            +
                @config ||= {}
         
     | 
| 
      
 14 
     | 
    
         
            +
                if File.exists? File.expand_path("~/.sshelper.json") then
         
     | 
| 
      
 15 
     | 
    
         
            +
                  begin 
         
     | 
| 
      
 16 
     | 
    
         
            +
                    @config.merge! JSON.parse IO.read(File.expand_path("~/.sshelper.json"))
         
     | 
| 
      
 17 
     | 
    
         
            +
                  rescue
         
     | 
| 
      
 18 
     | 
    
         
            +
                    puts "An error occurred while parsing your JSON configuration."
         
     | 
| 
      
 19 
     | 
    
         
            +
                  end
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
                
         
     | 
| 
      
 22 
     | 
    
         
            +
                if File.exists? File.expand_path("~/.sshelper.yml") then
         
     | 
| 
      
 23 
     | 
    
         
            +
                  begin 
         
     | 
| 
      
 24 
     | 
    
         
            +
                    @config.merge! YAML.load_file File.expand_path("~/.sshelper.yml")
         
     | 
| 
      
 25 
     | 
    
         
            +
                  rescue
         
     | 
| 
      
 26 
     | 
    
         
            +
                    puts "An error occurred while parsing your yaml configuration."
         
     | 
| 
      
 27 
     | 
    
         
            +
                  end
         
     | 
| 
      
 28 
     | 
    
         
            +
                end
         
     | 
| 
       13 
29 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
                 
     | 
| 
       15 
     | 
    
         
            -
                   
     | 
| 
       16 
     | 
    
         
            -
                rescue
         
     | 
| 
       17 
     | 
    
         
            -
                  puts "An error occurred while parsing your configuration file."
         
     | 
| 
      
 30 
     | 
    
         
            +
                if @config.empty? then
         
     | 
| 
      
 31 
     | 
    
         
            +
                  puts "Your configuration is empty, make sure you have a ~/.sshelper.json and/or a ~/.sshelper.yml config file"
         
     | 
| 
       18 
32 
     | 
    
         
             
                end
         
     | 
| 
       19 
33 
     | 
    
         
             
              end
         
     | 
| 
       20 
34 
     | 
    
         | 
| 
         @@ -22,17 +36,17 @@ module Sshelper 
     | 
|
| 
       22 
36 
     | 
    
         
             
                return if label.nil?
         
     | 
| 
       23 
37 
     | 
    
         
             
                labels = @config.map { |key, value| key }
         
     | 
| 
       24 
38 
     | 
    
         
             
                if not labels.include? label then
         
     | 
| 
       25 
     | 
    
         
            -
                  puts "Could not find that label."
         
     | 
| 
      
 39 
     | 
    
         
            +
                  puts "Could not find that label.".yellow
         
     | 
| 
       26 
40 
     | 
    
         
             
                  return
         
     | 
| 
       27 
41 
     | 
    
         
             
                end
         
     | 
| 
       28 
42 
     | 
    
         | 
| 
       29 
43 
     | 
    
         
             
                if not @config[label].include? "servers" or not @config[label].include? "commands" then
         
     | 
| 
       30 
     | 
    
         
            -
                  puts "The configuration file does not contain a 'servers' array or a 'commands' array"
         
     | 
| 
      
 44 
     | 
    
         
            +
                  puts "The configuration file does not contain a 'servers' array or a 'commands' array".yellow
         
     | 
| 
       31 
45 
     | 
    
         
             
                  return
         
     | 
| 
       32 
46 
     | 
    
         
             
                end
         
     | 
| 
       33 
47 
     | 
    
         | 
| 
       34 
48 
     | 
    
         
             
                if not @config[label].servers.is_a? Array or not @config[label].commands.is_a? Array then
         
     | 
| 
       35 
     | 
    
         
            -
                  puts "The servers and commands block need to be arrays."
         
     | 
| 
      
 49 
     | 
    
         
            +
                  puts "The servers and commands block need to be arrays.".yellow
         
     | 
| 
       36 
50 
     | 
    
         
             
                  return
         
     | 
| 
       37 
51 
     | 
    
         
             
                end
         
     | 
| 
       38 
52 
     | 
    
         | 
| 
         @@ -45,7 +59,7 @@ module Sshelper 
     | 
|
| 
       45 
59 
     | 
    
         
             
                  @config[label].commands.each do |command|
         
     | 
| 
       46 
60 
     | 
    
         
             
                    puts "\nExecuting: #{command}".red
         
     | 
| 
       47 
61 
     | 
    
         
             
                    puts '#### OUTPUT ####'.blue
         
     | 
| 
       48 
     | 
    
         
            -
                    if command.start_with? "cd" then
         
     | 
| 
      
 62 
     | 
    
         
            +
                    if command.start_with? "cd " then
         
     | 
| 
       49 
63 
     | 
    
         
             
                      rbox.cd command.split(' ', 2).last
         
     | 
| 
       50 
64 
     | 
    
         
             
                    else
         
     | 
| 
       51 
65 
     | 
    
         
             
                      puts "#{rbox.execute(command).stdout.map{ |k| "~> #{k}" }.join("\n") }"
         
     | 
    
        data/lib/sshelper/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: sshelper
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.2
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2013- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2013-08-02 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -96,6 +96,7 @@ files: 
     | 
|
| 
       96 
96 
     | 
    
         
             
            - lib/sshelper/string.rb
         
     | 
| 
       97 
97 
     | 
    
         
             
            - lib/sshelper/version.rb
         
     | 
| 
       98 
98 
     | 
    
         
             
            - resources/template.json
         
     | 
| 
      
 99 
     | 
    
         
            +
            - resources/template.yml
         
     | 
| 
       99 
100 
     | 
    
         
             
            - spec/spec_helper.rb
         
     | 
| 
       100 
101 
     | 
    
         
             
            - spec/sshelper_spec.rb
         
     | 
| 
       101 
102 
     | 
    
         
             
            - sshelper.gemspec
         
     |