この記事ではRuby 2.4.1に同梱されているERBについて書く。読んだ過程をメモしているだけなので多分あまり要約されてないので、読みにくかったらるびまの記事を参照して欲しい。 ERBのオプション ERB#initializeの引数は以下のように定義されている。 eoutvarは単に内部の変数名が変えられるだけなので普通は変える必要ないし、safe_levelで調整できる$SAFEも普通は使わない機能だと思うが、trim_modeは出力結果に改行を入れるかどうかを細かくコントロールできるのでまあ使う機能なのではないだろうか。 というわけでこの記事では最も重要なERBのコンパイルオプションであろうtrim_modeについて書く。 trim_mode オプション ERB#initializeに渡したtrim_modeなる引数は、ERB::Compiler#prepare_trim_modeと

どうも、イソップです。Railsアプリをrails new で新規作成すると、Gemfile が作成されますよね。 これはBundler というRubyのライブラリ管理システムのための設定ファイルで、Railsアプリで使用するライブラリの情報が保存されています。 この Gemfile の中に、Railsで利用するRubyライブラリを記述して管理していきますが、 中を覗いてみると、gem 'rails', '~> 5.0.2' と書いてあり、~> 5.0.2 ってなんだろう?って思いませんか? これはバージョンを指定しているのですが、Rails初心者には記号の意味がさっぱりわかりません。 ということで、今回はGemfileでのバージョンの指定について紹介してみたいと思います。 Gemfileでバージョン指定できる種類 Gemfileの中では、利用するgemを次のように書きます。 [r

公私含めて2年間でたぶん30個以上はgemを作ってますが、なんとなく体得はしたもののこういうことは誰も教えてくれなかった気がするので残しておきます アンダースコアとハイフンを使い分ける gemを作る第一歩はbundle gem <作りたいgemの名前> ってやると思いますが、単語区切りであればアンスコ、ネームスペースの区切りだったらハイフンを使います アンダースコア区切り $bundle gemgo_princess_precureCreating gem 'go_princess_precure'...creatego_princess_precure/Gemfilecreatego_princess_precure/.gitignorecreatego_princess_precure/lib/go_princess_precure.rbcreatego_pri
会社の人にgemの作り方まとめてくれって言われたので標準的なgemの作り方をまとめます。 標準的な作り方なので他の人が作ったgemを読み解くヒントにもなります。 とはいえ有名なgemは(有名なgemに限って)メッチャクチャだったりするので読みづらかったりします。歴史が古かったりすると特にね。 ジェネレータ まずはジェネレータを使ってプロジェクトを作りましょう。 昔はいろいろあったけど最近はbundle コマンドで大勢が決定してる感じです。bundle gem test_gem -t -t はテストも作成するオプションです。デフォルトでrspecを使うようになってます。 その他のオプションはbundle help gem で確認できます。Railsプラグインのgemを作る場合はrails plugin new test_gem を使う方法もあります。 別記事で詳しく書く予定です。
以前Nginx + Unicorn + Sinatra 構成のアプリを作成したが、その時に行った設定をメモしておく。 サーバのディレクトリ構成 $ tree /usr/local/app /usr/local/app ├── config.ru ├──log │ ├── unicorn.stderr.log │ ├── unicorn.stdout.log │ └── crawler.log ├── myapp.rb ├── public │ ├── index.html │ ├── main.min.js │ └── underscore-min.js ├── tmp │ ├── pids │ │ └── unicorn.pid │ └── sockets │ └── unicorn.sock ├── unicorn.rb └── craw
sitatra? sinatraとはミニマムな構成(1ファイルから)で動作するruby用のwebフレームワークです。 まずrubyの環境を構築 Rumix 1.00(通常版)をインストール http://ruby.morphball.net/rumix/#bfheader-f81fd2e4c52864042852c112ce927ae2 これでruby 1.8.7 p248RubyGem 1.3.5 が入ります。 gemのアップデート 1.3.5はすこーしだけ古いのであぷでと gem update --system gem -v #=> 1.3.6 sinatraのインストール # sinatraの本体 gem install sinatra # 開発時にファイルを更新したらすぐリロードする為のもの gem install sinatra-reloader コーディング #app.r
私に作る時間がないのはどう考えても仕事が悪い!? (Gunma.web #10 2012/09/08)
Testing Sinatra with Rack::Test All examples in the following sections assume that Test::Unit is being used in an attempt to be as general as possible. See the Test Framework Examples for information on using the test helpers in other testing environments. To use the Rack::Test library used when you require rack/test, you’ll need to install the rack-test gem:
以前書いたものの続きです。 題名の通りsinatraでrspecを使う基本的なことがらになります。 sinatraだけの設定を考えるとtest/unitと同じです。乱暴に言うとassertがshouldになるだけだと思ってよいと思います。 サンプルコード 前回のサンプルコードをrspecで書く。 require './hello_world' require 'rspec' require 'rack/test' set :environment, :test describe 'The HelloWorld App' do include Rack::Test::Methods def app Sinatra::Application endit "says hello" do get '/' last_response.should be_ok last_response.body.
「sinatraすげー」って今さら思い、sinatraで何か作ってみようかねーと思い、当然テストのことが気になりました。 そもそも「テスト出来るの?実はrailsと比べて大変じゃないの???」って感じのアホな不安でした。(1週間前までsinatraのことと言えば名前しかしらなかったので。。)テストについてはちゃんと公式ページで解説されています。rspecも使えます。capybaraも使えます。他のテストフレームワークも使えるようです。 参考ページは Testing Sinatra with Rack::Test です。ここの内容を理解していきます。 サンプルコード テスト対象のコード。いつものhello world。 require 'sinatra' get '/' do "Hello World #{params[:name]}".strip end テストコード require '.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く