Project

ggake

0.0
No release in over 3 years
Low commit activity in last 3 years
A collection of useful Rake utilities
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
~> 1.3
>= 0
>= 0
>= 0

Runtime

>= 0
 Project Readme

ggake

Over time I've written a bunch of useful little functions and tasks that have been handy in the build systems of my projects. Finally, I've decided to collect these together.

You might also find some of these useful if you use Rake.

Installation

Add this line to your application's Gemfile:

gem 'ggake'

And then execute:

$ bundle

Or install it yourself as:

$ gem install ggake

Usage

This gem provides the following utilities:

  • haml_template: Compiles a Haml template to an HTML file.

  • coffee: Compiles a CoffeeScript script to a JavaScript script.

  • transient: Allows a Rake task to depend on a transient value, such as an environment variable.

  • cloud_cp: Simple copy of a directory to an S3, or other cloud storage, bucket.

  • foreman: Runs Heroku's foreman tool in a clean environment.

  • heroku: Runs the Heroku command in a clean environment.

  • heroku_config_get: Returns the value of an environment variable set for a particular Heroku app.

  • dbdeploy: Runs DBDeploy to migrate your database

More detailed usage below.

haml_template

haml_template(path_to_haml_template, output: path_to_output_directory)

coffee

coffee(path_to_coffee, output: path_to_output_directory)

transient

What's this all about then?

transient :calatrava_env, ENV['CALATRAVA_ENV']
task :build => :calatrava_env

cloud_cp

cloud_ cp(directory, bucket: bucket_name,
                     credentials: {
                       access_key: aws_access_key,
                       secret_key: aws_secret_key
                     },
                     public: true)

foreman

foreman [[name, "value"]] "<foreman command line here>"

heroku

heroku ["cmd" "args"]

heroku_config_get

heroku_config_get "var", "heroku-app-name"

dbdebploy

dbdeploy classpath: "path to DBDeploy jar and DB driver jar", db_url: "DB URL to migrate",
         user: "User name", password: "password", driver: "Java class name for DB driver",
         migrations: "directory containing migration scripts"

The driver defaults to PostgreSQL. The migrations directory defaults to src/db/migrations, relative to the Rakefile. The password will not appear on any command line, or in any build logs.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request