dokku-installer-cli 0.0.2 → 0.0.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: 65a83d6493fffaef67b6402f60ac3969bb7b9003
4
- data.tar.gz: f3ebdfea751e8537e3ecf15a631f92a269121817
3
+ metadata.gz: f8c9b3e47ef0682a395814ffc17e00f5f424eeb1
4
+ data.tar.gz: afb39376e3eb7fbb78652257cc1b934c9421d468
5
5
  SHA512:
6
- metadata.gz: 879545f43c552a1f0efe571822a0468aa6b72b9d356982154ee08e66a0e1ba8d5769690268a37cf05edfbcd5736878815a8c6d9459275275f3c59879a2dadf12
7
- data.tar.gz: 0eda2f802ee10297c3f507d186ec8d834f99b394317eb5ff25457aff0ba38a26f2dae3d64fca7348154d86e68c3da5cdf1168318abc79452368d192eb911e382
6
+ metadata.gz: a69972a662e9aeccd4cefdaa475d8df4aca6c886197b9ef8f29d046f2cbdb6f4d8b7b7f7301ce7a4297aa11791b8b5702aa0b60c182118aa530c591455275a92
7
+ data.tar.gz: b85b02d1658e17ae803602cc7ca3c38f51c9b18f26f63c95c3e06d2cb5243a4230c96d005db76ba899fa69fb6d03a95c517843268cfc29d5704916ffd4ca37cd
data/Gemfile.lock CHANGED
@@ -1,44 +1,16 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dokku-installer-cli (0.0.1)
5
- methadone (~> 1.8.0)
4
+ dokku-installer-cli (0.0.3)
5
+ thor (~> 0.19)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- aruba (0.6.1)
11
- childprocess (>= 0.3.6)
12
- cucumber (>= 1.1.1)
13
- rspec-expectations (>= 2.7.0)
14
- builder (3.2.2)
15
- childprocess (0.5.5)
16
- ffi (~> 1.0, >= 1.0.11)
17
- cucumber (1.3.17)
18
- builder (>= 2.1.2)
19
- diff-lcs (>= 1.1.3)
20
- gherkin (~> 2.12)
21
- multi_json (>= 1.7.5, < 2.0)
22
- multi_test (>= 0.1.1)
23
- diff-lcs (1.2.5)
24
- ffi (1.9.6)
25
- gherkin (2.12.2)
26
- multi_json (~> 1.3)
27
- methadone (1.8.0)
28
- bundler
29
- multi_json (1.10.1)
30
- multi_test (0.1.1)
31
- rake (10.3.2)
32
- rspec-expectations (3.1.2)
33
- diff-lcs (>= 1.2.0, < 2.0)
34
- rspec-support (~> 3.1.0)
35
- rspec-support (3.1.2)
10
+ thor (0.19.1)
36
11
 
37
12
  PLATFORMS
38
13
  ruby
39
14
 
40
15
  DEPENDENCIES
41
- aruba (~> 0.6)
42
- bundler (~> 1.7)
43
16
  dokku-installer-cli!
44
- rake (~> 10.0)
@@ -1,4 +1,4 @@
1
- Name: dokku_installer_cli
1
+ Name: dokku-installer-cli
2
2
  Copyright (c) 2014 Brian Pattison
3
3
 
4
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:
data/README.md CHANGED
@@ -1,26 +1,32 @@
1
- # DokkuInstallerCli
1
+ # Dokku Installer CLI
2
2
 
3
- TODO: Write a gem description
3
+ Command line tool for Dokku Installer.
4
4
 
5
5
  ## Installation
6
6
 
7
7
  Add this line to your application's Gemfile:
8
8
 
