unidad 0.0.1.beta3 → 0.0.1.beta5
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/.rubocop.yml +19 -7
- data/Guardfile +7 -7
- data/README.md +9 -6
- data/lib/unidad/cli/ansible/galaxy.rb +3 -1
- data/lib/unidad/cli/ansible/playbook.rb +2 -0
- data/lib/unidad/cli/namespaced_group.rb +1 -1
- data/lib/unidad/cli/root.rb +2 -0
- data/lib/unidad/cli/s3_website.rb +15 -0
- data/lib/unidad/errors.rb +6 -0
- data/lib/unidad/messenger.rb +3 -22
- data/lib/unidad/messenger_adapters/base.rb +20 -0
- data/lib/unidad/messenger_adapters/slack.rb +28 -0
- data/lib/unidad/version.rb +1 -1
- data/lib/unidad.rb +7 -0
- data/unidad.gemspec +10 -12
- metadata +38 -62
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe7854657d5f1834fd116b5b1af5b3e56d9e3523
|
4
|
+
data.tar.gz: 4f29f8584ed29c726b95e3b3f4a7ee83ef4a55d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b32a5997d99874bcff44707abd28847db63946aad2c54c4e459830c7fb2ce9a9795a41b93774fb28c8a09987c8f5407392b7cd485c98b5d7b030a507f626bf48
|
7
|
+
data.tar.gz: d8a2ee95f14ddf42d34a46dedba21b12d96e066f412077d1f7b00762c642a5af2f6d11abf93c6ad180c4c91c2837eb7494386fa3118234a8bdd4f068adfcc8be
|
data/.rubocop.yml
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
AllCops:
|
2
|
-
RunRailsCops: false
|
3
2
|
Exclude:
|
4
3
|
- lib/util/match_method_macros.rb
|
5
4
|
- spec/test_app/**
|
6
5
|
- bin/**
|
6
|
+
DisplayCopNames: true
|
7
7
|
|
8
8
|
LineLength:
|
9
|
-
Max:
|
9
|
+
Max: 175
|
10
10
|
|
11
11
|
ClassLength:
|
12
12
|
CountComments: false # count full line comments?
|
@@ -14,7 +14,7 @@ ClassLength:
|
|
14
14
|
|
15
15
|
MethodLength:
|
16
16
|
CountComments: false # count full line comments?
|
17
|
-
Max:
|
17
|
+
Max: 20
|
18
18
|
|
19
19
|
HashSyntax:
|
20
20
|
EnforcedStyle: hash_rockets
|
@@ -22,9 +22,6 @@ HashSyntax:
|
|
22
22
|
Documentation:
|
23
23
|
Enabled: false
|
24
24
|
|
25
|
-
DefaultScope:
|
26
|
-
Enabled: false
|
27
|
-
|
28
25
|
CollectionMethods:
|
29
26
|
PreferredMethods:
|
30
27
|
map: 'collect'
|
@@ -37,4 +34,19 @@ Output:
|
|
37
34
|
Enabled: false
|
38
35
|
|
39
36
|
HasAndBelongsToMany:
|
40
|
-
Enabled: false
|
37
|
+
Enabled: false
|
38
|
+
|
39
|
+
Style/ClassAndModuleChildren:
|
40
|
+
Enabled: false
|
41
|
+
|
42
|
+
Style/RegexpLiteral:
|
43
|
+
EnforcedStyle: percent_r
|
44
|
+
|
45
|
+
Style/SpaceInsideStringInterpolation:
|
46
|
+
Enabled: false
|
47
|
+
|
48
|
+
Style/SymbolProc:
|
49
|
+
Enabled: false
|
50
|
+
|
51
|
+
Metrics/AbcSize:
|
52
|
+
Max: 17
|
data/Guardfile
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
guard 'rspec', :cmd => 'bundle exec rspec --colour', :all_on_start => false, :all_after_pass => false do
|
2
2
|
watch('spec/spec_helper.rb') { 'spec' }
|
3
|
-
watch(
|
4
|
-
watch(
|
5
|
-
watch(
|
3
|
+
watch(%r{^spec\/.+_spec\.rb})
|
4
|
+
watch(%r{^app\/(.+)\.rb}) { |m| "spec/app/#{m[1]}_spec.rb" }
|
5
|
+
watch(%r{^lib\/(.+)\.rb}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
6
6
|
end
|
7
7
|
|
8
|
-
guard :rubocop do
|
9
|
-
watch(
|
10
|
-
watch(
|
11
|
-
watch(
|
8
|
+
guard :rubocop, :all_on_start => false do
|
9
|
+
watch(%r{.+\.gemspec$})
|
10
|
+
watch(%r{.+\.rb$})
|
11
|
+
watch(%r{(?:.+\/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
|
12
12
|
end
|
data/README.md
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# Unidad
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
3
|
+
A thin wrapper and notifications layer around common command-line utilities.
|
6
4
|
|
7
5
|
## Installation
|
8
6
|
|
@@ -22,14 +20,19 @@ Or install it yourself as:
|
|
22
20
|
|
23
21
|
## Usage
|
24
22
|
|
25
|
-
|
23
|
+
The following commands are available when you install Unidad.
|
24
|
+
|
25
|
+
```
|
26
|
+
unidad deploy [ENVIRONMENT] # Deploy your application to the specified environment.
|
27
|
+
unidad galaxy [REQUIREMENTS_FILE] # Install Ansible dependencies via Galaxy.
|
28
|
+
unidad playbook [HOSTS_FILE] [PLAYBOOK] # Run an Ansible playbook.
|
29
|
+
unidad s3_website compile_jar # Compile the .jar file required for deployment. Compilation only happens if a .jar does not exist yet.
|
30
|
+
```
|
26
31
|
|
27
32
|
## Development
|
28
33
|
|
29
34
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
|
30
35
|
|
31
|
-
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
32
|
-
|
33
36
|
## Contributing
|
34
37
|
|
35
38
|
1. Fork it ( https://github.com/[my-github-username]/unidad/fork )
|
@@ -2,13 +2,15 @@ module Unidad
|
|
2
2
|
module Cli
|
3
3
|
module Ansible
|
4
4
|
class Galaxy < Unidad::Cli::Ansible::Base
|
5
|
+
namespace :galaxy
|
6
|
+
|
5
7
|
argument :requirements_file, :desc => 'The YAML file containing requirements to install',
|
6
8
|
:type => :string,
|
7
9
|
:required => true
|
8
10
|
|
9
11
|
def run_galaxy
|
10
12
|
Unidad::CommandBuilder.all(:galaxy, :requirements_file => ansible_path.join(requirements_file)).each do |command|
|
11
|
-
|
13
|
+
run command
|
12
14
|
end
|
13
15
|
end
|
14
16
|
end
|
@@ -6,7 +6,7 @@ module Unidad
|
|
6
6
|
# The banner for this class. You can customize it if you are invoking the
|
7
7
|
# thor class by another ways which is not the Thor::Runner.
|
8
8
|
def self.banner
|
9
|
-
"#{basename} #{
|
9
|
+
"#{basename} #{namespace} #{arguments.collect(&:usage).compact.join(' ')}"
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
data/lib/unidad/cli/root.rb
CHANGED
@@ -6,6 +6,7 @@ Dotenv.load
|
|
6
6
|
|
7
7
|
require 'unidad/cli/namespaced_group'
|
8
8
|
require 'unidad/cli/deploy'
|
9
|
+
require 'unidad/cli/s3_website'
|
9
10
|
require 'unidad/cli/ansible/base'
|
10
11
|
require 'unidad/cli/ansible/playbook'
|
11
12
|
require 'unidad/cli/ansible/galaxy'
|
@@ -14,6 +15,7 @@ module Unidad
|
|
14
15
|
module Cli
|
15
16
|
class Root < Thor
|
16
17
|
register Unidad::Cli::Deploy, 'deploy', 'deploy [ENVIRONMENT]', 'Deploy your application to the specified environment.'
|
18
|
+
register Unidad::Cli::S3Website, 's3_website', 's3_website [COMMAND]', 'Execute a task related to your s3_website deployed site.'
|
17
19
|
register Unidad::Cli::Ansible::Playbook, 'playbook', 'playbook [HOSTS_FILE] [PLAYBOOK]', 'Run an Ansible playbook.'
|
18
20
|
register Unidad::Cli::Ansible::Galaxy, 'galaxy', 'galaxy [REQUIREMENTS_FILE]', 'Install Ansible dependencies via Galaxy.'
|
19
21
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Unidad
|
2
|
+
module Cli
|
3
|
+
class S3Website < Thor
|
4
|
+
include Thor::Actions
|
5
|
+
|
6
|
+
desc 'compile_jar', 'Compile the .jar file required for deployment. Compilation only happens if a .jar does not exist yet.'
|
7
|
+
def compile_jar
|
8
|
+
gem_directory = `bundle show s3_website`.strip
|
9
|
+
inside(gem_directory) do
|
10
|
+
run('[ -f ./target/scala-2.11/s3_website.jar ] || ./sbt assembly')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/unidad/messenger.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'net/http'
|
2
|
-
require 'multi_json'
|
3
2
|
|
4
3
|
module Unidad
|
5
4
|
class Messenger
|
@@ -8,8 +7,8 @@ module Unidad
|
|
8
7
|
attr_reader :command
|
9
8
|
attr_accessor :callback, :options
|
10
9
|
|
11
|
-
match_method(
|
12
|
-
option = name.to_s.
|
10
|
+
match_method(%r{\A(.*)=}) do |name, *args|
|
11
|
+
option = name.to_s.delete('=').to_sym
|
13
12
|
options[option] = args[0]
|
14
13
|
end
|
15
14
|
|
@@ -20,7 +19,7 @@ module Unidad
|
|
20
19
|
|
21
20
|
def on(callback)
|
22
21
|
self.callback = callback
|
23
|
-
|
22
|
+
Unidad.messenger_adapter.call(message, message_options)
|
24
23
|
end
|
25
24
|
|
26
25
|
protected
|
@@ -29,24 +28,6 @@ module Unidad
|
|
29
28
|
Unidad.config[command].messages
|
30
29
|
end
|
31
30
|
|
32
|
-
def deliver_message
|
33
|
-
uri = URI(ENV['SLACK_WEBHOOK_URL'])
|
34
|
-
Net::HTTP.post_form(uri, build_params)
|
35
|
-
rescue => e
|
36
|
-
puts 'There was an error notifying Slack. Please check that SLACK_WEBHOOK_URL is set in your environment.'
|
37
|
-
puts e.inspect
|
38
|
-
end
|
39
|
-
|
40
|
-
def build_params
|
41
|
-
payload = {
|
42
|
-
:username => message_options['slack_username'],
|
43
|
-
:icon_url => message_options['slack_icon'],
|
44
|
-
:text => message
|
45
|
-
}
|
46
|
-
|
47
|
-
{ 'payload' => MultiJson.dump(payload) }
|
48
|
-
end
|
49
|
-
|
50
31
|
def message
|
51
32
|
config[callback] % message_options
|
52
33
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Unidad
|
2
|
+
module MessengerAdapters
|
3
|
+
class Base
|
4
|
+
attr_accessor :message, :options
|
5
|
+
|
6
|
+
def self.call(message, options = {})
|
7
|
+
new(message, options).call
|
8
|
+
end
|
9
|
+
|
10
|
+
def initialize(message, options = {})
|
11
|
+
@message = message
|
12
|
+
@options = options
|
13
|
+
end
|
14
|
+
|
15
|
+
def call
|
16
|
+
raise Unidad::OverrideInSubclassError
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
module Unidad
|
5
|
+
module MessengerAdapters
|
6
|
+
class Slack < Base
|
7
|
+
def call
|
8
|
+
uri = URI(ENV['SLACK_WEBHOOK_URL'])
|
9
|
+
Net::HTTP.post_form(uri, build_params)
|
10
|
+
rescue => e
|
11
|
+
puts 'There was an error notifying Slack. Please check that SLACK_WEBHOOK_URL is set in your environment.'
|
12
|
+
puts e.inspect
|
13
|
+
end
|
14
|
+
|
15
|
+
protected
|
16
|
+
|
17
|
+
def build_params
|
18
|
+
payload = {
|
19
|
+
:username => options['slack_username'],
|
20
|
+
:icon_url => options['slack_icon'],
|
21
|
+
:text => message
|
22
|
+
}
|
23
|
+
|
24
|
+
{ 'payload' => JSON.generate(payload) }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/unidad/version.rb
CHANGED
data/lib/unidad.rb
CHANGED
@@ -4,7 +4,10 @@ require 'hashie'
|
|
4
4
|
|
5
5
|
require 'util/match_method_macros'
|
6
6
|
require 'unidad/version'
|
7
|
+
require 'unidad/errors'
|
7
8
|
require 'unidad/command_builder'
|
9
|
+
require 'unidad/messenger_adapters/base'
|
10
|
+
require 'unidad/messenger_adapters/slack'
|
8
11
|
require 'unidad/messenger'
|
9
12
|
require 'unidad/cli'
|
10
13
|
|
@@ -20,4 +23,8 @@ module Unidad
|
|
20
23
|
def self.config
|
21
24
|
Hashie::Mash.new(YAML.load(ERB.new(File.new(config_path).read).result)).unidad
|
22
25
|
end
|
26
|
+
|
27
|
+
def self.messenger_adapter
|
28
|
+
Kernel.const_get("Unidad::MessengerAdapters::#{(config.messenger_adapter || 'Slack')}")
|
29
|
+
end
|
23
30
|
end
|
data/unidad.gemspec
CHANGED
@@ -14,22 +14,20 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.homepage = 'https://github.com/crushlovely/unidad'
|
15
15
|
spec.license = 'MIT'
|
16
16
|
|
17
|
-
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)\/}) }
|
18
18
|
spec.bindir = 'bin'
|
19
19
|
spec.executables = ['unidad']
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
-
spec.add_dependency 'thor', '~> 0.
|
23
|
-
spec.add_dependency 'dotenv', '~> 1
|
24
|
-
spec.add_dependency '
|
25
|
-
spec.add_dependency 'hashie', '>= 2.0'
|
22
|
+
spec.add_dependency 'thor', '~> 0.19'
|
23
|
+
spec.add_dependency 'dotenv', '~> 2.1'
|
24
|
+
spec.add_dependency 'hashie', '~> 3.4'
|
26
25
|
spec.add_development_dependency 'bundler', '~> 1.9'
|
27
26
|
spec.add_development_dependency 'rake', '~> 10.0'
|
28
|
-
spec.add_development_dependency '
|
29
|
-
spec.add_development_dependency
|
30
|
-
spec.add_development_dependency
|
31
|
-
spec.add_development_dependency
|
32
|
-
spec.add_development_dependency
|
33
|
-
spec.add_development_dependency
|
34
|
-
spec.add_development_dependency('codeclimate-test-reporter')
|
27
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
28
|
+
spec.add_development_dependency 'rubocop', '~> 0.1'
|
29
|
+
spec.add_development_dependency 'guard', '~> 2.0'
|
30
|
+
spec.add_development_dependency 'guard-rspec', '~> 4.0'
|
31
|
+
spec.add_development_dependency 'guard-rubocop', '~> 1.0'
|
32
|
+
spec.add_development_dependency 'codeclimate-test-reporter', '~> 0.1'
|
35
33
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unidad
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.
|
4
|
+
version: 0.0.1.beta5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- PJ Kelly
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -16,56 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '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: '0.
|
26
|
+
version: '0.19'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: dotenv
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1
|
33
|
+
version: '2.1'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: multi_json
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '1.7'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '1.7'
|
40
|
+
version: '2.1'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: hashie
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
|
-
- - "
|
45
|
+
- - "~>"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
47
|
+
version: '3.4'
|
62
48
|
type: :runtime
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
|
-
- - "
|
52
|
+
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
54
|
+
version: '3.4'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: bundler
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,103 +81,89 @@ dependencies:
|
|
95
81
|
- !ruby/object:Gem::Version
|
96
82
|
version: '10.0'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
84
|
+
name: rspec
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
87
|
- - "~>"
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0
|
89
|
+
version: '3.0'
|
104
90
|
type: :development
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
94
|
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: rspec
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
96
|
+
version: '3.0'
|
125
97
|
- !ruby/object:Gem::Dependency
|
126
98
|
name: rubocop
|
127
99
|
requirement: !ruby/object:Gem::Requirement
|
128
100
|
requirements:
|
129
|
-
- - "
|
101
|
+
- - "~>"
|
130
102
|
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
103
|
+
version: '0.1'
|
132
104
|
type: :development
|
133
105
|
prerelease: false
|
134
106
|
version_requirements: !ruby/object:Gem::Requirement
|
135
107
|
requirements:
|
136
|
-
- - "
|
108
|
+
- - "~>"
|
137
109
|
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
110
|
+
version: '0.1'
|
139
111
|
- !ruby/object:Gem::Dependency
|
140
112
|
name: guard
|
141
113
|
requirement: !ruby/object:Gem::Requirement
|
142
114
|
requirements:
|
143
|
-
- - "
|
115
|
+
- - "~>"
|
144
116
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
117
|
+
version: '2.0'
|
146
118
|
type: :development
|
147
119
|
prerelease: false
|
148
120
|
version_requirements: !ruby/object:Gem::Requirement
|
149
121
|
requirements:
|
150
|
-
- - "
|
122
|
+
- - "~>"
|
151
123
|
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
124
|
+
version: '2.0'
|
153
125
|
- !ruby/object:Gem::Dependency
|
154
126
|
name: guard-rspec
|
155
127
|
requirement: !ruby/object:Gem::Requirement
|
156
128
|
requirements:
|
157
|
-
- - "
|
129
|
+
- - "~>"
|
158
130
|
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
131
|
+
version: '4.0'
|
160
132
|
type: :development
|
161
133
|
prerelease: false
|
162
134
|
version_requirements: !ruby/object:Gem::Requirement
|
163
135
|
requirements:
|
164
|
-
- - "
|
136
|
+
- - "~>"
|
165
137
|
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
138
|
+
version: '4.0'
|
167
139
|
- !ruby/object:Gem::Dependency
|
168
140
|
name: guard-rubocop
|
169
141
|
requirement: !ruby/object:Gem::Requirement
|
170
142
|
requirements:
|
171
|
-
- - "
|
143
|
+
- - "~>"
|
172
144
|
- !ruby/object:Gem::Version
|
173
|
-
version: '0'
|
145
|
+
version: '1.0'
|
174
146
|
type: :development
|
175
147
|
prerelease: false
|
176
148
|
version_requirements: !ruby/object:Gem::Requirement
|
177
149
|
requirements:
|
178
|
-
- - "
|
150
|
+
- - "~>"
|
179
151
|
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
152
|
+
version: '1.0'
|
181
153
|
- !ruby/object:Gem::Dependency
|
182
154
|
name: codeclimate-test-reporter
|
183
155
|
requirement: !ruby/object:Gem::Requirement
|
184
156
|
requirements:
|
185
|
-
- - "
|
157
|
+
- - "~>"
|
186
158
|
- !ruby/object:Gem::Version
|
187
|
-
version: '0'
|
159
|
+
version: '0.1'
|
188
160
|
type: :development
|
189
161
|
prerelease: false
|
190
162
|
version_requirements: !ruby/object:Gem::Requirement
|
191
163
|
requirements:
|
192
|
-
- - "
|
164
|
+
- - "~>"
|
193
165
|
- !ruby/object:Gem::Version
|
194
|
-
version: '0'
|
166
|
+
version: '0.1'
|
195
167
|
description: A thin wrapper and notification layer around your deployment workflows.
|
196
168
|
email:
|
197
169
|
- pj@crushlovely.com
|
@@ -221,8 +193,12 @@ files:
|
|
221
193
|
- lib/unidad/cli/deploy.rb
|
222
194
|
- lib/unidad/cli/namespaced_group.rb
|
223
195
|
- lib/unidad/cli/root.rb
|
196
|
+
- lib/unidad/cli/s3_website.rb
|
224
197
|
- lib/unidad/command_builder.rb
|
198
|
+
- lib/unidad/errors.rb
|
225
199
|
- lib/unidad/messenger.rb
|
200
|
+
- lib/unidad/messenger_adapters/base.rb
|
201
|
+
- lib/unidad/messenger_adapters/slack.rb
|
226
202
|
- lib/unidad/version.rb
|
227
203
|
- lib/util/match_method_macros.rb
|
228
204
|
- unidad.gemspec
|
@@ -246,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
246
222
|
version: 1.3.1
|
247
223
|
requirements: []
|
248
224
|
rubyforge_project:
|
249
|
-
rubygems_version: 2.4.5
|
225
|
+
rubygems_version: 2.4.5.1
|
250
226
|
signing_key:
|
251
227
|
specification_version: 4
|
252
228
|
summary: A thin wrapper and notification layer around your deployment workflows.
|