halfday 0.0.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a22890d56d8fd9f4b8f92205cb1447116fb813cf
4
+ data.tar.gz: 3f4527bbbbd562668e1382450524767d295c07f2
5
+ SHA512:
6
+ metadata.gz: 3049df5e6923dbab805760d2ce9fa52b6cf3c6b11442b2027f02592b5103f9ccda84ed7d349a03468f9685c5c9f4a00bfeb2cfae890c37a929334f2b37df25f7
7
+ data.tar.gz: 0e5e9ff7c4d10ce511c7b83814baff29423d38a3ef58953a80f403d6477f1c39a538abc90b461bff0ee0ff5fb296440fdcaa040654878d72284bbb26487ff263
data/Gemfile CHANGED
@@ -1,4 +1,2 @@
1
1
  source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in halfday.gemspec
4
2
  gemspec
data/LICENSE.md ADDED
@@ -0,0 +1,8 @@
1
+ Copyright (c) 2013, Mirego All rights reserved.
2
+
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4
+
5
+ Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6
+ Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
7
+ Neither the name of the Mirego nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
8
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.md CHANGED
@@ -1,29 +1,115 @@
1
1
  # Halfday
2
2
 
3
- TODO: Write a gem description
3
+ This gem adds some recipes for Capistrano.
4
+
5
+ *__Warning:__ It is not recommended to use this gem as is since you need your server to be configured in a very specific way. Extract what you need or fork it to make it compliant with your setup.*
4
6
 
5
7
  ## Installation
6
8
 
7
- Add this line to your application's Gemfile:
9
+ Add this line to your applicationns `Gemfile`:
10
+
11
+ ```ruby
12
+ gem 'halfday', require: false
13
+ ```
8
14
 
9
- gem 'halfday'
15
+ ## Usage
10
16
 
11
- And then execute:
17
+ Add those lines to your application’s `Capfile`:
12
18
 
13
- $ bundle
19
+ ```ruby
20
+ set :application, 'YOUR APPLICATION NAME'
21
+ set :repository, 'YOUR GIT REPOSITORY'
14
22
 
15
- Or install it yourself as:
23
+ require 'halfday'
24
+ ```
16
25
 
17
- $ gem install halfday
26
+ ### Defining your environments
18
27
 
