Ruby 基本環境


# About Ruby on Rails

## rbenv

Ruby の実行環境をシステムの Ruby ではなくユーザーやディレクトリ毎にバージョン切り替え可能にするツール。

https://github.com/rbenv/rbenv

rbenv を使う場合の実際に使われる Ruby バージョンの優先順位について。

https://github.com/rbenv/rbenv#choosing-the-ruby-version

1. 環境変数: RBENV_VERSION
1. ローカル: 実行したスクリプトのディレクトリ or カレント(作業)ディレクトリ、または親ディレクトリをルートまで辿って見つかった .ruby-version
1. グローバル: ~/.rbenv/version
1. システム: PATH

## Ruby

https://www.ruby-lang.org/ja/

## gem

パッケージ化された Ruby アプリケーションまたはライブラリのこと。
 
http://guides.rubygems.org/what-is-a-gem/
 
## bundler

gem の管理ツール。
http://bundler.io/

- Gemfile に記載された gem を取得する
- Gemfile には gem のバージョンを指定することができる(任意)
- Gemfile.lock ファイルには実際にインストールされた gem のバージョンが記載される
- Gemfile.lock ファイルのバージョンが優先される

# Install rbenv

## for Mac

https://github.com/rbenv/rbenv#homebrew-on-mac-os-x

- homebrew でインストールする
- rbenv init コマンドを実行する必要がある
- 端末を開く度に実行するために .bash_profile に $(rbenv init -) を追加する

```
brew update
brew install rbenv
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
```

## for Linux

https://github.com/rbenv/rbenv#basic-github-checkout

- gitから直接 clone する
- rbenv init コマンドを実行する必要がある
- 端末を開く度に実行するために .bash_profile に .rbenv/bin を path に追加するのと $(rbenv init -) を追加する

```
yum install -y readline-devel
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
```
# Install ruby

## Check latest version of Ruby

```
rbenv install -l | grep ' 2\.'
```

2016年5月の時点では2.3.1

## Install ruby

```
rbenv install 2.3.1
```

# Install bundler

```
gem install bundler
```

注意事項

- gem install で permission エラーが出る場合は手順が間違っている
- sudo はしない
- gem env でどの gem が使われているか確認できる。

 

新規プロジェクト

# Make rails environment with bundler

bundler を使用して rails 構成を作る。

## Setup project directory

プロジェクトディレクトリを作成して使用する rails のバージョンをセットする。

```
mkdir project
cd project
rbenv local 2.3.1
bundle init
```

Gemfiles ファイルを編集して gem "rails" の行で Rails のバージョンを指定する。

```
gem "rails", "5.0.0.rc1"
```

Rails を vendor/bundle にインストールする。不要な Gemfile と Gemfile.lock は削除する。

```
bundle install --path vendor/bundle
rm Gemfile Gemfile.lock
```
 
## Setup new project

新規プロジェクトをカレントディレクトリに作成する。

```
bundle exec rails new .
```
 
## Run rails server

Rails serverを実行する。
 
```
bin/rails server
```
 
http://localhost:3000/
Slim Template Engine

# Setup to use Slim Template Engine
 
## Install Slim on Rails

Gemfile の最後尾に slim-rails を追加する。
 
```
# Slim
gem 'slim-rails'
```
 
bundle install を実行する。
 
```
bundle install
```
 
テンプレートエンジンに slim を使うように設定。
 
config/application.rb ファイルの Application クラスにテンプレートエンジンを明示。

```
  class Application < Rails::Application
    # Settings in config/environments/* take precedence over those specified here.
    # Application configuration should go into files in config/initializers
    # -- all .rb files in that directory are automatically loaded.
    config.generators.template_engine = :slim
  end
```
 
## Add Controller
 
sample1 コントローラーを生成する。
 
```
bin/rails generate controller sample1 index
```
 
app/views/sample1/index.html.slim が生成されている。
## Restart rails server 
 
前回起動したままの rail server を終了して再起動する。
 
```
bin/rails server
```
 
http://localhost:3000/sample1/index