サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
qiita.com/paty-fakename
はじめに concernsで実装はすっきりしたんだけど、minitestでテストを書くときにどうするんだっけ?と困った。rspecに入れ替えてshared_examples使おうという声が聞こえるけどたぶん錯覚なんだ。 実装サンプル こんな感じのサンプルがありまして... class SampleModel < ActiveRecord::Base include SampleConcern # name attribute defined end module SampleConcern extend ActiveSupport::Concern included do # concernsに実装するのはたぶん不適切だけど validate name, presence: true end def greet "I'm #{name}" end end SampleConcernがAct
スクリプトなどでgitコマンドを実行する際、わざわざリポジトリルートにcdするのが野暮ったいので辞めたい。 方法 1. コマンドラインオプションを利用する Git 1.8.5以降ならこっち $ git -C /path/to/repo [command] Git 1.8.5未満ならこっち $ git --git-dir=/path/to/repo/.git --work-tree=/path/to/repo [command]
コメントより追記 2015/9月現在、aws-sdk (2.1.23)が本文書の問題に対応しているそうです。 capistrano3のスクリプト中でaws-sdk v2を使うと以下のようなエラーが起きてハマったのでメモしておきます。 Aws::Resources::Errors::DefinitionError: unable to define method Aws::EC2::DhcpOptions#delete, method already exists 発生状況 Capfileの末尾にrequire "aws-sdk"を書いて、deploy.rb内でAws::EC2::Resource.newしたら発生。 原因 どうもaws-sdk-resources-2.0.28/lib/aws-sdk-resources/operation_methods.rb:72でdefine_meth
apacheによるリバースプロキシを多段構成にしていて、バックエンドでもクライアントがリクエストしたホスト名を取りたい!なんてことがありました。 ProxyPreserveHostを設定すれば解決するじゃん!という答えに行き着いたのですが、ハマることがあったのでメモしておきます。 参考 リバースプロキシの多段構成によるRailsアプリへの影響 Ruby - Rack::Request#hostがX-Forwarded-Hostの最後のプロキシホストを返す理由 - Qiita ProxyPreserveHostの公式ドキュメント やりたいこと 以下の構成をとったとき、バックエンドでクライアントがリクエストしたホスト名を取りたい。しかし多段プロキシの影響によりlocalhostが取れてしまう。
rakeタスク内で別のタスクを呼びたいなーと思い調べてみた。 Rake::Task#invokeとRake::Task#executeの2通りの呼び出し方があるみたい。 実際に使ってみると引数の扱い方が違っていてハマったのでメモしておく。 参考: http://stackoverflow.com/questions/577944/how-to-run-rake-tasks-from-within-rake-tasks 試しにこんなタスクを書いてみた namespace :mytask do task :hello, [:person] do |t, args| puts "hello #{args.person}" end task :execute_hello_to_paty do |t, args| Rake::Task["mytask:hello"].execute("paty")
capistranoを使って、ローカルにrailsアプリをclone/assetes precompileまでやってからrsyncでデプロイしようとしたらハマった。 capistranoに限らずbundle exec scriptして、その中でbundle installすると発生するようなのでメモしておく。 現象 bundle exec scriptした中でbundle installすると、scriptを実行した時点の設定が引き継がれていて、bundle installが期待通りに走らない。 sctiptを実行するディレクトリのGemfileがこうなっていて $ cat Gemfile # A sample Gemfile source "https://rubygems.org" gem 'capistrano' gem 'capistrano_colors' gem 'capist
capistrano2系で使っていた-s/-Sオプションが使えなくなっていた。 検索すればいくらでも見つかる話ではあるが気にせずメモ。 タスクにパラメータを渡す方法として、実行時に環境変数で渡す方法と、実行中に対話的に渡す方法があるみたい。 環境変数でパラメータを渡す そのままずばり、ENV['NAME']で取ってくる deploy.rbや deploy/[env].rbに以下のように書く
テキストベースでちょっとしたディレクトリ構成図を書きたい時、いつもあの記号どうやって出すっけ??となる。なので、いい加減メモすることにした。 以下のようなのを書きたい root/ ├ bin/ ├ etc/ ├ usr/ │ └ local/ │ └ bin/ └ lib/ コピペ用記号集
ローカルブランチで開発して、むやみにマージコミットを作りたくないので毎回rebase -> mergeとやってた 毎回やるの面倒だなーと思ってたそんなとき、git pull --rebaseを見つけたんだっていうメモ pullした時の挙動が fetch -> mergeから fetch -> rebaseになるらしい いつもだとこうやってた (git stash save / popを使えばもう少し短くはなる・・・かな) (my-topic)$ git commit -am "my commit" (my-topic)$ git checkout master (master)$ git pull (master)$ git checkout my-topic (my-topic)$ git rebase master (my-topic)$ git checkout master (ma
1文字ずつ分割するなら簡単だけど、2文字以上で分割するにはどうするんだっけ?と思い調べてみた。 1文字ずつ分割する場合 s = "1234567890" s.split(//) => ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
このページを最初にブックマークしてみませんか?
『qiita.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く