JBuilderが返却するbodyをRSpecで取得できない件
RubyMineでローカルにbundle installしたRSpecを実行する
Railsでbundle installのパスとして「--path vendor/bundle」を指定することは多いかと思います。
この場合、コマンドからRSpecを実行する際には以下のようにするかと思います。
$ bundle exec rspec spec/・・・_spec.rb
つまり「bundle exec」を指定してローカルにインストールしたRSpecを実行するわけです。
これと同じことをRubyMineで行う方法です。
1.[Run]-[Edit Configration]を開く
2.[RSpec]を開き[Bundler]タブを開く
3.「Run the script in context of the bundle・・・」にチェックを入れる
以上です。
sbt + sublime text + ensimeでのプロジェクト作成〜debug
タイトル通りのことを行う為の手順についてです。
予めマシンにはscala、sbt、sublime text、ensimeと、sublimeにはensimeのための
プラグインがインストールしてあるものとします。
1.プロジェクト作成
1-1.プロジェクトのルートフォルダにて、以下のコマンドを実行する。
$ mkdir -p src/main/scala
1-2.build.sbtを作成する。
ルートフォルダ直下に、build.sbtを作成し、以下のように記述する。
lazy val root = (project in file(".")). settings( name := "sample-app", version := "1.0", scalaVersion := "2.10.4" )
ここまでで以下のようなフォルダ構成になればOK。
$ tree . ├── build.sbt └── src └── main └── scala
1-3.mainの作成
scalaフォルダの中に、mainを作成する。
試しにこんな感じでつくった。
object Startup{ def main(args: Array[String]) :Unit = { val a = "aaa" val b = "bbb" val c = a + b println(c) } }
$ sbt compile
1-5.実行
以下のコマンドで実行する。
$ sbt run
2.ensimeでのデバッグ
2-1.sbtでの.ensimeファイルの作成
sbtのコンソールで、以下のコマンドを実行する。
$ sbt
> ensime generate
2-2.ensime serverの起動
sublime textより、ensime serverを起動する。
[右クリック] - [Ensime] - [Maintenance] - [Startup]
2-3.ブレークポイントの指定
ブレークポイントを設定したい行を選択し、[右クリック] - [Ensime] - [Debugging] - [Toggle breakpoint]。
※ブレークポイントは、mainメソッドの一行目では上手くいかなかった・・・
2-4.実行
[右クリック] - [Ensime] - [Debugging] - [Start debugger]
3.外部jarの追加
上記まででdebugまでは終わりだが、ついでに参照するjarを配置してdebugする手順を書いておきます。
3-1.jarの配置
プロジェクト直下にlibフォルダを作成し、jarを配置する。(sbtのアンマネージド管理の場合)
3-2. .ensimeファイルの再作成
以下のコマンドで.ensimeファイルを再作成する。
$ sbt
> ensime generate
参考サイト
【Scala初心者向け】sbtを触ってみよう! | キャスレーコンサルティング 技術ブログ
最強!?Ensimeを利用したSublime Text3のScala開発環境(playでもliftでも) - Qiita
bundle gem が便利な件
gemを作るときのコマンドであるbundle gemについてです。
以下のようなコマンドを実行すると、gemを作るための雛形をRSpecも含めて
作ってくれます。
$ bundle gem gem-sample -t
作られるファイルの構成は、以下の通りです。
create gem-sample/Gemfile create gem-sample/Rakefile create gem-sample/LICENSE.txt create gem-sample/README.md create gem-sample/.gitignore create gem-sample/gem-sample.gemspec create gem-sample/lib/gem/sample.rb create gem-sample/lib/gem/sample/version.rb create gem-sample/.rspec create gem-sample/spec/spec_helper.rb create gem-sample/spec/gem/sample_spec.rb create gem-sample/.travis.yml
何が便利なのかと言うと
・libフォルダの中にロジックを記述するファイルを作ってくれる(上記ではsample.rb)
・それをテストするためのRSpecを、spec_helper込みで実行可能な状態で作ってくれる
・その他、Gemfile・README.mdなど必要なファイルを作ってくれる
あたりでしょうか。
本来はgemを作るためのコマンドですが、RSpecを含んだサンプルソースを作る場合にも便利だと思います。
この場合は
・.gemspecはgemとして公開する場合の情報を記述するファイルなので削除する
・Gemfileから「gemspec」の記述を削除する
ことが必要です。(やらなくても動きはしますが・・・)
本来の目的ではないコマンドの使い方かもしれませんが、便利だと思ったので載せておきます。
Pryの便利なコマンド(1)
タイトル通り、Pryを使うときに便利だと思ったコマンドです。
Ruby2系のpry-byebugでのみ確認しています。
・!!!、exit!
処理をその場で終了させる。
・show-source クラス名#メソッド名
指定したクラス、メソッドのソースを表示する。
クラスのみ、メソッドのみの指定も可。
引数なしだと、現在止まっている所?を表示するようだ。
(もしかしたらbinding.pryしたところかも)
コマンドやメソッド名はTabキーで入力補完できました。
以下、参考サイトです。ありがとうございました。
binding.pryでループ内にブレイクポイント仕掛けるとだるいことになる | もふもふ技術部
Ruby デバッガー binding.pry - のんびりしているエンジニアの日記
RubyMineからRailsプロジェクトのデータベースを見る
タイトル通り、RubyMineからRailsプロジェクトで使用する
データーベースを見る手順です。
1.DataBaseウィンドウを表示する
メニューバーより、以下を選択する。
・[View] - [Tool Windows] - [Database]
2.データベースに接続する
MySQLの場合は、DataBaseウィンドウで
以下の作業を行わないとデフォルトでは接続されませんでした。
・データベースを右クリック - [Data Source Properties]
・「Data Sources and Drivers」ウィンドウが表示される。
・右下の[Auto sync]をチェックし、[OK]ボタンを押下する。
簡単ですが、プロジェクト毎に行う作業となると思うので
備忘録として残しておきます。