Skip to content

Instantly share code, notes, and snippets.

@kristianmandrup
Created January 26, 2010 16:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kristianmandrup/286946 to your computer and use it in GitHub Desktop.
Save kristianmandrup/286946 to your computer and use it in GitHub Desktop.
#=======================
# Gem
#=======================
function gem_init_version {
rake version:write
rake version:bump:minor
}
function gem_version {
rake version
}
function gem_inc_major {
rake version:bump:major
}
function gem_inc_minor {
rake version:bump:minor
}
function gem_patch {
rake version:bump:patch
}
#=======================
# Gemcutter
#=======================
function gemcutter_release {
rake gemcutter:release
}
function gemcutter_push {
name=$1
shift 1
gem push $name.gem
}
function jewel_push {
name=$1
shift 1
gem push pkg/$name.gem
}
#=======================
# Jewel
#=======================
function jewel_build {
name=$1
shift 1
jeweler $name --gemcutter
cd $name
touch CHANGELOG
gem_init_version
echo "A history of changes to the gem..." >> CHANGELOG
}
#=======================
# Create Generator
#=======================
function rails3_gen {
generator_name=$1
gem_name=gem_$generator_name
shift 1
script/generate generator $generator_name
cd lib/generators
# create jewel
jewel_build $gem_name
cd lib
# remove default rb file
# create directory structure for generator
rm *.rb
mkdir generators
# go to top dir
cd ../..
# # move generator into jewel
mv $generator_name $gem_name/lib/generators
echo "Set in Rakefile: gem.files=Dir['lib/**/*.rb']"
echo "Add template files to /templates dir"
echo "When done: $ jewel_install"
echo "Then add: gem '$name' to Gemfile and then to install"
echo "$ gem bundle"
mate $gem_name
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment