Syndication Icon
Published October 30, 2019 Updated June 14, 2020

Gemsmith

  • Duration

    01:45

  • Operating System

    macOS

  • Shell

    bash

  • Terminal

    xterm

Transcript

# Hello and welcome to the Alchemists Screencasts!
# Today, we'll look at Gemsmith:
# https://www.alchemists.io/projects/gemsmith

# Gemsmith allows you to build/manage Ruby gems with best practices:

gemsmith --help

# The Gemsmith workflow centers around the `--generate` command:

gemsmith --help --generate

# You can customize these options via your `~/.config/gemsmith/configuration.yml` file.
# Gem creation looks like this (using "example" as the gem name):

gemsmith --generate example
cd example

# We now have a workable gem structure for adding new functionality:

tree

# As a bonus, Git is initialized and the master branch is clean:

git status --short --branch

# We can also see Gemsmith crafted our first commit for us:

gl

# 💡 See the *Git Log Pretty* screencast for details on the `gl` alias.

# Rake has been set up with the default tasks as well.
# This means we can check the status of our gem code with a single command:

bundle exec rake

# Additionally, a gem can be customized by enabling/disabling what you need:

cd ..
rm -rf example
gemsmith --generate example --cli

# In this case, command line supports adds additional structure:

tree example

# If enabling/disabling Gemsmith settings often, add them to your global configuration:

gemsmith --help --config
gemsmith --config --info

# Please see the README for additional capabilities.

# Enjoy!
# https://www.alchemists.io
# ☿ 🜔 🜍 🜂 🜃 🜁 🜄