9
- ```ruby
10
- gem 'dokku_installer_cli'
9
+ ```bash
10
+ $ gem install dokku-installer-cli
11
11
  ```
12
12
 
13
- And then execute:
14
-
15
- $ bundle
16
-
17
- Or install it yourself as:
18
-
19
- $ gem install dokku_installer_cli
20
-
21
13
  ## Usage
22
14
 
23
- TODO: Write usage instructions here
15
+ ```bash
16
+ $ dokku help
17
+
18
+ Commands:
19
+ dokku config # Display the app's environment variables
20
+ dokku config:get KEY # Display an environment variable value
21
+ dokku config:set KEY1=VALUE1 [KEY2=VALUE2 ...] # Set one or more environment variables
22
+ dokku config:unset KEY1 [KEY2 ...] # Unset one or more environment variables
23
+ dokku domains # Display the app's domains
24
+ dokku domains:set DOMAIN1 [DOMAIN2 ...] # Set one or more domains
25
+ dokku help [COMMAND] # Describe available commands or one specific command
26
+ dokku logs [-t] # Show the last logs for the application (-t follows)
27
+ dokku run <cmd> # Run a command in the environment of an application
28
+ dokku version # Print dokku-installer-cli's version
29
+ ```
24
30
 
25
31
  ## Contributing
26
32
 
data/bin/dokku CHANGED
@@ -1,76 +1,105 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "optparse"
4
- require "methadone"
5
- require "dokku_installer_cli.rb"
6
-
7
- class App
8
- include Methadone::Main
9
- include Methadone::CLILogging
10
-
11
- main do |command, *args|
12
- git_config = File.join(Dir.pwd, ".git", "config")
13
- exit unless File.exist?(git_config)
14
-
15
- git_config = File.read(git_config)
16
- match = git_config.match(/url \= dokku@(.*):(.*)\n/).to_a
17
- exit unless match
18
-
19
- domain = match[1]
20
- app_name = match[2]
21
-
22
- dokku_command = "ssh -t dokku@#{domain} "
23
-
24
- case command
25
- when "config"
26
- dokku_command += "config #{app_name}"
27
- when "config:get"
28
- dokku_command += "config:get #{app_name} #{args.first}"
29
- when "config:set"
30
- dokku_command += "config:set #{app_name} #{args.join(' ')}"
31
- when "config:unset"
32
- dokku_command += "config:unset #{app_name} #{args.join(' ')}"
33
- when "create"
34
- dokku_command += "create #{args.first}"
35
- when "domains"
36
- dokku_command += "domains #{app_name}"
37
- when "domains:set"
38
- dokku_command += "domains:set #{app_name} #{args.join(' ')}"
39
- when "logs"
40
- dokku_command += "logs #{app_name} #{args.join(' ')}"
41
- when "run"
42
- command = args.join(" ")
43
- dokku_command += "run #{app_name} #{command}"
44
- else
45
- exit
3
+ require "thor"
4
+
5
+ module DokkuInstaller
6
+ class Cli < Thor
7
+
8
+ desc "config", "Display the app's environment variables"
9
+ def config
10
+ run_command "config #{app_name}"
46
11
  end
47
12
 
48
- puts "Running #{dokku_command}..."
49
- exec(dokku_command)
50
- end
13
+ desc "config:get KEY", "Display an environment variable value"
14
+ def config_get(*args)
15
+ run_command "config:get #{app_name} #{args.first}"
16
+ end
17
+
18
+ desc "config:set KEY1=VALUE1 [KEY2=VALUE2 ...]", "Set one or more environment variables"
19
+ def config_set(*args)
20
+ run_command "config:set #{app_name} #{args.join(' ')}"
21
+ end
22
+
23
+ desc "config:unset KEY1 [KEY2 ...]", "Unset one or more environment variables"
24
+ def config_unset(*args)
25
+ run_command "config:unset #{app_name} #{args.join(' ')}"
26
+ end
27
+
28
+ # desc "create", "Create an app"
29
+ # def create(*args)
30
+ # run_command "create #{args.first}"
31
+ # end
32
+
33
+ desc "domains", "Display the app's domains"
34
+ def domains(*args)
35
+ run_command "domains #{app_name}"
36
+ end
37
+
38
+ desc "domains:set DOMAIN1 [DOMAIN2 ...]", "Set one or more domains"
39
+ def domains_set(*args)
40
+ run_command "domains:set #{app_name} #{args.join(' ')}"
41
+ end
42
+
43
+ desc "logs [-t]", "Show the last logs for the application (-t follows)"
44
+ def logs(*args)
45
+ run_command "logs #{app_name} #{args.join(' ')}"
46
+ end
47
+
48
+ desc "run <cmd>", "Run a command in the environment of an application"
49
+ def walk(*args)
50
+ run_command "run #{app_name} #{args.join(' ')}"
51
+ end
52
+
53
+ desc "version", "Print dokku-installer-cli's version"
54
+ def version
55
+ puts "Dokku Installer CLI #{DokkuInstaller::VERSION}"
56
+ end
57
+
58
+ def help(method = nil)
59
+ method = "walk" if method == "run"
60
+ super
61
+ end
62
+
63
+ def method_missing(method, *args, &block)
64
+ if method.to_s.split(":").length == 2
65
+ self.send(method.to_s.gsub(":", "_"), *args)
66
+ elsif method == :run
67
+ self.walk(*args)
68
+ else
69
+ super
70
+ end
71
+ end
72
+
73
+ private
74
+
75
+ def app_name
76
+ @app_name ||= git_config_match[2]
77
+ end
78
+
79
+ def domain
80
+ @domain ||= git_config_match[1]
81
+ end
82
+
83
+ def git_config_match
84
+ @git_config_match ||= begin
85
+ git_config = File.join(Dir.pwd, ".git", "config")
86
+ exit unless File.exist?(git_config)
87
+
88
+ git_config = File.read(git_config)
89
+ match = git_config.match(/url \= dokku@(.*):(.*)\n/).to_a
90
+ exit unless match
91
+
92
+ match
93
+ end
94
+ end
51
95
 
52
- description "Command line tool for Dokku Installer"
53
-
54
- arg :command
55
- #
56
- # Accept flags via:
57
- # on("--flag VAL","Some flag")
58
- # options[flag] will contain VAL
59
- #
60
- # Specify switches via:
61
- # on("--[no-]switch","Some switch")
62
- #
63
- # Or, just call OptionParser methods on opts
64
- #
65
- # Require an argument
66
- # arg :some_arg
67
- #
68
- # # Make an argument optional
69
- # arg :optional_arg, :optional
70
-
71
- version DokkuInstallerCli::VERSION
72
-
73
- use_log_level_option :toggle_debug_on_signal => "USR1"
74
-
75
- go!
96
+ def run_command(command)
97
+ dokku_command = "ssh -t dokku@#{domain} #{command}"
98
+
99
+ puts "Running #{dokku_command}..."
100
+ exec(dokku_command)
101
+ end
102
+ end
76
103
  end
104
+
105
+ DokkuInstaller::Cli.start(ARGV)
@@ -1,11 +1,11 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path("../lib", __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "dokku_installer_cli/version"
4
+ require "dokku_installer/version"
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "dokku-installer-cli"
8
- spec.version = DokkuInstallerCli::VERSION
8
+ spec.version = DokkuInstaller::VERSION
9
9
  spec.authors = ["Brian Pattison"]
10
10
  spec.email = ["brian@brianpattison.com"]
11
11
  spec.summary = %q{Command line tool for Dokku Installer}
@@ -14,12 +14,7 @@ Gem::Specification.new do |spec|
14
14
 
15
15
  spec.files = `git ls-files -z`.split("\x0")
16
16
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
17
  spec.require_paths = ["lib"]
19
18
 
20
- spec.add_dependency "methadone", "~> 1.8.0"
21
-
22
- spec.add_development_dependency "bundler", "~> 1.7"
23
- spec.add_development_dependency "rake", "~> 10.0"
24
- spec.add_development_dependency "aruba", "~> 0.6"
19
+ spec.add_dependency "thor", "~> 0.19"
25
20
  end
File without changes
@@ -0,0 +1,3 @@
1
+ module DokkuInstaller
2
+ VERSION = "0.0.3"
3
+ end
metadata CHANGED
@@ -1,71 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dokku-installer-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Pattison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-11 00:00:00.000000000 Z
11
+ date: 2014-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: methadone
14
+ name: thor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.8.0
19
+ version: '0.19'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.8.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.7'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '1.7'
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: aruba
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '0.6'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '0.6'
26
+ version: '0.19'
69
27
  description:
70
28
  email:
71
29
  - brian@brianpattison.com
@@ -77,18 +35,12 @@ files:
77
35
  - ".gitignore"
78
36
  - Gemfile
79
37
  - Gemfile.lock
80
- - LICENSE.txt
38
+ - LICENSE
81
39
  - README.md
82
- - README.rdoc
83
- - Rakefile
84
40
  - bin/dokku
85
41
  - dokku_installer_cli.gemspec
86
- - features/dokku_installer_cli.feature
87
- - features/step_definitions/dokku_installer_cli_steps.rb
88
- - features/support/env.rb
89
- - lib/dokku_installer_cli.rb
90
- - lib/dokku_installer_cli/version.rb
91
- - test/tc_something.rb
42
+ - lib/dokku_installer.rb
43
+ - lib/dokku_installer/version.rb
92
44
  homepage: https://github.com/brianpattison/dokku-installer-cli
93
45
  licenses:
94
46
  - MIT
@@ -113,8 +65,4 @@ rubygems_version: 2.2.2
113
65
  signing_key:
114
66
  specification_version: 4
115
67
  summary: Command line tool for Dokku Installer
116
- test_files:
117
- - features/dokku_installer_cli.feature
118
- - features/step_definitions/dokku_installer_cli_steps.rb
119
- - features/support/env.rb
120
- - test/tc_something.rb
68
+ test_files: []
data/README.rdoc DELETED
@@ -1,23 +0,0 @@
1
- = dokku_installer_cli - DESCRIBE YOUR GEM
2
-
3
- Author:: YOUR NAME (YOUR EMAIL)
4
- Copyright:: Copyright (c) 2014 YOUR NAME
5
-
6
-
7
- License:: mit, see LICENSE.txt
8
-
9
-
10
-
11
- DESCRIBE YOUR GEM HERE
12
-
13
- == Links
14
-
15
- * {Source on Github}[LINK TO GITHUB]
16
- * RDoc[LINK TO RDOC.INFO]
17
-
18
- == Install
19
-
20
- == Examples
21
-
22
- == Contributing
23
-
data/Rakefile DELETED
@@ -1,61 +0,0 @@
1
- def dump_load_path
2
- puts $LOAD_PATH.join("\n")
3
- found = nil
4
- $LOAD_PATH.each do |path|
5
- if File.exists?(File.join(path,"rspec"))
6
- puts "Found rspec in #{path}"
7
- if File.exists?(File.join(path,"rspec","core"))
8
- puts "Found core"
9
- if File.exists?(File.join(path,"rspec","core","rake_task"))
10
- puts "Found rake_task"
11
- found = path
12
- else
13
- puts "!! no rake_task"
14
- end
15
- else
16
- puts "!!! no core"
17
- end
18
- end
19
- end
20
- if found.nil?
21
- puts "Didn't find rspec/core/rake_task anywhere"
22
- else
23
- puts "Found in #{path}"
24
- end
25
- end
26
- require 'bundler'
27
- require 'rake/clean'
28
-
29
- require 'rake/testtask'
30
-
31
- require 'cucumber'
32
- require 'cucumber/rake/task'
33
- gem 'rdoc' # we need the installed RDoc gem, not the system one
34
- require 'rdoc/task'
35
-
36
- include Rake::DSL
37
-
38
- Bundler::GemHelper.install_tasks
39
-
40
-
41
- Rake::TestTask.new do |t|
42
- t.pattern = 'test/tc_*.rb'
43
- end
44
-
45
-
46
- CUKE_RESULTS = 'results.html'
47
- CLEAN << CUKE_RESULTS
48
- Cucumber::Rake::Task.new(:features) do |t|
49
- t.cucumber_opts = "features --format html -o #{CUKE_RESULTS} --format pretty --no-source -x"
50
- t.fork = false
51
- end
52
-
53
- Rake::RDocTask.new do |rd|
54
-
55
- rd.main = "README.rdoc"
56
-
57
- rd.rdoc_files.include("README.rdoc","lib/**/*.rb","bin/**/*")
58
- end
59
-
60
- task :default => [:test,:features]
61
-
@@ -1,13 +0,0 @@
1
- Feature: My bootstrapped app kinda works
2
- In order to get going on coding my awesome app
3
- I want to have aruba and cucumber setup
4
- So I don't have to do it myself
5
-
6
- Scenario: App just runs
7
- When I get help for "dokku_installer_cli"
8
- Then the exit status should be 0
9
- And the banner should be present
10
- And the banner should document that this app takes options
11
- And the following options should be documented:
12
- |--version|
13
- And the banner should document that this app takes no arguments
@@ -1 +0,0 @@
1
- # Put your step definitions here
@@ -1,16 +0,0 @@
1
- require 'aruba/cucumber'
2
- require 'methadone/cucumber'
3
-
4
- ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
5
- LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','..','lib')
6
-
7
- Before do
8
- # Using "announce" causes massive warnings on 1.9.2
9
- @puts = true
10
- @original_rubylib = ENV['RUBYLIB']
11
- ENV['RUBYLIB'] = LIB_DIR + File::PATH_SEPARATOR + ENV['RUBYLIB'].to_s
12
- end
13
-
14
- After do
15
- ENV['RUBYLIB'] = @original_rubylib
16
- end
@@ -1,5 +0,0 @@
1
- require "dokku_installer_cli/version"
2
-
3
- module DokkuInstallerCli
4
- # Your code goes here...
5
- end
@@ -1,3 +0,0 @@
1
- module DokkuInstallerCli
2
- VERSION = "0.0.2"
3
- end
data/test/tc_something.rb DELETED
@@ -1,7 +0,0 @@
1
- require 'test/unit'
2
-
3
- class TestSomething < Test::Unit::TestCase
4
- def test_truth
5
- assert true
6
- end
7
- end