Quantcast
Channel: Ruby – ABC Blog
Browsing index pages (36 articles)

RailsでのTimeZone設定を復習する

最近実務で嵌ったことから理解不足を痛感。これを機に整理することにした。 標準時とタイムゾーン 日本とアメリカでは時差があり、日本では今が昼であってもアメリカは夜だったりします。 地球の自転や太陽との関係性など天体的な問題から地球全域で同じ時間帯を採用することができないため、各々の国や地域で採用する時刻系が異なっています。 ある地域で共通している時刻系をその国の標準時と呼びます。...

View Article


Railsでデータベース抽象化レイヤを正しく活用する

## `はPostgresでエラー、”はMySQLでエラーになる × User.where('`users`.status = ?', ACTIVE).first User.where('`users`.`status` = ?', ACTIVE).first User.where('"users".status = ?', ACTIVE).first...

View Article


Homebrewのupgradeに伴いimagemagickのバージョンが上がってRailsアプリが起動しなくなった

現象 rails s でWebrickが起動しない。 $ rails s /Users/k_okishima/.rvm/gems/ruby-2.3.1@some_project/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require':...

View Article

`bundle install`でnokogiriとnokogumboが入らない

よくあることだけど、表題の通り。 プロジェクトで使われているRubyのバージョンがアップしたのでrvmのgemsetも作り直して`bundle install`かけたらnokogiriのインストールでこけた。 関係ありそうな環境の変化は以下の通り。 Rubyのバージョンが2.2.3から2.3.1にアップした Mac OS Sierra 以下のコマンドですんなり入った。一応メモ。 brew...

View Article

Rubyで標本の分散・標準偏差・変動係数算出まで

統計学の本読んでるけど公式よりコードの方が頭に入る。 # 適当な標本を定義 samples = [1,2, 1, 0.8, 0.7, 1.1, 1.3, 1, 1.6, 0.9] => [1, 2, 1, 0.8, 0.7, 1.1, 1.3, 1, 1.6, 0.9] # 標本サイズ n = samples.count => 10 # 平均(算術平均) mean =...

View Article


RSpecで特定のサンプルだけ実行する

RSpecで特定のサンプルだけ実行する RSpecで特定のサンプルだけ実行したいことがけっこうある。 例えば下記ようなスペックがあるとする。 # encoding: utf-8 require 'rails_helper' describe 'User' do describe 'active scope' do it 'foo bar' do # ... end it 'hoge piyo'...

View Article

HerokuのRailsアプリの環境をstagingに設定する

1. Herokuアプリの環境変数をstagingに設定する 設定の対象が新しく作るアプリか既存アプリかで手順が異なる。 新しくアプリを作る場合 下記コマンドで環境をstagingと指定してい作成。 $ heroku create app-name --remote staging...

View Article

Mac OS X(El Capitan 10.11) で Herokuへデプロイするまでの手順

一応備忘録としてメモ。 1. Herokuに登録する 下記から登録できる。 Heroku _ Sign up 2. Toolbeltをインストール 下記URLからherokuのCLIをインストールする。 https://toolbelt.heroku.com/ 上記URLからパッケージをインストール後、ターミナルから下記のようにバージョンを表示できればインストール完了。 $ heroku...

View Article


Sprocketsについて復習する

Sprocketsの概要 Railsではアセットファイル(JS, CSS, 画像などWebサイトの直接のレスポンスではないもの)を効率的に管理するためにAsset Pipelineという枠組みを提供している。 Sprocketsは、そのAsset Pipelineの基盤となるgem。 Rails3.1から導入された。 Sprocketsの役割 アセットパッケージング機能を提供。 具体的には下記など。...

View Article


Capybara::Poltergeist でリモートデバッグ

Capybara::Poltergeistのデバッグ機能について RSpecでもサーバサイドのテストではpry-byebugのようなおなじみのデバッガは使えるが、Capybara::Poltergeistをドライバーとして利用している(js: trueな)クライアントサイドのテストでは使えない。 このような場合はPoltergeistが提供しているリモートデバッグ機能を使用することができる。...

