turbot 0.1.36 → 0.2.3
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 +4 -4
- data/.gitignore +8 -0
- data/.rspec +3 -0
- data/.travis.yml +15 -0
- data/.yardopts +3 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +44 -25
- data/Rakefile +16 -0
- data/appveyor.yml +35 -0
- data/bin/turbot +2 -16
- data/data/schema.json +134 -0
- data/{templates → data/templates}/LICENSE.txt +0 -0
- data/{templates → data/templates}/manifest.json +0 -0
- data/{templates → data/templates}/python/scraper.py +0 -0
- data/{templates → data/templates}/ruby/scraper.rb +0 -0
- data/dist/deb.rake +32 -0
- data/dist/gem.rake +16 -0
- data/dist/manifest.rake +9 -0
- data/dist/pkg.rake +60 -0
- data/dist/resources/deb/control +10 -0
- data/dist/resources/deb/postinst +45 -0
- data/dist/resources/deb/turbot +25 -0
- data/dist/resources/deb/turbot-release-key.txt +30 -0
- data/dist/resources/pkg/Distribution.erb +15 -0
- data/dist/resources/pkg/PackageInfo.erb +6 -0
- data/dist/resources/pkg/postinstall +45 -0
- data/dist/resources/pkg/turbot +24 -0
- data/dist/resources/tgz/turbot +24 -0
- data/dist/rpm.rake +35 -0
- data/dist/tgz.rake +26 -0
- data/dist/zip.rake +40 -0
- data/lib/turbot.rb +18 -15
- data/lib/turbot/cli.rb +10 -27
- data/lib/turbot/command.rb +59 -212
- data/lib/turbot/command/auth.rb +72 -34
- data/lib/turbot/command/base.rb +22 -61
- data/lib/turbot/command/bots.rb +251 -300
- data/lib/turbot/command/help.rb +57 -110
- data/lib/turbot/command/version.rb +6 -10
- data/lib/turbot/handlers/base_handler.rb +21 -0
- data/lib/turbot/handlers/dump_handler.rb +10 -0
- data/lib/turbot/handlers/preview_handler.rb +30 -0
- data/lib/turbot/handlers/validation_handler.rb +17 -0
- data/lib/turbot/helpers.rb +14 -482
- data/lib/turbot/helpers/api_helper.rb +41 -0
- data/lib/turbot/helpers/netrc_helper.rb +66 -0
- data/lib/turbot/helpers/shell_helper.rb +36 -0
- data/lib/turbot/version.rb +1 -1
- data/spec/fixtures/bad_permissions +0 -0
- data/spec/fixtures/empty +0 -0
- data/spec/fixtures/netrc +6 -0
- data/spec/spec_helper.rb +17 -219
- data/spec/support/bot_helper.rb +102 -0
- data/spec/support/command_helper.rb +20 -0
- data/spec/support/custom_matchers.rb +5 -0
- data/spec/support/fixture_helper.rb +9 -0
- data/spec/support/netrc_helper.rb +21 -0
- data/spec/turbot/command/auth_spec.rb +202 -20
- data/spec/turbot/command/base_spec.rb +22 -58
- data/spec/turbot/command/bots_spec.rb +580 -89
- data/spec/turbot/command/help_spec.rb +32 -75
- data/spec/turbot/command/version_spec.rb +11 -10
- data/spec/turbot/command_spec.rb +55 -87
- data/spec/turbot/helpers_spec.rb +28 -44
- data/turbot.gemspec +31 -0
- metadata +88 -178
- data/data/cacert.pem +0 -3988
- data/lib/turbot/auth.rb +0 -315
- data/lib/turbot/client.rb +0 -757
- data/lib/turbot/client/cisaurus.rb +0 -25
- data/lib/turbot/client/pgbackups.rb +0 -113
- data/lib/turbot/client/rendezvous.rb +0 -111
- data/lib/turbot/client/ssl_endpoint.rb +0 -25
- data/lib/turbot/client/turbot_postgresql.rb +0 -148
- data/lib/turbot/command/ssl.rb +0 -43
- data/lib/turbot/deprecated.rb +0 -5
- data/lib/turbot/deprecated/help.rb +0 -38
- data/lib/turbot/distribution.rb +0 -9
- data/lib/turbot/errors.rb +0 -28
- data/lib/turbot/excon.rb +0 -11
- data/lib/turbot/helpers/log_displayer.rb +0 -70
- data/lib/turbot/helpers/pg_dump_restore.rb +0 -115
- data/lib/turbot/helpers/turbot_postgresql.rb +0 -213
- data/lib/turbot/plugin.rb +0 -165
- data/lib/turbot/updater.rb +0 -171
- data/lib/vendor/turbot/okjson.rb +0 -598
- data/spec/helper/legacy_help.rb +0 -16
- data/spec/helper/pg_dump_restore_spec.rb +0 -67
- data/spec/spec.opts +0 -1
- data/spec/support/display_message_matcher.rb +0 -49
- data/spec/support/dummy_api.rb +0 -120
- data/spec/support/openssl_mock_helper.rb +0 -8
- data/spec/support/organizations_mock_helper.rb +0 -11
- data/spec/turbot/auth_spec.rb +0 -214
- data/spec/turbot/client/pgbackups_spec.rb +0 -43
- data/spec/turbot/client/rendezvous_spec.rb +0 -62
- data/spec/turbot/client/ssl_endpoint_spec.rb +0 -48
- data/spec/turbot/client/turbot_postgresql_spec.rb +0 -71
- data/spec/turbot/client_spec.rb +0 -548
- data/spec/turbot/helpers/turbot_postgresql_spec.rb +0 -181
- data/spec/turbot/plugin_spec.rb +0 -172
- data/spec/turbot/updater_spec.rb +0 -44
@@ -1,90 +1,47 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require "turbot/command/help"
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'turbot/command/help'
|
4
3
|
|
5
4
|
describe Turbot::Command::Help do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
it "should show command help and namespace help when ambigious" do
|
17
|
-
stderr, stdout = execute("help bots")
|
18
|
-
stderr.should == ""
|
19
|
-
stdout.should include "turbot bots"
|
20
|
-
stdout.should include "list your bots"
|
21
|
-
stdout.should include "Additional commands"
|
22
|
-
stdout.should include "bots:info"
|
5
|
+
describe 'help' do
|
6
|
+
it 'shows root help' do
|
7
|
+
%w(help -h --help).each do |command|
|
8
|
+
stderr, stdout = execute(command)
|
9
|
+
expect(stderr).to eq('')
|
10
|
+
expect(stdout).to include('Usage: turbot COMMAND [--bot APP] [command-specific-options]')
|
11
|
+
expect(stdout).to include('auth')
|
12
|
+
expect(stdout).to include('help')
|
13
|
+
end
|
23
14
|
end
|
24
15
|
|
25
|
-
it
|
26
|
-
stderr, stdout = execute(
|
27
|
-
stderr.
|
28
|
-
stdout.
|
29
|
-
stdout.
|
16
|
+
it 'shows command help and namespace help' do
|
17
|
+
stderr, stdout = execute('help bots')
|
18
|
+
expect(stderr).to eq('')
|
19
|
+
expect(stdout).to include('turbot bots')
|
20
|
+
expect(stdout).to include('Additional commands')
|
21
|
+
expect(stdout).to include('bots:info')
|
30
22
|
end
|
31
23
|
|
32
|
-
it
|
33
|
-
stderr, stdout = execute(
|
34
|
-
stderr.
|
35
|
-
stdout.
|
36
|
-
stdout.
|
24
|
+
it 'shows command help' do
|
25
|
+
stderr, stdout = execute('help bots:info')
|
26
|
+
expect(stderr).to eq('')
|
27
|
+
expect(stdout).to include('turbot bots:info')
|
28
|
+
expect(stdout).not_to include('Additional commands')
|
37
29
|
end
|
38
30
|
|
39
|
-
it
|
40
|
-
stderr, stdout = execute(
|
41
|
-
stderr.
|
42
|
-
stdout.
|
43
|
-
stdout.
|
44
|
-
stdout.
|
31
|
+
it 'shows aliased command help' do
|
32
|
+
stderr, stdout = execute('help info')
|
33
|
+
expect(stderr).to eq('')
|
34
|
+
expect(stdout).to include('Alias: info redirects to bots:info')
|
35
|
+
expect(stdout).to include('turbot bots:info')
|
36
|
+
expect(stdout).not_to include('Additional commands')
|
45
37
|
end
|
46
38
|
|
47
|
-
it
|
48
|
-
stderr, stdout = execute(
|
49
|
-
|
39
|
+
it 'displays an error message if the command does not exist' do
|
40
|
+
stderr, stdout = execute('help sudo:sandwich')
|
41
|
+
expect(stdout).to eq('')
|
42
|
+
expect(stderr).to eq <<-STDERR
|
50
43
|
! sudo:sandwich is not a turbot command. See `turbot help`.
|
51
44
|
STDERR
|
52
|
-
stdout.should == ""
|
53
|
-
end
|
54
|
-
|
55
|
-
it "should show help with naked -h" do
|
56
|
-
stderr, stdout = execute("-h")
|
57
|
-
stderr.should == ""
|
58
|
-
stdout.should include "Usage: turbot COMMAND"
|
59
|
-
end
|
60
|
-
|
61
|
-
it "should show help with naked --help" do
|
62
|
-
stderr, stdout = execute("--help")
|
63
|
-
stderr.should == ""
|
64
|
-
stdout.should include "Usage: turbot COMMAND"
|
65
|
-
end
|
66
|
-
|
67
|
-
describe "with legacy help" do
|
68
|
-
require "helper/legacy_help"
|
69
|
-
|
70
|
-
it "displays the legacy group in the namespace list" do
|
71
|
-
stderr, stdout = execute("help")
|
72
|
-
stderr.should == ""
|
73
|
-
stdout.should include "Foo Group"
|
74
|
-
end
|
75
|
-
|
76
|
-
it "displays group help" do
|
77
|
-
stderr, stdout = execute("help foo")
|
78
|
-
stderr.should == ""
|
79
|
-
stdout.should include "do a bar to foo"
|
80
|
-
stdout.should include "do a baz to foo"
|
81
|
-
end
|
82
|
-
|
83
|
-
it "displays legacy command-specific help" do
|
84
|
-
stderr, stdout = execute("help foo:bar")
|
85
|
-
stderr.should == ""
|
86
|
-
stdout.should include "do a bar to foo"
|
87
|
-
end
|
88
45
|
end
|
89
46
|
end
|
90
47
|
end
|
@@ -1,16 +1,17 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'turbot/command/version'
|
3
3
|
|
4
|
-
|
5
|
-
describe
|
4
|
+
describe Turbot::Command::Version do
|
5
|
+
describe 'version' do
|
6
|
+
it 'shows the version' do
|
7
|
+
%w(version --version).each do |command|
|
8
|
+
stderr, stdout = execute(command)
|
6
9
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
stdout.should == <<-STDOUT
|
11
|
-
#{Turbot.user_agent}
|
10
|
+
expect(stderr).to eq('')
|
11
|
+
expect(stdout).to eq <<-STDOUT
|
12
|
+
#{Turbot::DEBUG_VERSION}
|
12
13
|
STDOUT
|
14
|
+
end
|
13
15
|
end
|
14
|
-
|
15
16
|
end
|
16
17
|
end
|
data/spec/turbot/command_spec.rb
CHANGED
@@ -1,9 +1,6 @@
|
|
1
|
-
require
|
2
|
-
require "turbot/command"
|
3
|
-
require 'json' #FOR WEBMOCK
|
1
|
+
require 'spec_helper'
|
4
2
|
|
5
3
|
class FakeResponse
|
6
|
-
|
7
4
|
attr_accessor :body, :headers
|
8
5
|
|
9
6
|
def initialize(attributes)
|
@@ -13,118 +10,89 @@ class FakeResponse
|
|
13
10
|
def to_s
|
14
11
|
body
|
15
12
|
end
|
16
|
-
|
17
13
|
end
|
18
14
|
|
19
15
|
describe Turbot::Command do
|
20
|
-
before
|
16
|
+
before do
|
21
17
|
Turbot::Command.load
|
22
|
-
|
23
|
-
}
|
18
|
+
end
|
24
19
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
20
|
+
it 'shows command help if parse error on command option' do
|
21
|
+
stderr, stdout = execute('bots:generate -l')
|
22
|
+
expect(stderr).to eq('')
|
23
|
+
expect(stdout).to include('turbot bots:generate')
|
24
|
+
expect(stdout).not_to include('Additional commands')
|
25
|
+
end
|
29
26
|
|
30
|
-
|
31
|
-
|
32
|
-
|
27
|
+
it 'shows command help if one invalid argument' do
|
28
|
+
stderr, stdout = execute('version foo')
|
29
|
+
expect(stdout).to include('turbot version')
|
30
|
+
expect(stdout).not_to include('Additional commands')
|
31
|
+
expect(stderr).to eq <<-STDERR
|
32
|
+
! Invalid argument: "foo"
|
33
|
+
STDERR
|
34
|
+
end
|
33
35
|
|
34
|
-
|
35
|
-
|
36
|
-
|
36
|
+
it 'shows command help if many invalid arguments' do
|
37
|
+
stderr, stdout = execute('version foo bar baz')
|
38
|
+
expect(stdout).to include('turbot version')
|
39
|
+
expect(stdout).not_to include('Additional commands')
|
40
|
+
expect(stderr).to eq <<-STDERR
|
41
|
+
! Invalid arguments: "foo", "bar" and "baz"
|
42
|
+
STDERR
|
43
|
+
end
|
44
|
+
|
45
|
+
describe 'parsing errors' do
|
46
|
+
it 'extracts error messages from response when available in JSON' do
|
47
|
+
expect(Turbot::Command.extract_error('{"message":"Invalid bot name"}')).to eq('Invalid bot name')
|
37
48
|
end
|
38
49
|
|
39
50
|
it "shows Internal Server Error when the response doesn't contain a XML or JSON" do
|
40
|
-
Turbot::Command.extract_error('<h1>HTTP 500</h1>').
|
51
|
+
expect(Turbot::Command.extract_error('<h1>HTTP 500</h1>')).to eq('Internal server error')
|
41
52
|
end
|
42
53
|
|
43
|
-
it
|
44
|
-
response = FakeResponse.new(:body =>
|
45
|
-
Turbot::Command.extract_error(response).
|
54
|
+
it 'shows Internal Server Error when the response is not plain text' do
|
55
|
+
response = FakeResponse.new(:body => 'Foobar', :headers => { :content_type => 'application/xml' })
|
56
|
+
expect(Turbot::Command.extract_error(response)).to eq('Internal server error')
|
46
57
|
end
|
47
58
|
|
48
|
-
it
|
49
|
-
Turbot::Command.extract_error(
|
59
|
+
it 'allows a block to redefine the default error' do
|
60
|
+
expect(Turbot::Command.extract_error('Foobar') { 'Ok!' }).to eq('Ok!')
|
50
61
|
end
|
51
62
|
|
52
63
|
it "doesn't format the response if set to raw" do
|
53
|
-
Turbot::Command.extract_error(
|
54
|
-
end
|
55
|
-
|
56
|
-
it "handles a nil body in parse_error_xml" do
|
57
|
-
lambda { Turbot::Command.parse_error_xml(nil) }.should_not raise_error
|
58
|
-
end
|
59
|
-
|
60
|
-
it "handles a nil body in parse_error_json" do
|
61
|
-
lambda { Turbot::Command.parse_error_json(nil) }.should_not raise_error
|
64
|
+
expect(Turbot::Command.extract_error('Foobar', :raw => true) { 'Ok!' }).to eq('Ok!')
|
62
65
|
end
|
63
66
|
end
|
64
67
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
require "turbot/command/help"
|
70
|
-
require "turbot/command/bots"
|
71
|
-
|
72
|
-
Turbot::Command.parse("unknown").should be_nil
|
73
|
-
Turbot::Command.parse("list").should include(:klass => Turbot::Command::Bots, :method => :index)
|
74
|
-
Turbot::Command.parse("bots").should include(:klass => Turbot::Command::Bots, :method => :index)
|
75
|
-
Turbot::Command.parse("bots:info").should include(:klass => Turbot::Command::Bots, :method => :info)
|
76
|
-
end
|
77
|
-
|
78
|
-
context "help" do
|
79
|
-
it "works as a prefix" do
|
80
|
-
turbot("help bots:info").should =~ /show detailed bot information/
|
81
|
-
end
|
82
|
-
|
83
|
-
it "works as an option" do
|
84
|
-
turbot("bots:info -h").should =~ /show detailed bot information/
|
85
|
-
turbot("bots:info --help").should =~ /show detailed bot information/
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
context "when no commands match" do
|
90
|
-
|
91
|
-
it "displays the version if --version is used" do
|
92
|
-
turbot("--version").should == <<-STDOUT
|
93
|
-
#{Turbot.user_agent}
|
94
|
-
STDOUT
|
95
|
-
end
|
96
|
-
|
97
|
-
it "suggests similar commands if there are any" do
|
98
|
-
original_stderr, original_stdout = $stderr, $stdout
|
99
|
-
$stderr = captured_stderr = StringIO.new
|
100
|
-
$stdout = captured_stdout = StringIO.new
|
101
|
-
begin
|
102
|
-
execute("bot")
|
103
|
-
rescue SystemExit
|
104
|
-
end
|
105
|
-
captured_stderr.string.should == <<-STDERR
|
68
|
+
context 'when no commands match' do
|
69
|
+
it 'suggests one command' do
|
70
|
+
stderr, stdout = execute('bot')
|
71
|
+
expect(stderr).to eq <<-STDERR
|
106
72
|
! `bot` is not a turbot command.
|
107
73
|
! Perhaps you meant `bots`.
|
108
74
|
! See `turbot help` for a list of available commands.
|
109
75
|
STDERR
|
110
|
-
|
111
|
-
|
76
|
+
expect(stdout).to eq('')
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'suggests many commands' do
|
80
|
+
stderr, stdout = execute('hefo')
|
81
|
+
expect(stderr).to eq <<-STDERR
|
82
|
+
! `hefo` is not a turbot command.
|
83
|
+
! Perhaps you meant `help` or `info`.
|
84
|
+
! See `turbot help` for a list of available commands.
|
85
|
+
STDERR
|
86
|
+
expect(stdout).to eq('')
|
112
87
|
end
|
113
88
|
|
114
|
-
it
|
115
|
-
|
116
|
-
|
117
|
-
$stdout = captured_stdout = StringIO.new
|
118
|
-
begin
|
119
|
-
execute("sandwich")
|
120
|
-
rescue SystemExit
|
121
|
-
end
|
122
|
-
captured_stderr.string.should == <<-STDERR
|
89
|
+
it 'does not suggest similar commands if there are none' do
|
90
|
+
stderr, stdout = execute('sandwich')
|
91
|
+
expect(stderr).to eq <<-STDERR
|
123
92
|
! `sandwich` is not a turbot command.
|
124
93
|
! See `turbot help` for a list of available commands.
|
125
94
|
STDERR
|
126
|
-
|
127
|
-
$stderr, $stdout = original_stderr, original_stdout
|
95
|
+
expect(stdout).to eq('')
|
128
96
|
end
|
129
97
|
|
130
98
|
end
|
data/spec/turbot/helpers_spec.rb
CHANGED
@@ -1,48 +1,32 @@
|
|
1
|
-
require
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Turbot::Helpers do
|
4
|
+
describe '#styled_error' do
|
5
|
+
it 'should display an error' do
|
6
|
+
begin
|
7
|
+
raise 'My message'
|
8
|
+
rescue => e
|
9
|
+
original_stderr, original_stdout = $stderr, $stdout
|
10
|
+
|
11
|
+
$stderr = captured_stderr = StringIO.new
|
12
|
+
$stdout = captured_stdout = StringIO.new
|
13
|
+
|
14
|
+
Turbot::Helpers.styled_error(e)
|
15
|
+
|
16
|
+
$stderr, $stdout = original_stderr, original_stdout
|
17
|
+
|
18
|
+
[
|
19
|
+
' ! Turbot client internal error.',
|
20
|
+
' ! Report a bug at: https://github.com/openc/turbot-client/issues/new',
|
21
|
+
' Error: My message (RuntimeError)',
|
22
|
+
' Backtrace: ',
|
23
|
+
' Command: ',
|
24
|
+
' Version: ',
|
25
|
+
].each do |string|
|
26
|
+
expect(captured_stderr.string).to include(string)
|
27
|
+
end
|
28
|
+
expect(captured_stdout.string).to eq('')
|
18
29
|
end
|
19
|
-
|
20
|
-
it "should display { :header => [] } list correctly" do
|
21
|
-
capture_stdout do
|
22
|
-
display_object({:first_header => [1,2,3], :last_header => [7,8,9]})
|
23
|
-
end.should == <<-OUT
|
24
|
-
=== first_header
|
25
|
-
1
|
26
|
-
2
|
27
|
-
3
|
28
|
-
|
29
|
-
=== last_header
|
30
|
-
7
|
31
|
-
8
|
32
|
-
9
|
33
|
-
|
34
|
-
OUT
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should display String properly" do
|
38
|
-
capture_stdout do
|
39
|
-
display_object('string')
|
40
|
-
end.should == <<-OUT
|
41
|
-
string
|
42
|
-
OUT
|
43
|
-
end
|
44
|
-
|
45
30
|
end
|
46
|
-
|
47
31
|
end
|
48
32
|
end
|
data/turbot.gemspec
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
require File.expand_path('../lib/turbot/version', __FILE__)
|
2
|
+
|
3
|
+
Gem::Specification.new do |gem|
|
4
|
+
gem.name = "turbot"
|
5
|
+
gem.version = Turbot::VERSION
|
6
|
+
|
7
|
+
gem.author = "OpenCorporates"
|
8
|
+
gem.email = "bots@opencorporates.com"
|
9
|
+
gem.homepage = "https://github.com/openc/turbot-client"
|
10
|
+
gem.summary = "Client library and CLI to deploy and manage bots on Turbot"
|
11
|
+
gem.license = "MIT"
|
12
|
+
|
13
|
+
gem.files = `git ls-files`.split("\n")
|
14
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
15
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
16
|
+
gem.require_paths = ["lib"]
|
17
|
+
|
18
|
+
gem.required_ruby_version = '>=1.9.2'
|
19
|
+
|
20
|
+
gem.add_runtime_dependency("netrc", "~> 0.11")
|
21
|
+
gem.add_runtime_dependency("json-schema", "~> 2.6.0")
|
22
|
+
gem.add_runtime_dependency("rubyzip", ">= 1.0.0")
|
23
|
+
gem.add_runtime_dependency("text", "~> 1.3.1")
|
24
|
+
gem.add_runtime_dependency("turbot-api", "~> 0.0.17")
|
25
|
+
gem.add_runtime_dependency("turbot-runner", "~> 0.2.7")
|
26
|
+
|
27
|
+
gem.add_development_dependency("coveralls")
|
28
|
+
gem.add_development_dependency("rake")
|
29
|
+
gem.add_development_dependency("rspec", "~> 3.4")
|
30
|
+
gem.add_development_dependency("webmock")
|
31
|
+
end
|
metadata
CHANGED
@@ -1,71 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: turbot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- OpenCorporates
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: turbotlib
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.0.9
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 0.0.9
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: netrc
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
30
16
|
requirements:
|
31
17
|
- - "~>"
|
32
18
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
19
|
+
version: '0.11'
|
34
20
|
type: :runtime
|
35
21
|
prerelease: false
|
36
22
|
version_requirements: !ruby/object:Gem::Requirement
|
37
23
|
requirements:
|
38
24
|
- - "~>"
|
39
25
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
26
|
+
version: '0.11'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
28
|
+
name: json-schema
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
31
|
- - "~>"
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
33
|
+
version: 2.6.0
|
48
34
|
type: :runtime
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
38
|
- - "~>"
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: launchy
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 0.3.2
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 0.3.2
|
40
|
+
version: 2.6.0
|
69
41
|
- !ruby/object:Gem::Dependency
|
70
42
|
name: rubyzip
|
71
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,33 +53,33 @@ dependencies:
|
|
81
53
|
- !ruby/object:Gem::Version
|
82
54
|
version: 1.0.0
|
83
55
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
56
|
+
name: text
|
85
57
|
requirement: !ruby/object:Gem::Requirement
|
86
58
|
requirements:
|
87
|
-
- -
|
59
|
+
- - "~>"
|
88
60
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
61
|
+
version: 1.3.1
|
90
62
|
type: :runtime
|
91
63
|
prerelease: false
|
92
64
|
version_requirements: !ruby/object:Gem::Requirement
|
93
65
|
requirements:
|
94
|
-
- -
|
66
|
+
- - "~>"
|
95
67
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
68
|
+
version: 1.3.1
|
97
69
|
- !ruby/object:Gem::Dependency
|
98
70
|
name: turbot-api
|
99
71
|
requirement: !ruby/object:Gem::Requirement
|
100
72
|
requirements:
|
101
|
-
- -
|
73
|
+
- - "~>"
|
102
74
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.0.
|
75
|
+
version: 0.0.17
|
104
76
|
type: :runtime
|
105
77
|
prerelease: false
|
106
78
|
version_requirements: !ruby/object:Gem::Requirement
|
107
79
|
requirements:
|
108
|
-
- -
|
80
|
+
- - "~>"
|
109
81
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.0.
|
82
|
+
version: 0.0.17
|
111
83
|
- !ruby/object:Gem::Dependency
|
112
84
|
name: turbot-runner
|
113
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,20 +94,6 @@ dependencies:
|
|
122
94
|
- - "~>"
|
123
95
|
- !ruby/object:Gem::Version
|
124
96
|
version: 0.2.7
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: excon
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
97
|
- !ruby/object:Gem::Dependency
|
140
98
|
name: coveralls
|
141
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,78 +108,8 @@ dependencies:
|
|
150
108
|
- - ">="
|
151
109
|
- !ruby/object:Gem::Version
|
152
110
|
version: '0'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: fakefs
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - ">="
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ">="
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: json
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ">="
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '0'
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
181
111
|
- !ruby/object:Gem::Dependency
|
182
112
|
name: rake
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - ">="
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: 0.8.7
|
188
|
-
type: :development
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - ">="
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: 0.8.7
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: rr
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
198
|
-
requirements:
|
199
|
-
- - "~>"
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version: 1.0.2
|
202
|
-
type: :development
|
203
|
-
prerelease: false
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
205
|
-
requirements:
|
206
|
-
- - "~>"
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
version: 1.0.2
|
209
|
-
- !ruby/object:Gem::Dependency
|
210
|
-
name: rspec
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
212
|
-
requirements:
|
213
|
-
- - '='
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: 2.13.0
|
216
|
-
type: :development
|
217
|
-
prerelease: false
|
218
|
-
version_requirements: !ruby/object:Gem::Requirement
|
219
|
-
requirements:
|
220
|
-
- - '='
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: 2.13.0
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
|
-
name: sqlite3
|
225
113
|
requirement: !ruby/object:Gem::Requirement
|
226
114
|
requirements:
|
227
115
|
- - ">="
|
@@ -235,19 +123,19 @@ dependencies:
|
|
235
123
|
- !ruby/object:Gem::Version
|
236
124
|
version: '0'
|
237
125
|
- !ruby/object:Gem::Dependency
|
238
|
-
name:
|
126
|
+
name: rspec
|
239
127
|
requirement: !ruby/object:Gem::Requirement
|
240
128
|
requirements:
|
241
129
|
- - "~>"
|
242
130
|
- !ruby/object:Gem::Version
|
243
|
-
version:
|
131
|
+
version: '3.4'
|
244
132
|
type: :development
|
245
133
|
prerelease: false
|
246
134
|
version_requirements: !ruby/object:Gem::Requirement
|
247
135
|
requirements:
|
248
136
|
- - "~>"
|
249
137
|
- !ruby/object:Gem::Version
|
250
|
-
version:
|
138
|
+
version: '3.4'
|
251
139
|
- !ruby/object:Gem::Dependency
|
252
140
|
name: webmock
|
253
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -262,75 +150,80 @@ dependencies:
|
|
262
150
|
- - ">="
|
263
151
|
- !ruby/object:Gem::Version
|
264
152
|
version: '0'
|
265
|
-
description:
|
266
|
-
email:
|
153
|
+
description:
|
154
|
+
email: bots@opencorporates.com
|
267
155
|
executables:
|
268
156
|
- turbot
|
269
157
|
extensions: []
|
270
158
|
extra_rdoc_files: []
|
271
159
|
files:
|
160
|
+
- ".gitignore"
|
161
|
+
- ".rspec"
|
162
|
+
- ".travis.yml"
|
163
|
+
- ".yardopts"
|
164
|
+
- Gemfile
|
165
|
+
- LICENSE
|
272
166
|
- README.md
|
167
|
+
- Rakefile
|
168
|
+
- appveyor.yml
|
273
169
|
- bin/turbot
|
274
|
-
- data/
|
170
|
+
- data/schema.json
|
171
|
+
- data/templates/LICENSE.txt
|
172
|
+
- data/templates/manifest.json
|
173
|
+
- data/templates/python/scraper.py
|
174
|
+
- data/templates/ruby/scraper.rb
|
175
|
+
- dist/deb.rake
|
176
|
+
- dist/gem.rake
|
177
|
+
- dist/manifest.rake
|
178
|
+
- dist/pkg.rake
|
179
|
+
- dist/resources/deb/control
|
180
|
+
- dist/resources/deb/postinst
|
181
|
+
- dist/resources/deb/turbot
|
182
|
+
- dist/resources/deb/turbot-release-key.txt
|
183
|
+
- dist/resources/pkg/Distribution.erb
|
184
|
+
- dist/resources/pkg/PackageInfo.erb
|
185
|
+
- dist/resources/pkg/postinstall
|
186
|
+
- dist/resources/pkg/turbot
|
187
|
+
- dist/resources/tgz/turbot
|
188
|
+
- dist/rpm.rake
|
189
|
+
- dist/tgz.rake
|
190
|
+
- dist/zip.rake
|
275
191
|
- lib/turbot.rb
|
276
|
-
- lib/turbot/auth.rb
|
277
192
|
- lib/turbot/cli.rb
|
278
|
-
- lib/turbot/client.rb
|
279
|
-
- lib/turbot/client/cisaurus.rb
|
280
|
-
- lib/turbot/client/pgbackups.rb
|
281
|
-
- lib/turbot/client/rendezvous.rb
|
282
|
-
- lib/turbot/client/ssl_endpoint.rb
|
283
|
-
- lib/turbot/client/turbot_postgresql.rb
|
284
193
|
- lib/turbot/command.rb
|
285
194
|
- lib/turbot/command/auth.rb
|
286
195
|
- lib/turbot/command/base.rb
|
287
196
|
- lib/turbot/command/bots.rb
|
288
197
|
- lib/turbot/command/help.rb
|
289
|
-
- lib/turbot/command/ssl.rb
|
290
198
|
- lib/turbot/command/version.rb
|
291
|
-
- lib/turbot/
|
292
|
-
- lib/turbot/
|
293
|
-
- lib/turbot/
|
294
|
-
- lib/turbot/
|
295
|
-
- lib/turbot/excon.rb
|
199
|
+
- lib/turbot/handlers/base_handler.rb
|
200
|
+
- lib/turbot/handlers/dump_handler.rb
|
201
|
+
- lib/turbot/handlers/preview_handler.rb
|
202
|
+
- lib/turbot/handlers/validation_handler.rb
|
296
203
|
- lib/turbot/helpers.rb
|
297
|
-
- lib/turbot/helpers/
|
298
|
-
- lib/turbot/helpers/
|
299
|
-
- lib/turbot/helpers/
|
300
|
-
- lib/turbot/plugin.rb
|
301
|
-
- lib/turbot/updater.rb
|
204
|
+
- lib/turbot/helpers/api_helper.rb
|
205
|
+
- lib/turbot/helpers/netrc_helper.rb
|
206
|
+
- lib/turbot/helpers/shell_helper.rb
|
302
207
|
- lib/turbot/version.rb
|
303
|
-
-
|
304
|
-
- spec/
|
305
|
-
- spec/
|
208
|
+
- spec/fixtures/bad_permissions
|
209
|
+
- spec/fixtures/empty
|
210
|
+
- spec/fixtures/netrc
|
306
211
|
- spec/schemas/dummy-schema.json
|
307
|
-
- spec/spec.opts
|
308
212
|
- spec/spec_helper.rb
|
309
|
-
- spec/support/
|
310
|
-
- spec/support/
|
311
|
-
- spec/support/
|
312
|
-
- spec/support/
|
313
|
-
- spec/
|
314
|
-
- spec/turbot/client/pgbackups_spec.rb
|
315
|
-
- spec/turbot/client/rendezvous_spec.rb
|
316
|
-
- spec/turbot/client/ssl_endpoint_spec.rb
|
317
|
-
- spec/turbot/client/turbot_postgresql_spec.rb
|
318
|
-
- spec/turbot/client_spec.rb
|
213
|
+
- spec/support/bot_helper.rb
|
214
|
+
- spec/support/command_helper.rb
|
215
|
+
- spec/support/custom_matchers.rb
|
216
|
+
- spec/support/fixture_helper.rb
|
217
|
+
- spec/support/netrc_helper.rb
|
319
218
|
- spec/turbot/command/auth_spec.rb
|
320
219
|
- spec/turbot/command/base_spec.rb
|
321
220
|
- spec/turbot/command/bots_spec.rb
|
322
221
|
- spec/turbot/command/help_spec.rb
|
323
222
|
- spec/turbot/command/version_spec.rb
|
324
223
|
- spec/turbot/command_spec.rb
|
325
|
-
- spec/turbot/helpers/turbot_postgresql_spec.rb
|
326
224
|
- spec/turbot/helpers_spec.rb
|
327
|
-
-
|
328
|
-
|
329
|
-
- templates/LICENSE.txt
|
330
|
-
- templates/manifest.json
|
331
|
-
- templates/python/scraper.py
|
332
|
-
- templates/ruby/scraper.rb
|
333
|
-
homepage: https://turbot.opencorporates.com/
|
225
|
+
- turbot.gemspec
|
226
|
+
homepage: https://github.com/openc/turbot-client
|
334
227
|
licenses:
|
335
228
|
- MIT
|
336
229
|
metadata: {}
|
@@ -350,8 +243,25 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
350
243
|
version: '0'
|
351
244
|
requirements: []
|
352
245
|
rubyforge_project:
|
353
|
-
rubygems_version: 2.
|
246
|
+
rubygems_version: 2.5.2.3
|
354
247
|
signing_key:
|
355
248
|
specification_version: 4
|
356
|
-
summary: Client library and CLI to deploy
|
357
|
-
test_files:
|
249
|
+
summary: Client library and CLI to deploy and manage bots on Turbot
|
250
|
+
test_files:
|
251
|
+
- spec/fixtures/bad_permissions
|
252
|
+
- spec/fixtures/empty
|
253
|
+
- spec/fixtures/netrc
|
254
|
+
- spec/schemas/dummy-schema.json
|
255
|
+
- spec/spec_helper.rb
|
256
|
+
- spec/support/bot_helper.rb
|
257
|
+
- spec/support/command_helper.rb
|
258
|
+
- spec/support/custom_matchers.rb
|
259
|
+
- spec/support/fixture_helper.rb
|
260
|
+
- spec/support/netrc_helper.rb
|
261
|
+
- spec/turbot/command/auth_spec.rb
|
262
|
+
- spec/turbot/command/base_spec.rb
|
263
|
+
- spec/turbot/command/bots_spec.rb
|
264
|
+
- spec/turbot/command/help_spec.rb
|
265
|
+
- spec/turbot/command/version_spec.rb
|
266
|
+
- spec/turbot/command_spec.rb
|
267
|
+
- spec/turbot/helpers_spec.rb
|