rultor 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.
- data/.coveralls.yml +2 -0
- data/.gitignore +7 -0
- data/.rubocop.yml +2 -0
- data/.rultor.yml +16 -0
- data/.simplecov +41 -0
- data/.travis.yml +12 -0
- data/Gemfile +32 -0
- data/LICENSE.txt +27 -0
- data/README.md +20 -0
- data/Rakefile +78 -0
- data/bin/rultor +51 -0
- data/cucumber.yml +3 -0
- data/features/cli/encrypt.feature +12 -0
- data/features/cli/help.feature +8 -0
- data/features/cli/version.feature +8 -0
- data/features/gem_package.feature +22 -0
- data/features/step_definitions/steps.rb +78 -0
- data/features/support/env.rb +35 -0
- data/lib/rultor/encrypt.rb +61 -0
- data/lib/rultor/version.rb +37 -0
- data/lib/rultor.rb +52 -0
- data/rultor.gemspec +64 -0
- data/test/test_encrypt.rb +50 -0
- data/test/test_rultor.rb +44 -0
- metadata +249 -0
data/.coveralls.yml
ADDED
data/.gitignore
ADDED
data/.rubocop.yml
ADDED
data/.rultor.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
assets:
|
2
|
+
rubygems.yml: "yegor256/home#assets/rubygems.yml"
|
3
|
+
s3cfg: "yegor256/home#assets/s3cfg"
|
4
|
+
|
5
|
+
release:
|
6
|
+
script: |
|
7
|
+
sudo bundle install
|
8
|
+
rake
|
9
|
+
rm -rf *.gem
|
10
|
+
sed -i "s/1\.0\.snapshot/${tag}/g" lib/rultor/version.rb
|
11
|
+
gem build rultor.gemspec
|
12
|
+
chmod 0600 ../rubygems.yml
|
13
|
+
gem push *.gem --config-file ../rubygems.yml
|
14
|
+
gem install pdd
|
15
|
+
pdd --source=$(pwd) --verbose --file=rultor-remote.xml
|
16
|
+
s3cmd --no-progress put rultor-remote.xml --config=../s3cfg s3://pdd.teamed.io/rltor-remote.xml
|
data/.simplecov
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2009-2014, rultor.com
|
4
|
+
# All rights reserved.
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met: 1) Redistributions of source code must retain the above
|
9
|
+
# copyright notice, this list of conditions and the following
|
10
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
11
|
+
# copyright notice, this list of conditions and the following
|
12
|
+
# disclaimer in the documentation and/or other materials provided
|
13
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
14
|
+
# the names of its contributors may be used to endorse or promote
|
15
|
+
# products derived from this software without specific prior written
|
16
|
+
# permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
20
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
21
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
26
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
27
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
29
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
require 'coveralls'
|
32
|
+
|
33
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
34
|
+
SimpleCov::Formatter::HTMLFormatter,
|
35
|
+
Coveralls::SimpleCov::Formatter
|
36
|
+
]
|
37
|
+
SimpleCov.start do
|
38
|
+
add_filter "/test/"
|
39
|
+
add_filter "/features/"
|
40
|
+
minimum_coverage 100
|
41
|
+
end
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2009-2014, rultor.com
|
4
|
+
# All rights reserved.
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met: 1) Redistributions of source code must retain the above
|
9
|
+
# copyright notice, this list of conditions and the following
|
10
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
11
|
+
# copyright notice, this list of conditions and the following
|
12
|
+
# disclaimer in the documentation and/or other materials provided
|
13
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
14
|
+
# the names of its contributors may be used to endorse or promote
|
15
|
+
# products derived from this software without specific prior written
|
16
|
+
# permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
20
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
21
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
26
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
27
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
29
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
source 'https://rubygems.org'
|
32
|
+
gemspec
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
Copyright (c) 2009-2014, rultor.com
|
2
|
+
All rights reserved.
|
3
|
+
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
5
|
+
modification, are permitted provided that the following conditions
|
6
|
+
are met: 1) Redistributions of source code must retain the above
|
7
|
+
copyright notice, this list of conditions and the following
|
8
|
+
disclaimer. 2) Redistributions in binary form must reproduce the above
|
9
|
+
copyright notice, this list of conditions and the following
|
10
|
+
disclaimer in the documentation and/or other materials provided
|
11
|
+
with the distribution. 3) Neither the name of the rultor.com nor
|
12
|
+
the names of its contributors may be used to endorse or promote
|
13
|
+
products derived from this software without specific prior written
|
14
|
+
permission.
|
15
|
+
|
16
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
18
|
+
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
20
|
+
THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
21
|
+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
22
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
23
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
24
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
25
|
+
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
26
|
+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
27
|
+
OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
[](http://www.teamed.io)
|
2
|
+
[](http://www.rultor.com/p/yegor256/rultor-remote)
|
3
|
+
|
4
|
+
[](https://travis-ci.org/yegor256/rultor-remote)
|
5
|
+
[](http://badge.fury.io/rb/rultor)
|
6
|
+
[](https://gemnasium.com/yegor256/rultor-remote)
|
7
|
+
[](https://codeclimate.com/github/yegor256/rultor-remote)
|
8
|
+
[](https://coveralls.io/r/yegor256/rultor-remote)
|
9
|
+
|
10
|
+
Install it first:
|
11
|
+
|
12
|
+
```bash
|
13
|
+
gem install rultor
|
14
|
+
```
|
15
|
+
|
16
|
+
Run it locally and read its output:
|
17
|
+
|
18
|
+
```bash
|
19
|
+
rultor --help
|
20
|
+
```
|
data/Rakefile
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2009-2014, rultor.com
|
4
|
+
# All rights reserved.
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met: 1) Redistributions of source code must retain the above
|
9
|
+
# copyright notice, this list of conditions and the following
|
10
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
11
|
+
# copyright notice, this list of conditions and the following
|
12
|
+
# disclaimer in the documentation and/or other materials provided
|
13
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
14
|
+
# the names of its contributors may be used to endorse or promote
|
15
|
+
# products derived from this software without specific prior written
|
16
|
+
# permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
20
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
21
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
26
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
27
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
29
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
require 'rubygems'
|
32
|
+
require 'rake'
|
33
|
+
require 'rdoc'
|
34
|
+
require 'rake/clean'
|
35
|
+
|
36
|
+
CLEAN = FileList['coverage', 'rdoc']
|
37
|
+
|
38
|
+
def name
|
39
|
+
@name ||= File.basename(Dir['*.gemspec'].first, '.*')
|
40
|
+
end
|
41
|
+
|
42
|
+
def version
|
43
|
+
Gem::Specification.load(Dir['*.gemspec'].first).version
|
44
|
+
end
|
45
|
+
|
46
|
+
task default: [:clean, :test, :features, :rubocop]
|
47
|
+
|
48
|
+
require 'rake/testtask'
|
49
|
+
desc 'Run all unit tests'
|
50
|
+
Rake::TestTask.new(:test) do |test|
|
51
|
+
test.libs << 'lib' << 'test'
|
52
|
+
test.pattern = 'test/**/test_*.rb'
|
53
|
+
test.verbose = false
|
54
|
+
end
|
55
|
+
|
56
|
+
require 'rdoc/task'
|
57
|
+
desc 'Build RDoc documentation'
|
58
|
+
Rake::RDocTask.new do |rdoc|
|
59
|
+
rdoc.rdoc_dir = 'rdoc'
|
60
|
+
rdoc.title = "#{name} #{version}"
|
61
|
+
rdoc.rdoc_files.include('README*')
|
62
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
63
|
+
end
|
64
|
+
|
65
|
+
require 'rubocop/rake_task'
|
66
|
+
desc 'Run RuboCop on all directories'
|
67
|
+
RuboCop::RakeTask.new(:rubocop) do |task|
|
68
|
+
task.fail_on_error = true
|
69
|
+
task.requires << 'rubocop-rspec'
|
70
|
+
end
|
71
|
+
|
72
|
+
require 'cucumber/rake/task'
|
73
|
+
Cucumber::Rake::Task.new(:features) do |t|
|
74
|
+
t.profile = 'travis'
|
75
|
+
end
|
76
|
+
Cucumber::Rake::Task.new(:"features:html") do |t|
|
77
|
+
t.profile = 'html_report'
|
78
|
+
end
|
data/bin/rultor
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: utf-8
|
3
|
+
#
|
4
|
+
# Copyright (c) 2009-2014, rultor.com
|
5
|
+
# All rights reserved.
|
6
|
+
#
|
7
|
+
# Redistribution and use in source and binary forms, with or without
|
8
|
+
# modification, are permitted provided that the following conditions
|
9
|
+
# are met: 1) Redistributions of source code must retain the above
|
10
|
+
# copyright notice, this list of conditions and the following
|
11
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
12
|
+
# copyright notice, this list of conditions and the following
|
13
|
+
# disclaimer in the documentation and/or other materials provided
|
14
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
15
|
+
# the names of its contributors may be used to endorse or promote
|
16
|
+
# products derived from this software without specific prior written
|
17
|
+
# permission.
|
18
|
+
#
|
19
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
20
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
21
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
22
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
23
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
24
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
25
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
26
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
27
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
28
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
29
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
30
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
+
|
32
|
+
STDOUT.sync = true
|
33
|
+
|
34
|
+
require 'rultor'
|
35
|
+
require 'slop'
|
36
|
+
require 'rultor/version'
|
37
|
+
require 'rultor/encrypt'
|
38
|
+
|
39
|
+
Slop.parse(ARGV, strict: true, help: true) do
|
40
|
+
banner "Usage (#{Rultor::VERSION}): rultor command [options]"
|
41
|
+
on :v, 'Print the version' do
|
42
|
+
puts Rultor::VERSION
|
43
|
+
end
|
44
|
+
command 'encrypt' do
|
45
|
+
description 'Encrypt a file'
|
46
|
+
on :p=, :project, 'Project name'
|
47
|
+
run do |opts, args|
|
48
|
+
Rultor::Encrypt.new(opts[:project], args.first).run
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
data/cucumber.yml
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
Feature: Command Line Processing
|
2
|
+
As an owner of a repository I want to have an
|
3
|
+
ability to encrypt my files
|
4
|
+
|
5
|
+
Scenario: Simple encrypting
|
6
|
+
Given I have a "credentials" file with content:
|
7
|
+
"""
|
8
|
+
some secret
|
9
|
+
"""
|
10
|
+
When I run bin/rultor with "encrypt -p test/test credentials"
|
11
|
+
Then Exit code is zero
|
12
|
+
And Stdout contains "credentials.asc"
|
@@ -0,0 +1,22 @@
|
|
1
|
+
Feature: Gem Package
|
2
|
+
As a source code writer I want to be able to
|
3
|
+
package the Gem into .gem file
|
4
|
+
|
5
|
+
Scenario: Gem can be packaged
|
6
|
+
Given I have a "execs.rb" file with content:
|
7
|
+
"""
|
8
|
+
#!/usr/bin/env ruby
|
9
|
+
require 'rubygems'
|
10
|
+
spec = Gem::Specification::load('./spec.rb')
|
11
|
+
fail 'no executables' if spec.executables.empty?
|
12
|
+
"""
|
13
|
+
When I run bash with
|
14
|
+
"""
|
15
|
+
set -e
|
16
|
+
cd rultor
|
17
|
+
gem build rultor.gemspec
|
18
|
+
gem specification --ruby rultor-*.gem > ../spec.rb
|
19
|
+
cd ..
|
20
|
+
ruby execs.rb
|
21
|
+
"""
|
22
|
+
Then Exit code is zero
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2009-2014, rultor.com
|
4
|
+
# All rights reserved.
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met: 1) Redistributions of source code must retain the above
|
9
|
+
# copyright notice, this list of conditions and the following
|
10
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
11
|
+
# copyright notice, this list of conditions and the following
|
12
|
+
# disclaimer in the documentation and/or other materials provided
|
13
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
14
|
+
# the names of its contributors may be used to endorse or promote
|
15
|
+
# products derived from this software without specific prior written
|
16
|
+
# permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
20
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
21
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
26
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
27
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
29
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
require 'rultor'
|
32
|
+
require 'tmpdir'
|
33
|
+
require 'English'
|
34
|
+
|
35
|
+
Before do
|
36
|
+
@cwd = Dir.pwd
|
37
|
+
@dir = Dir.mktmpdir('test')
|
38
|
+
FileUtils.mkdir_p(@dir) unless File.exist?(@dir)
|
39
|
+
Dir.chdir(@dir)
|
40
|
+
end
|
41
|
+
|
42
|
+
After do
|
43
|
+
Dir.chdir(@cwd)
|
44
|
+
FileUtils.rm_rf(@dir) if File.exist?(@dir)
|
45
|
+
end
|
46
|
+
|
47
|
+
Given(/^I have a "([^"]*)" file with content:$/) do |file, text|
|
48
|
+
FileUtils.mkdir_p(File.dirname(file)) unless File.exist?(file)
|
49
|
+
File.open(file, 'w') do |f|
|
50
|
+
f.write(text)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
When(/^I run bin\/rultor with "([^"]*)"$/) do |arg|
|
55
|
+
home = File.join(File.dirname(__FILE__), '../..')
|
56
|
+
@stdout = `ruby -I#{home}/lib #{home}/bin/rultor #{arg} 2>&1`
|
57
|
+
@exitstatus = $CHILD_STATUS.exitstatus
|
58
|
+
end
|
59
|
+
|
60
|
+
Then(/^Stdout contains "([^"]*)"$/) do |txt|
|
61
|
+
unless @stdout.include?(txt)
|
62
|
+
fail "STDOUT doesn't contain '#{txt}':\n#{@stdout}"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
Then(/^Exit code is zero$/) do
|
67
|
+
fail "Non-zero exit code #{@exitstatus}:\n#{@stdout}" unless @exitstatus == 0
|
68
|
+
end
|
69
|
+
|
70
|
+
Then(/^Exit code is not zero$/) do
|
71
|
+
fail "Zero exit code:\n#{@stdout}" if @exitstatus == 0
|
72
|
+
end
|
73
|
+
|
74
|
+
When(/^I run bash with$/) do |text|
|
75
|
+
FileUtils.copy_entry(@cwd, File.join(@dir, 'rultor'))
|
76
|
+
@stdout = `#{text}`
|
77
|
+
@exitstatus = $CHILD_STATUS.exitstatus
|
78
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2009-2014, rultor.com
|
4
|
+
# All rights reserved.
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met: 1) Redistributions of source code must retain the above
|
9
|
+
# copyright notice, this list of conditions and the following
|
10
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
11
|
+
# copyright notice, this list of conditions and the following
|
12
|
+
# disclaimer in the documentation and/or other materials provided
|
13
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
14
|
+
# the names of its contributors may be used to endorse or promote
|
15
|
+
# products derived from this software without specific prior written
|
16
|
+
# permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
20
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
21
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
26
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
27
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
29
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
require 'simplecov'
|
32
|
+
require 'rultor'
|
33
|
+
|
34
|
+
Rultor.log.info 'logging to stdout'
|
35
|
+
Rultor.log = Logger.new(STDOUT)
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2009-2014, rultor.com
|
4
|
+
# All rights reserved.
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met: 1) Redistributions of source code must retain the above
|
9
|
+
# copyright notice, this list of conditions and the following
|
10
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
11
|
+
# copyright notice, this list of conditions and the following
|
12
|
+
# disclaimer in the documentation and/or other materials provided
|
13
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
14
|
+
# the names of its contributors may be used to endorse or promote
|
15
|
+
# products derived from this software without specific prior written
|
16
|
+
# permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
20
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
21
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
26
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
27
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
29
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
require 'English'
|
32
|
+
|
33
|
+
# Rultor main module.
|
34
|
+
# Author:: Yegor Bugayenko (yegor@teamed.io)
|
35
|
+
# Copyright:: Copyright (c) 2014 Yegor Bugayenko
|
36
|
+
# License:: BSD
|
37
|
+
module Rultor
|
38
|
+
# Encrypting command
|
39
|
+
class Encrypt
|
40
|
+
def initialize(name, file)
|
41
|
+
@name = name
|
42
|
+
@file = file
|
43
|
+
@dest = "#{@file}.asc"
|
44
|
+
end
|
45
|
+
|
46
|
+
def run
|
47
|
+
system(
|
48
|
+
"
|
49
|
+
set -x
|
50
|
+
set -e
|
51
|
+
gpg --keyserver hkp://pool.sks-keyservers.net \
|
52
|
+
--verbose --recv-keys 9AF0FA4C
|
53
|
+
gpg --trust-model always --output '#{@dest}' \
|
54
|
+
--batch --armor --encrypt --verbose --recipient 9AF0FA4C '#{@file}'
|
55
|
+
"
|
56
|
+
)
|
57
|
+
fail 'Failed to PGP encrypt' unless $CHILD_STATUS.exitstatus == 0
|
58
|
+
Rultor.log.info "#{@file} encrypted"
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2009-2014, rultor.com
|
4
|
+
# All rights reserved.
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met: 1) Redistributions of source code must retain the above
|
9
|
+
# copyright notice, this list of conditions and the following
|
10
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
11
|
+
# copyright notice, this list of conditions and the following
|
12
|
+
# disclaimer in the documentation and/or other materials provided
|
13
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
14
|
+
# the names of its contributors may be used to endorse or promote
|
15
|
+
# products derived from this software without specific prior written
|
16
|
+
# permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
20
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
21
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
26
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
27
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
29
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
# Rultor main module.
|
32
|
+
# Author:: Yegor Bugayenko (yegor@teamed.io)
|
33
|
+
# Copyright:: Copyright (c) 2014 Yegor Bugayenko
|
34
|
+
# License:: BSD
|
35
|
+
module Rultor
|
36
|
+
VERSION = '0.1.0'
|
37
|
+
end
|
data/lib/rultor.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2009-2014, rultor.com
|
4
|
+
# All rights reserved.
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met: 1) Redistributions of source code must retain the above
|
9
|
+
# copyright notice, this list of conditions and the following
|
10
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
11
|
+
# copyright notice, this list of conditions and the following
|
12
|
+
# disclaimer in the documentation and/or other materials provided
|
13
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
14
|
+
# the names of its contributors may be used to endorse or promote
|
15
|
+
# products derived from this software without specific prior written
|
16
|
+
# permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
20
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
21
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
26
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
27
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
29
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
require 'logger'
|
32
|
+
|
33
|
+
# RULTOR main module.
|
34
|
+
# Author:: Yegor Bugayenko (yegor@teamed.io)
|
35
|
+
# Copyright:: Copyright (c) 2014 Yegor Bugayenko
|
36
|
+
# License:: BSD
|
37
|
+
module Rultor
|
38
|
+
# Get logger.
|
39
|
+
def self.log
|
40
|
+
unless @log
|
41
|
+
@log = Logger.new(STDOUT)
|
42
|
+
@log.formatter = proc { |_, _, _, msg|
|
43
|
+
puts "#{msg.dump}"
|
44
|
+
}
|
45
|
+
end
|
46
|
+
@log
|
47
|
+
end
|
48
|
+
|
49
|
+
class << self
|
50
|
+
attr_writer :log
|
51
|
+
end
|
52
|
+
end
|
data/rultor.gemspec
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2009-2014, rultor.com
|
4
|
+
# All rights reserved.
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met: 1) Redistributions of source code must retain the above
|
9
|
+
# copyright notice, this list of conditions and the following
|
10
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
11
|
+
# copyright notice, this list of conditions and the following
|
12
|
+
# disclaimer in the documentation and/or other materials provided
|
13
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
14
|
+
# the names of its contributors may be used to endorse or promote
|
15
|
+
# products derived from this software without specific prior written
|
16
|
+
# permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
20
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
21
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
26
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
27
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
29
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
lib = File.expand_path('../lib', __FILE__)
|
32
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
33
|
+
require 'rultor/version'
|
34
|
+
|
35
|
+
Gem::Specification.new do |s|
|
36
|
+
s.specification_version = 2 if s.respond_to? :specification_version=
|
37
|
+
if s.respond_to? :required_rubygems_version=
|
38
|
+
s.required_rubygems_version = Gem::Requirement.new('>= 0')
|
39
|
+
end
|
40
|
+
s.rubygems_version = '2.2.2'
|
41
|
+
s.required_ruby_version = '>= 1.9.3'
|
42
|
+
s.name = 'rultor'
|
43
|
+
s.version = Rultor::VERSION
|
44
|
+
s.license = 'BSD'
|
45
|
+
s.summary = 'Rultor.com Remote Control'
|
46
|
+
s.description = 'Command line remote control of www.rultor.com'
|
47
|
+
s.authors = ['Yegor Bugayenko']
|
48
|
+
s.email = 'yegor@teamed.io'
|
49
|
+
s.homepage = 'http://github.com/yegor256/rultor-remote'
|
50
|
+
s.files = `git ls-files`.split($RS)
|
51
|
+
s.executables = s.files.grep(/^bin\//) { |f| File.basename(f) }
|
52
|
+
s.test_files = s.files.grep(/^(test|spec|features)\//)
|
53
|
+
s.rdoc_options = ['--charset=UTF-8']
|
54
|
+
s.extra_rdoc_files = %w(README.md LICENSE.txt)
|
55
|
+
s.add_runtime_dependency 'rake', '~> 10.1'
|
56
|
+
s.add_runtime_dependency 'slop', '~> 3.6'
|
57
|
+
s.add_development_dependency 'coveralls', '~> 0.7', '>= 0.7.0'
|
58
|
+
s.add_development_dependency 'rdoc', '~> 3.11'
|
59
|
+
s.add_development_dependency 'cucumber', '1.3.11'
|
60
|
+
s.add_development_dependency 'minitest', '~> 5.4', '>= 5.4.0'
|
61
|
+
s.add_development_dependency 'rubocop', '~> 0.24', '>= 0.24.1'
|
62
|
+
s.add_development_dependency 'rubocop-rspec', '~> 1.1', '>= 1.1.0'
|
63
|
+
s.add_development_dependency 'rspec-rails', '~> 2.13'
|
64
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2009-2014, rultor.com
|
4
|
+
# All rights reserved.
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met: 1) Redistributions of source code must retain the above
|
9
|
+
# copyright notice, this list of conditions and the following
|
10
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
11
|
+
# copyright notice, this list of conditions and the following
|
12
|
+
# disclaimer in the documentation and/or other materials provided
|
13
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
14
|
+
# the names of its contributors may be used to endorse or promote
|
15
|
+
# products derived from this software without specific prior written
|
16
|
+
# permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
20
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
21
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
26
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
27
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
29
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
require 'minitest/autorun'
|
32
|
+
require 'rultor'
|
33
|
+
require 'rultor/encrypt'
|
34
|
+
require 'tmpdir'
|
35
|
+
|
36
|
+
# Rultor encryption.
|
37
|
+
# Author:: Yegor Bugayenko (yegor@teamed.io)
|
38
|
+
# Copyright:: Copyright (c) 2014 Yegor Bugayenko
|
39
|
+
# License:: BSD
|
40
|
+
class TestEncrypt < Minitest::Test
|
41
|
+
def test_basic_encryption
|
42
|
+
Dir.mktmpdir 'test' do |dir|
|
43
|
+
file = File.join(dir, 'secret.txt')
|
44
|
+
File.write(file, 'hello, world!')
|
45
|
+
Rultor::Encrypt.new('test', file).run
|
46
|
+
asc = File.join(dir, 'secret.txt.asc')
|
47
|
+
assert_equal true, File.exist?(asc)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
data/test/test_rultor.rb
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2009-2014, rultor.com
|
4
|
+
# All rights reserved.
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met: 1) Redistributions of source code must retain the above
|
9
|
+
# copyright notice, this list of conditions and the following
|
10
|
+
# disclaimer. 2) Redistributions in binary form must reproduce the above
|
11
|
+
# copyright notice, this list of conditions and the following
|
12
|
+
# disclaimer in the documentation and/or other materials provided
|
13
|
+
# with the distribution. 3) Neither the name of the rultor.com nor
|
14
|
+
# the names of its contributors may be used to endorse or promote
|
15
|
+
# products derived from this software without specific prior written
|
16
|
+
# permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
20
|
+
# NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
21
|
+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
22
|
+
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
24
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
26
|
+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
27
|
+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
29
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
require 'minitest/autorun'
|
32
|
+
require 'rultor'
|
33
|
+
require 'tmpdir'
|
34
|
+
require 'slop'
|
35
|
+
|
36
|
+
# Rultor main module test.
|
37
|
+
# Author:: Yegor Bugayenko (yegor@teamed.io)
|
38
|
+
# Copyright:: Copyright (c) 2014 Yegor Bugayenko
|
39
|
+
# License:: BSD
|
40
|
+
class TestRultor < Minitest::Test
|
41
|
+
def test_basic
|
42
|
+
Rultor.log.info 'log works'
|
43
|
+
end
|
44
|
+
end
|
metadata
ADDED
@@ -0,0 +1,249 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rultor
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Yegor Bugayenko
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-09-29 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '10.1'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '10.1'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: slop
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '3.6'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.6'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: coveralls
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.7'
|
54
|
+
- - ! '>='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 0.7.0
|
57
|
+
type: :development
|
58
|
+
prerelease: false
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
61
|
+
requirements:
|
62
|
+
- - ~>
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '0.7'
|
65
|
+
- - ! '>='
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 0.7.0
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: rdoc
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.11'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
80
|
+
requirements:
|
81
|
+
- - ~>
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '3.11'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: cucumber
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
88
|
+
requirements:
|
89
|
+
- - '='
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: 1.3.11
|
92
|
+
type: :development
|
93
|
+
prerelease: false
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
96
|
+
requirements:
|
97
|
+
- - '='
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: 1.3.11
|
100
|
+
- !ruby/object:Gem::Dependency
|
101
|
+
name: minitest
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
104
|
+
requirements:
|
105
|
+
- - ~>
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '5.4'
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 5.4.0
|
111
|
+
type: :development
|
112
|
+
prerelease: false
|
113
|
+
version_requirements: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ~>
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '5.4'
|
119
|
+
- - ! '>='
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: 5.4.0
|
122
|
+
- !ruby/object:Gem::Dependency
|
123
|
+
name: rubocop
|
124
|
+
requirement: !ruby/object:Gem::Requirement
|
125
|
+
none: false
|
126
|
+
requirements:
|
127
|
+
- - ~>
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '0.24'
|
130
|
+
- - ! '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 0.24.1
|
133
|
+
type: :development
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
none: false
|
137
|
+
requirements:
|
138
|
+
- - ~>
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0.24'
|
141
|
+
- - ! '>='
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: 0.24.1
|
144
|
+
- !ruby/object:Gem::Dependency
|
145
|
+
name: rubocop-rspec
|
146
|
+
requirement: !ruby/object:Gem::Requirement
|
147
|
+
none: false
|
148
|
+
requirements:
|
149
|
+
- - ~>
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '1.1'
|
152
|
+
- - ! '>='
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: 1.1.0
|
155
|
+
type: :development
|
156
|
+
prerelease: false
|
157
|
+
version_requirements: !ruby/object:Gem::Requirement
|
158
|
+
none: false
|
159
|
+
requirements:
|
160
|
+
- - ~>
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: '1.1'
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 1.1.0
|
166
|
+
- !ruby/object:Gem::Dependency
|
167
|
+
name: rspec-rails
|
168
|
+
requirement: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '2.13'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
179
|
+
- - ~>
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '2.13'
|
182
|
+
description: Command line remote control of www.rultor.com
|
183
|
+
email: yegor@teamed.io
|
184
|
+
executables:
|
185
|
+
- rultor
|
186
|
+
extensions: []
|
187
|
+
extra_rdoc_files:
|
188
|
+
- README.md
|
189
|
+
- LICENSE.txt
|
190
|
+
files:
|
191
|
+
- .coveralls.yml
|
192
|
+
- .gitignore
|
193
|
+
- .rubocop.yml
|
194
|
+
- .rultor.yml
|
195
|
+
- .simplecov
|
196
|
+
- .travis.yml
|
197
|
+
- Gemfile
|
198
|
+
- LICENSE.txt
|
199
|
+
- README.md
|
200
|
+
- Rakefile
|
201
|
+
- bin/rultor
|
202
|
+
- cucumber.yml
|
203
|
+
- features/cli/encrypt.feature
|
204
|
+
- features/cli/help.feature
|
205
|
+
- features/cli/version.feature
|
206
|
+
- features/gem_package.feature
|
207
|
+
- features/step_definitions/steps.rb
|
208
|
+
- features/support/env.rb
|
209
|
+
- lib/rultor.rb
|
210
|
+
- lib/rultor/encrypt.rb
|
211
|
+
- lib/rultor/version.rb
|
212
|
+
- rultor.gemspec
|
213
|
+
- test/test_encrypt.rb
|
214
|
+
- test/test_rultor.rb
|
215
|
+
homepage: http://github.com/yegor256/rultor-remote
|
216
|
+
licenses:
|
217
|
+
- BSD
|
218
|
+
post_install_message:
|
219
|
+
rdoc_options:
|
220
|
+
- --charset=UTF-8
|
221
|
+
require_paths:
|
222
|
+
- lib
|
223
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
224
|
+
none: false
|
225
|
+
requirements:
|
226
|
+
- - ! '>='
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: 1.9.3
|
229
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
230
|
+
none: false
|
231
|
+
requirements:
|
232
|
+
- - ! '>='
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
version: '0'
|
235
|
+
requirements: []
|
236
|
+
rubyforge_project:
|
237
|
+
rubygems_version: 1.8.23
|
238
|
+
signing_key:
|
239
|
+
specification_version: 2
|
240
|
+
summary: Rultor.com Remote Control
|
241
|
+
test_files:
|
242
|
+
- features/cli/encrypt.feature
|
243
|
+
- features/cli/help.feature
|
244
|
+
- features/cli/version.feature
|
245
|
+
- features/gem_package.feature
|
246
|
+
- features/step_definitions/steps.rb
|
247
|
+
- features/support/env.rb
|
248
|
+
- test/test_encrypt.rb
|
249
|
+
- test/test_rultor.rb
|