こんにちは、河野です。 最近bundlerを使っているわけですが、たまに勢い余って--pathを付け忘れたりしてrvmのlocalにgemをインストールしたりすることがあります。 そんな時に、一括でgemを削除する方法です。 まず、削除したいgemの一覧が必要です。--no-versionsをつけるとバージョンが出力されません。
Bundler で gem を管理する。 はじめに rbenv の導入、そのプラグインの導入が完了していることが前提です。 rbenv を開発環境に導入する - fugafuga.write Bundler って何? Bundler: The best way to manage a Ruby application's gems gem を プロジェクト毎に管理できるツール。 なぜ Bundler を使うのか gem は更新頻度が高く、互換性が無くなってアプリケーションが動かなくなったりする場合があります。 その問題を解決できるのが Bundler という gem 管理ツールです。 また、開発チームのメンバー間で環境構築の際に どのバージョンの gem をインストールするかを Bundler に任せることができます。 Ruby 自体のバージョンは、プロジェクト毎に rbenv で管理する
Capistrano3で快適なデプロイ生活を目指しています。Railsで定数設定ファイルをgitから外して管理する方法。と組あわせれば、最高なデプロイ生活が待っていること間違い無しです。 が、Capistrano3のまとまった情報があまり手に入らず(Capistrano2とどっちかよくわからんし)、導入の際にかなり苦労したので、インストールから設定までをさらしておきます。 環境: Ruby 2.0.0-p247 Rails 4.0.0 Apache Passenger Server:CentOS6.4 公開鍵認証設定済み Capistranoとは Rubyでできたソフトウェアデプロイメントツールです。 Capistranoは分散環境へのウェブアプリケーションのソフトウェアデプロイメントを簡素化および自動化するために設計されています。 アプリのデプロイの際に生じるいろいろな作業をコマンドで自
2017-08-15 追記 Googleの「Capistrano」検索順位で上位にあるためか、いまだにこの記事がたびたびブクマされるんですが、3年前の情報ですし、執筆者はRubyを専門としたプログラマーではないのでその点ご注意ください。(追記ここまで) いろいろエントリーを上げながら苦しんでいたCapistranoだが、ようやっとそこそこ落ち着いてきた気がするのでそろそろ完結編といく。Capistranoの基本とかはすでにこちらのエントリーで書いたので、今回は各設定ファイルの書き方とか、その他ハマったポイントを中心に。 今回作成したファイル 以下4ファイルを作成した。 Capfile config/deploy.rb config/deploy/staging.rb lib/capistrano/tasks/unicorn.cap 基本的にCapistranoを使う場合「必須」なのは上2つ
本稿では、関数型プログラミングのコンセプトを実用的な方法でRubyのコードに盛り込む方法について紹介します。これは、私が「関数型プログラミングのスタイル」と呼んでいるものです。 私が言う「実用的」とは、関数型プログラミングのスタイルを取り入れた後もなお、コードの見た目や印象にRubyの特徴が残っていることを意味します。Rubyは、Haskellではありませんし、Haskellであるべきでもありません。考え方としては、この言語の性質を 利用しよう とするものであって、それに反することをするわけではないのです。出来上がったコードは、Rubyユーザにとって簡単に理解できるものであるべきです。うまくいけば、使い慣れているものよりも簡単と感じていただけるはずです。 では、可変性を回避する利点、方法、欠点、そして可変性の回避が適切ではないケースについて見ていきましょう。 なぜ可変性を回避するべきなのか
Twitter gem (バージョンは5.14.0)を使って検索して得られるインスタンス(以下、検索結果インスタンスと呼びます)の扱いが意外と難しいのに詳細解説している記事が見当たらないので書いてみました。 TL;DR(要点) result_tweets = client.search(query, count: 100, result_type: "recent", exclude: "retweets", since_id: since_id) で得られる result_tweets を取り扱うには take メソッドを使って取得ツイート数を決めてしまう Twitter gem モンキーパッチを当てて :since_id 指定を確実に有効にする module Twitter class SearchResults def next_page return nil unless next
すっかりPHP脳になっていたため、Ruby脳に切り替えるべくクラスに関わる変数まわりをおさらいした。 1. インスタンス変数 インスタンスごとに独立して持つ変数。 インスタンス変数にアクセスできるのは、initializeメソッドとオブジェクトのインスタンスメソッドだけ initializeメソッドで初期化されて、その後各インスタンスメソッドから参照・変更される使い方が多い(と思う) PHPやJavaみたいに事前にクラス定義内で定義する必要がない 1-1. 定義 変数名の前に「@」をつけて定義する class Foo # 明示的にインスタンス変数を宣言しなくて良い # => 宣言した場合、それは「クラスインスタンス変数」と見なされる # (o) initializeメソッドからアクセス def initialize @instance_var = 'instance_var' p "#{@
Twitter Ruby Gemを使って、引数で受け取った単語でTwitterキーワード検索して、結果を取得するRubyプログラムのサンプルです。 since_idを用いて最新結果を取得して、古いものから順(Tweet IDで昇順)に表示させます。 環境 Ruby (Ver 2.0.0-p0) Ruby 2.0.0-p0 リリース Twitter Ruby Gem (Ver 4.6.2) sferik / twitter Twitter API (Ver 1.1) Overview: Version 1.1 of the Twitter API | Twitter Developers サンプルコード #!/bin/env ruby #encoding:UTF-8 require "twitter" # アプリケーションキー(consumer key/secret)の読み込み Twitte
https://github.com/sstephenson/rbenv/pull/638 のPull RequestのMergeで rbenv rehash がいらなくなっていました rbenvを最新にするには $ cd .rbenv/plugins/ruby-build $ git pull origin master rbenv-gem-rehash ってのをいれれば不要になるから試そう、と思ったらいまは不要になってました これからは インストールするrubyのバージョン確認 $ rbenv install –list ためしに2.2.0インストール $ rbenv install 2.2.0 $ ruby -v ruby 2.2.0p0 (2014-12-25 revision 49005) [i686-linux] できあがりと楽になりました
こんにちは、エンジニアの鈴木です。 「今更聞けない人の為の Vagrant 再入門」に引き続き、今回は Chef 再入門をお送りします。 この記事は以下のような人を対象としています。 ・Chef ってそもそも何? ・Chef って名前を聞いたことあるけど、触ったことがない。 Chef ってそもそも何? Chef(シェフ) とは Ruby 製のシステム構成管理ツールでインフラの構築を自動化できます。 サーバを弄ったことがある人なら誰しもが経験していると思われる「手順書」の作成。 手順書からコマンドをコピペして、ユーザ作成してWebサーバいれてDBいれて。。あとからこのパッケージが必要になったから手順書を変更して。。 どう考えてもオペミスの温床になります。 Chef はインフラをすべてコードで管理するので、Gitなどでインフラを管理でき、いつどこで誰が修正したのか分かるのでドキュメントや構築手
開発環境をMacにする人が最近はだいぶ増えてきました。MacでRuby on Railsをインストールするという記事は、探せばいくらでも出てくるので、今回はLinux上でインストールしてみます。VPS等で試してみてください。(Macもほとんど変わらないんですが) 環境 CentOS 6.3 Rails 3.2.8 gitをインストール rbenvのインストールにも使うし、いまどきgit入ってないとかなんなの。という感じなので、入れておきましょう。 $ sudo yum install git $ git --version git version 1.7.1 rbenvのインストール rbenvは、簡単にrubyのバージョンを切り替えられるコマンドです。 Macの場合は、homebrewでインストールできてすごく楽です。今回はMacOSではないので、gitからcloneしてインストールしま
Ruby にて、User Agent(ユーザーエージェント)を取得する方法を調べたのでメモ。 User Agent自体は、リクエストパラメータの中に含まれています。 iPhone のユーザーエージェントの例 request.env["HTTP_USER_AGENT"] #=> Mozilla/5.0 (iPod; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3 User Agent を調べることにより、例えば iPhone や Android などのスマートフォンからのアクセスを、スマフォ専用のページにリダイレクトすることができたりします。 スマフォ専用サイトに転送するフィルターのサンプル (Ruby on
rack-user_agent を作った rack-user_agentという、User-Agentに応じていろいろな判定ができるメソッドを生やすRack::Request拡張を作った。 tagomorisさんのWootheeを使ってRack middlewareでUser-Agentをパースしておいて、 その結果に応じてrequestから簡単にいろいろな情報を得られるようにしてある。 たとえばRailsだとGemfileにgem "rack-user_agent"と書くだけで以下のように使うことができる。 class ApplicationController < ActionController::Base before_action :set_request_variant def index # example request.user_agent #=> "Mozilla/5.0
色々なところで見かけるコーディング規約を見て意識はしているのですが、 その時の気分で書き方を変えてしまうことが多々あったので、自戒を込めてコーディング規約をまとめてみました。 「なぜこの規約が存在するか」を明確にするために、できる限り理由も併記しています。 ただかなり主観的な部分があるので、あまり意味がないかもしれません…。 「この記事のこの規約は気に入らない。」と思うことがきっとあると思います。 その時はコメント欄などに理由も合わせて書いてくれると嬉しいです。 この記事ではRubyのコーディング規約をまとめています。 近いうちにRailsとCoffeeScriptのコーディング規約もまとめるつもりです。 Rubyのコーディング規約は以下のページを参考にまとめました。 https://github.com/styleguide/ruby https://github.com/bbatsov
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く