19
- ## Usage
28
+ You still need to define every environments in `config/deploy/`.
29
+
30
+ ```ruby
31
+ # config/deploy/staging.rb
32
+
33
+ role :app, 'HOSTNAME', primary: true
34
+ role :web, 'HOSTNAME', primary: true
35
+ role :db, 'HOSTNAME', primary: true
36
+
37
+ set :default_tag, '0.2.4' # Branch or Tag
38
+ ```
39
+
40
+ ## Available recipes
41
+
42
+ For now, all those recipes will be used on deployment if their Gem is included in your `Gemfile`.
43
+
44
+ ### Branch deployment
45
+
46
+ On deployment, you’ll be ask to specify the `branch` or `tag` you want to deploy. If you hit `Enter`, the `default_tag` will be used. You can also enter `HEAD` to use the branch you’re currently on.
47
+
48
+ ```bash
49
+ $ cap staging deploy
50
+
51
+ * 2013-06-20 14:02:53 executing `staging'
52
+ * 2013-06-20 14:02:53 executing `deploy'
53
+ * 2013-06-20 14:02:53 executing `deploy:update'
54
+ ** transaction: start
55
+ * 2013-06-20 14:02:53 executing `deploy:update_code'
56
+
57
+ Tag or branch to deploy: [0.2.4]
58
+ ```
59
+
60
+ ### Dotenv
61
+
62
+ [Dotenv](https://github.com/bkeepers/dotenv) is included as well in those recipes, if included in your project, it will automatically *symlink* `/opt/app/shared/.env` into `/opt/app/current` on deployment.
63
+
64
+ ### Foreman
65
+
66
+ ```bash
67
+ cap foreman:restart # Restart your app
68
+ cap foreman:start # Start your app
69
+ cap foreman:stop # Stop your app
70
+ cap foreman:export # Export upstart script to /etc/init/
71
+ ```
72
+
73
+ ### Git
74
+
75
+ ```bash
76
+ cap git:clean # Remove .git
77
+ cap git:init_submodules # Initialize Git submodule
78
+ ```
79
+
80
+ ### RVM
81
+
82
+ If you’re using [RVM](https://rvm.io/) on your server, it’ll automatically use the Ruby version written in your `.ruby-version` file.
83
+
84
+ ### Whenever
85
+
86
+ If your project includes [Whenever](https://github.com/javan/whenever), the crontab will be updated automatically in a callback.
87
+
88
+ ### Yard
89
+
90
+ ```bash
91
+ cap yard:generate # Generate your doc and make it available
92
+ # in http://.../doc
93
+ ```
94
+
95
+ ## Todo
96
+
97
+ * ~~Add a more flexible way to manage which recipes should be applied.~~
98
+ * Add Rails generator for the Capfile.
99
+ * Remove dependancy from Rails.
100
+ * More recipes, always.
101
+
102
+ ## License
20
103
 
21
- TODO: Write usage instructions here
104
+ `Halfday` is © 2013 [Mirego](http://www.mirego.com) and may be freely distributed under the [New BSD license](http://opensource.org/licenses/BSD-3-Clause). See the [`LICENSE.md`](https://github.com/mirego/active_model_serializers_validator/blob/master/LICENSE.md) file.
22
105
 
23
- ## Contributing
106
+ ## About Mirego
24
107
 
25
- 1. Fork it
26
- 2. Create your feature branch (`git checkout -b my-new-feature`)
27
- 3. Commit your changes (`git commit -am 'Add some feature'`)
28
- 4. Push to the branch (`git push origin my-new-feature`)
29
- 5. Create new Pull Request
108
+ Mirego is a team of passionate people who believe that work is a place where you can innovate and have fun.
109
+ We proudly built mobile applications for
110
+ [iPhone](http://mirego.com/en/iphone-app-development/ "iPhone application development"),
111
+ [iPad](http://mirego.com/en/ipad-app-development/ "iPad application development"),
112
+ [Android](http://mirego.com/en/android-app-development/ "Android application development"),
113
+ [Blackberry](http://mirego.com/en/blackberry-app-development/ "Blackberry application development"),
114
+ [Windows Phone](http://mirego.com/en/windows-phone-app-development/ "Windows Phone application development") and
115
+ [Windows 8](http://mirego.com/en/windows-8-app-development/ "Windows 8 application development").
data/halfday.gemspec CHANGED
@@ -6,12 +6,12 @@ require 'halfday/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "halfday"
8
8
  spec.version = Halfday::VERSION
9
- spec.authors = ["Rémi Prévost"]
10
- spec.email = ["remi@exomel.com"]
11
- spec.description = ""
12
- spec.summary = ""
13
- spec.homepage = ""
14
- spec.license = "MIT"
9
+ spec.authors = ["Samuel Garneau"]
10
+ spec.email = ["sgarneau@mirego.com"]
11
+ spec.description = %q{Collection of Capistrano recipes - Deploy. Then, take a halfday.}
12
+ spec.summary = %q{Collection of Capistrano recipes - Deploy. Then, take a halfday.}
13
+ spec.homepage = "https://github.com/mirego/halfday"
14
+ spec.license = 'BSD 3-Clause'
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -20,4 +20,9 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
+
24
+ spec.add_dependency "capistrano"
25
+ spec.add_dependency "capistrano-ext"
26
+
27
+ spec.add_dependency "foreman"
23
28
  end
@@ -0,0 +1,57 @@
1
+ require 'halfday/helpers/cset'
2
+ require 'halfday/helpers/require_recipe'
3
+
4
+ Capistrano::Configuration.instance(:must_exist).load do
5
+ # Stages
6
+ # Load 3rd party recipes
7
+ require_recipe "bundler/capistrano"
8
+ require_recipe 'dotenv/capistrano'
9
+
10
+ require 'capistrano/ext/multistage'
11
+
12
+ load 'deploy' if respond_to?(:namespace)
13
+ load 'deploy/assets'
14
+
15
+ # Load recipes
16
+ _cset :ignored_recipes, []
17
+
18
+ [:foreman, :git, :yard, :whenever, :rvm, :setup, :nginx].each do |mod|
19
+ require "halfday/#{mod}/capistrano" unless ignored_recipes.include?(mod)
20
+ end
21
+
22
+ # Callbacks
23
+ after 'deploy', 'deploy:cleanup'
24
+ after 'deploy:update_code', 'deploy:migrate'
25
+
26
+ # Bundler
27
+ set :bundle_without, [:test]
28
+ _cset :bundle_cmd, "bundle"
29
+
30
+ # Deploy
31
+ _cset :deploy_to, "/opt/#{application}"
32
+
33
+ set :scm, :git
34
+ set :keep_releases, 3
35
+ set :ssh_options, { forward_agent: true }
36
+
37
+ # User
38
+ set :use_sudo, false
39
+ set :user, :ubuntu
40
+
41
+ # Environment
42
+ #
43
+ # On all our remote server, the environment
44
+ # should be staging.
45
+ set :rails_env, Proc.new { 'staging' }
46
+ set :migrate_env, Proc.new { "RAILS_ENV=#{rails_env}" }
47
+
48
+ # Branch
49
+ set :branch do
50
+ tag = Capistrano::CLI.ui.ask "Tag or branch to deploy: [#{default_tag}] "
51
+ tag = `git symbolic-ref -q HEAD | sed -e 's|^refs/heads/||'`.chomp if tag == 'HEAD'
52
+
53
+ (tag.empty?) ? default_tag : tag
54
+ end
55
+
56
+ default_run_options[:pty] = true
57
+ end
@@ -0,0 +1,42 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+
3
+ after 'deploy', 'foreman:export'
4
+ after 'deploy', 'foreman:restart'
5
+
6
+ namespace :foreman do
7
+
8
+ desc "Export upstart script"
9
+ task :export, roles: :app do
10
+ # Uploading process template
11
+ run "mkdir -p #{shared_path}/templates"
12
+ upload File.expand_path('../upstart/process.conf.erb', __FILE__), "#{shared_path}/templates/process.conf.erb"
13
+
14
+ # I couldn't simply use `sudo bundle exec` since
15
+ # there was an issue using RVM. It was raising
16
+ #
17
+ # no such file to load -- rubygems
18
+ #
19
+ # If you have an idea on how to fix this. Pull
20
+ # request are more than welcomed :)
21
+ #
22
+ # The fix was to write the upstart script into
23
+ # a non-restricted folder and move it right after.
24
+ run "cd #{current_path} && #{bundle_cmd} exec foreman export upstart -a #{application} -u #{user} -l #{shared_path}/log/ -t #{shared_path}/templates #{shared_path}/upstart"
25
+ sudo "mv #{shared_path}/upstart/* /etc/init/"
26
+
27
+ # Cleaning up this mess
28
+ run "rm -rf #{shared_path}/upstart"
29
+ run "rm -rf #{shared_path}/templates"
30
+ end
31
+
32
+ [:start, :stop, :restart].each do |action|
33
+ desc "#{action.to_s.capitalize} application"
34
+ task action, roles: :app do
35
+ sudo "service #{application} #{action}"
36
+ end
37
+
38
+ before "foreman:#{action}", 'foreman:export'
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,5 @@
1
+ start on starting <%= app %>-<%= name %>
2
+ stop on stopping <%= app %>-<%= name %>
3
+ respawn
4
+
5
+ exec su - <%= user %> -c 'cd <%= engine.root %>; source .env; <%= process.command %> >> <%= log %>/<%=name%>-<%=num%>.log 2>&1'
@@ -0,0 +1,21 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+
3
+ before 'bundle:install', 'git:init_submodules'
4
+ after 'deploy', 'git:clean'
5
+
6
+ namespace :git do
7
+
8
+ desc "Update git submodules"
9
+ task :init_submodules, roles: :app do
10
+ run "cd #{release_path} && git submodule init --quiet"
11
+ run "cd #{release_path} && git submodule update --quiet"
12
+ end
13
+
14
+ desc "Remove git crumbles"
15
+ task :clean, roles: :app do
16
+ run "rm -fr `find #{deploy_to}/releases -iname \".git*\"`"
17
+ end
18
+
19
+ end
20
+
21
+ end
@@ -0,0 +1,12 @@
1
+ # _cset is a method from the original
2
+ # Capistrano code.
3
+ #
4
+ # https://github.com/capistrano/capistrano/blob/cb38c68bf9ec079590e6124728a1027668914f68/lib/capistrano/recipes/deploy.rb#L5
5
+ #
6
+ # It wasn't accessible through this gem
7
+ # so I had to copy it there.
8
+ def _cset(name, *args, &block)
9
+ unless exists?(name)
10
+ set(name, *args, &block)
11
+ end
12
+ end
@@ -0,0 +1,7 @@
1
+ def require_recipe(path)
2
+ begin
3
+ require path
4
+ rescue LoadError
5
+ "> Unable to load #{path}"
6
+ end
7
+ end
@@ -0,0 +1,21 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+
3
+ after 'deploy:create_symlink', 'nginx:configure'
4
+
5
+ namespace :nginx do
6
+
7
+ desc 'Add app configuration for Mirego infrastructure'
8
+ task :configure, roles: :app do
9
+ if %w{ci qa staging}.include?(rails_env)
10
+ conf_path = "/etc/nginx/apps.conf.d/#{application}.conf"
11
+
12
+ upload File.expand_path('../templates/app.conf', __FILE__), conf_path
13
+
14
+ run "sed -i #{conf_path} -e s/\\\\[APPLICATION\\\\]/#{application}/g"
15
+ run "source #{current_path}/.env && sed -i #{conf_path} -e s/\\\\[PORT\\\\]/$PORT/g"
16
+ run "sudo service nginx reload"
17
+ end
18
+ end
19
+ end
20
+
21
+ end
@@ -0,0 +1,13 @@
1
+ upstream local-[APPLICATION]{
2
+ server 127.0.0.1:[PORT];
3
+ }
4
+
5
+ server {
6
+ listen 8080;
7
+ server_name [APPLICATION].*;
8
+
9
+ location / {
10
+ proxy_pass http://local-[APPLICATION];
11
+ proxy_set_header Host $http_host;
12
+ }
13
+ }
@@ -0,0 +1,15 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+
3
+ begin
4
+ require 'rvm/capistrano'
5
+
6
+ _cset :rvm_ruby_string, :release_path
7
+
8
+ # Make sure that the bash_profile is sourced
9
+ # before running bundle command.
10
+ set :bundle_cmd, 'source $HOME/.bash_profile && bundle'
11
+ rescue LoadError
12
+ puts "WARNING: RVM is not part of the application"
13
+ end
14
+
15
+ end
@@ -0,0 +1,14 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+
3
+ before 'deploy:setup', 'setup:create_directory'
4
+
5
+ namespace :setup do
6
+
7
+ desc "Create app directory"
8
+ task :create_directory, roles: :app do
9
+ run "sudo mkdir -p #{deploy_to} && sudo chown ubuntu:ubuntu #{deploy_to}"
10
+ end
11
+
12
+ end
13
+
14
+ end
@@ -1,3 +1,3 @@
1
1
  module Halfday
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -0,0 +1,14 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+
3
+ begin
4
+ require 'whenever/capistrano'
5
+
6
+ after 'bundle:install', 'whenever:update_crontab'
7
+
8
+ set :whenever_environment, defer { rails_env }
9
+ set :whenever_command, "bundle exec whenever"
10
+ rescue LoadError
11
+ puts "WARNING: Whenever is not part of the application"
12
+ end
13
+
14
+ end
@@ -0,0 +1,19 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+
3
+ if defined?(Yard)
4
+ after 'deploy:create_symlink', 'yard:generate'
5
+
6
+ namespace :yard do
7
+
8
+ desc "Update the documentation alone before a release`"
9
+ task :generate, roles: :app do
10
+ # Build the documentation for the application and make it public
11
+ run "mkdir #{current_path}/doc"
12
+ run "cd #{current_path} && #{bundle_cmd} exec yard doc RAILS_ENV=#{stage}"
13
+ run "mv #{current_path}/doc #{current_path}/public/doc"
14
+ end
15
+
16
+ end
17
+ end
18
+
19
+ end
data/lib/halfday.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require "halfday/version"
2
+ require "halfday/capistrano"
2
3
 
3
4
  module Halfday
4
- # Your code goes here...
5
5
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: halfday
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.1.2
6
5
  platform: ruby
7
6
  authors:
8
- - Rémi Prévost
7
+ - Samuel Garneau
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-19 00:00:00.000000000 Z
11
+ date: 2013-09-26 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,63 +27,109 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
- description: ''
41
+ - !ruby/object:Gem::Dependency
42
+ name: capistrano
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: capistrano-ext
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: foreman
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Collection of Capistrano recipes - Deploy. Then, take a halfday.
47
84
  email:
48
- - remi@exomel.com
85
+ - sgarneau@mirego.com
49
86
  executables: []
50
87
  extensions: []
51
88
  extra_rdoc_files: []
52
89
  files:
53
90
  - .gitignore
54
91
  - Gemfile
55
- - LICENSE.txt
92
+ - LICENSE.md
56
93
  - README.md
57
94
  - Rakefile
58
95
  - halfday.gemspec
59
96
  - lib/halfday.rb
97
+ - lib/halfday/capistrano.rb
98
+ - lib/halfday/foreman/capistrano.rb
99
+ - lib/halfday/foreman/upstart/process.conf.erb
100
+ - lib/halfday/git/capistrano.rb
101
+ - lib/halfday/helpers/cset.rb
102
+ - lib/halfday/helpers/require_recipe.rb
103
+ - lib/halfday/nginx/capistrano.rb
104
+ - lib/halfday/nginx/templates/app.conf
105
+ - lib/halfday/rvm/capistrano.rb
106
+ - lib/halfday/setup/capistrano.rb
60
107
  - lib/halfday/version.rb
61
- homepage: ''
108
+ - lib/halfday/whenever/capistrano.rb
109
+ - lib/halfday/yard/capistrano.rb
110
+ homepage: https://github.com/mirego/halfday
62
111
  licenses:
63
- - MIT
112
+ - BSD 3-Clause
113
+ metadata: {}
64
114
  post_install_message:
65
115
  rdoc_options: []
66
116
  require_paths:
67
117
  - lib
68
118
  required_ruby_version: !ruby/object:Gem::Requirement
69
- none: false
70
119
  requirements:
71
- - - ! '>='
120
+ - - '>='
72
121
  - !ruby/object:Gem::Version
73
122
  version: '0'
74
- segments:
75
- - 0
76
- hash: -1669050678196599340
77
123
  required_rubygems_version: !ruby/object:Gem::Requirement
78
- none: false
79
124
  requirements:
80
- - - ! '>='
125
+ - - '>='
81
126
  - !ruby/object:Gem::Version
82
127
  version: '0'
83
- segments:
84
- - 0
85
- hash: -1669050678196599340
86
128
  requirements: []
87
129
  rubyforge_project:
88
- rubygems_version: 1.8.23
130
+ rubygems_version: 2.0.0
89
131
  signing_key:
90
- specification_version: 3
91
- summary: ''
132
+ specification_version: 4
133
+ summary: Collection of Capistrano recipes - Deploy. Then, take a halfday.
92
134
  test_files: []
135
+ has_rdoc:
data/LICENSE.txt DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2013 Rémi Prévost
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.