@artemv/ruby-starter-kit
Version:
Ruby app boilerplate based on Ruby Starter Kit (Bundler, Guard, ActiveSupport Logger, Rubocop, RSpec, WebMock, Travis, CodeClimate)
68 lines (53 loc) • 2.9 kB
Markdown
# Ruby Starter Kit
[](https://greenkeeper.io/)
This is a Ruby app boilerplate with conventional code structure and basic dev env to start some console mode utility app with (Bundler, Guard, ActiveSupport Logger, Rubocop, RSpec, WebMock, Travis, CodeClimate).
[](https://travis-ci.org/artemv/ruby-starter-kit)
[](https://codeclimate.com/github/artemv/ruby-starter-kit)
[](https://codeclimate.com/github/artemv/ruby-starter-kit/coverage)
[](https://github.com/semantic-release/semantic-release)
# App code structure
Place your app-specific code in app/ dir, and utility code that you'd like to extract to gems later to lib/ dir. Files in both of them are autoloaded from app.rb (via lib/environment.rb).
# Installation
* Clone the repo: `git clone https://github.com/artemv/ruby-starter-kit.git my-app`
## 1 - In your machine
* Install Ruby 2.6.3 from https://www.ruby-lang.org/en/downloads/ or via RVM (https://rvm.io/)
* Install Bundler and dependencies:
```
cd my-app
gem install bundler
bundle install
```
If `bundle install` fails trying to install `ffi` and you're on MacOS Mojave, try this and repeat:
```
LDFLAGS="-L/usr/local/opt/libffi/lib" PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig" gem install ffi -v '1.11.1' --source 'https://rubygems.org/'
```
Alternatively if you are using Yeoman you can install it using its generator as described [here](https://github.com/artemv/generator-ruby-starter-kit).
## 2 - Using Docker
* Build the Docker Compose:
```
docker-compose up -d --build
```
If it complains like "ERROR: The Docker Engine version is less than the minimum required by Compose. Your current project requires a Docker Engine of version 1.13.0 or greater."
that means you have too old version of docker server. Check it with command:
`docker version`. Then you can upgrade it with `docker-machine upgrade default`.
* Go inside the docker container:
```
docker exec -it ruby-starter-kit /bin/bash
```
Now you can change the source files locally, and the changes will be seen inside docker container transparently - so
it's rather straightforward way to set up a working dev env.
# Usage
Run the app entry point script:
```
repo=octokit.rb bin/app.rb
```
Run the guard dev env tool:
```
guard
```
It will run rubocop on start, will run rubocop inspections on changed files and will re-run all RSpecs and rubocop
inspections if you hit Enter in guard window.
Run the tests:
```
rspec
```