View Article

RSpec + Capybara + Poltergeist + PhantomJSでの結合テストのjs :trueについて

久しぶりに使ったら結合テストのときにドライバにPoltergeistが選択されなくてちょっとはまったのでメモ。 結論からいうと、Capybaraの設定ファイルでCapybara.javascript_driver = :poltergeistと指定してればメタデータでjs :trueの指定が必要。 Capybara.default_driver =...

View Article

DatabaseCleanerの設定

DatabaseCleanerについて テスト前後のデータベースのデータを処理する用途によく使われるGem。 テストは意図しない結果にならないように、そのテストに必要最低限なデータだけを準備して実行する必要がある。 例えば、あるテストケースを実行する際に他のテストケースで生成されたデータの影響を受けてテストケースが失敗するということを避けなければならない。...

View Article

Railsでアプリ内の全モデルクラスを取得する

ORMにActiveRecordを使っている場合 資料を作る時に必要になったので標題のようなことをやりたい。 下記のような手順で取得してあとはエディタ(Vim)とか表計算ソフト(エクセル)で調整することにした。 tables = ActiveRecord::Base.connection.tables # ActiveRecordがマッピングしているテーブルを取得 models =...

View Article


RSpec3の設定

spec_helper(もしくはrails_helper)でのRSpecの設定項目を理解していく。 RSpecのバージョンはで確認。 spec_helper.rbトップレベルでのメソッド ActiveRecord::Migration.maintain_test_schema! テストを走らせる前に実行してないmigrationがないかを確認する。具体的には必要に応じてrake...

View Article

RSpec2からRSpec3へ移行(アップグレード)する手順

アップグレードの手段としては2通りある。 その1. 一旦RSpec2.99にアップグレードしてから段階的にRSpec3へのアップグレードを行う RSpec2からRSpec3へ移行するためのバージョンとしてRSpec2.99がある。 RSpec2.99にアップグレードすると、RSpec 2系の動作を保持した上で、RSpec...

View Article


gem開発時におけるGemfile, Gemfile.lock, gemspecの取り扱いについての注意事項

GemのリポジトリにGemfile.lockをチェックインしない アプリの開発では配置先によって利用するGemのバージョンが固定されていることが重要視されるため、Gemfile.lockはリポジトリにチェックインしたほうがいい。 しかし、gemライブラリの開発では依存関係を緩やかに定義し、柔軟性を持たせることが重要なポイントなのでGemfile.lockはリポジトリにチェックインしないほうがいい。...

View Article

Rubyでの外部ファイルの読み込み

requireによる外部ファイルの読み込み requireでは組み込み変数である$LOAD_PATHに登録されているディレクトリからファイルを探していく。 require 'foo' # 拡張子は省略することができる Rubyバージョンによる$LOAD_PATHの扱いの違い ただし、Ruby1.9.2以降とそれ未満のバージョンとでは、$LOAD_PATHの扱いに違いがある。...

View Article


Herokuへのデプロイで1時間近く嵌った件

Missing `secret_token` and `secret_key_base` for ‘production’ environment, set these values in `config/secrets.yml` Heroku、便利ですね。 CLIツールインストールして`git push heroku master`実行するだけでデプロイできます。...

View Article

Rails エンジン入門 その1 〜ローカルでエンジンを生成してホストアプリケーションからマウントするまでの手順〜

Rails エンジン入門 | Rails ガイドを読んで、Railsエンジン(以下単にエンジンと記載)の仕様について学習したときの備忘録です。 エンジンの概要 エンジンはアプリケーションのミニチュアのようなもので、ホストアプリケーションに対してエンジンが保有している機能を提供します。...

View Article

Macでpow(Rackサーバ)を使う

powについて Mac(OS X)でRailsの開発を行う際に、powというRackサーバを入れると便利です。 powを使うことで今まで”localhost:3000″のようなホストとなっていたものが”project.dev”のようなバーチャルホストで開発ができて、さらにLAN内からも共有できます。...

View Article
Browsing index pages (36 articles)


Latest Images