プログラミング -> 言語 -> Ruby

Google Analytics の API を用いて簡単にデータを取得できる gem を作りました

追記 2018/04/13 14:35:00 ごろに v1.1.1 をリリースしました。このバージョンで引数の指定方法が変わっています(キーワード引数に変更)。以下の説明では最新のものに修正していますが、旧版をお使いの方はご注意下さい。 きっかけ Ruby を用いて Google A…

annotate (gem) を最速で使う

前提 Model はすでに作ってあるものとします 手順 1. Gemfile に書く (省略) gem 'annotate' (省略) 2. bundle install $ bundle install 3. bundle exec annotate $ bundle exec annotate Annotated (3): app/models/user.rb, test/models/user_test.rb…

better_errors が動作しない(表示されない)とき

前提 「localhostからのアクセスのみで動作する問題」ではないです。 結論 ルーティングのエラーでは better_errors は動作しない ルーティングのエラー コントローラのエラー まとめ こんなんでプチハマりをして悲しい。

rbenv コマンドで rbenv: cannot rehash: /home/foobar/.rbenv/shims/.rbenv-shim exists と出たとき

結論 ゴミファイルが残ってしまっているのですっぱり削除しましょう。おそらくファイルの中身は空っぽのはずです。 $ rm /home/foobar/.rbenv/shims/.rbenv-shim

Rack をバックグランド(daemon)で起動する方法

結論 $ rackup -D

続・Ruby で UTF-8 の文字を Shift JIS の文字に変換する

以前に書いた記事の別解です。

Python における Bundler のような管理ツールである Pipenv について(Bundler との比較)

Pipenv Python でのパッケージ管理には pip が用いられますが、pip の内容や依存性を管理してくれるツールに Pipenv というものがあります。 Pipenv の使い方 Pipenv の使い方については公式ドキュメントが詳しいです(日本語です)。 Pipenv: 人間のためのP…

Ruby で CSV を扱う際に便利な gem である SmarterCSV

SmarterCSV Ruby で CSV を扱う際には標準ライブラリが便利です。 Ruby標準添付ライブラリcsvのCSV.tableメソッドが最強な件について ただ、このライブラリでは面倒な操作を行う際には SmarterCSV という gem もとても便利です。

unicorn を最小限で起動するだけの方法

結論 1. rack と unicorn の gem を入れる $ gem insatll rack $ gem install unicorn 2. Rack の設定ファイル(config.ru)を書く run Rack::Directory.new '.' 3. unicorn を実行する $ unicorn 4. 8080 ポートにアクセスして、実行ディレクトリ一覧が表示…

truncate メソッドは Active Record のメソッドである

結論 $ gem install activerecord して require 'active_record' すればよいです。 ハマりどころ Active Support ではないです*1。 *1:プチハマった

「プロを目指す人のためのRuby入門」を読みました

「プロを目指す人のためのRuby入門」 こちらの本になります。著者は伊藤淳一さん(id:JunichiIto)です。 プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)作者:伊藤 淳一技術評論社Amazon

Ruby で Redis を使う最低限の方法

結論 以下の手順を踏みます。 0. Redis をインストール 各環境に応じてインストールをしてください。

Ruby の 波(チルダ)を使ったヒアドキュメントは「全ての行のインデントのうち、一番少ないインデント分を、全ての行において削除したテキスト」となる

結論 Ruby でチルダを使ったヒアドキュメントは、「全ての行のインデントのうち、一番少ないインデント分を、全ての行において削除したテキスト」となる。

Ruboty 用 の ChatWork Adapter に任意のルームで発言できる機能を追加しました

Ruboty 用 の ChatWork Adapter こちらになります。 任意のルームでの発言をしたい 現在の上記 Adapter の機能では、「発言を監視するルーム」と「発言を行うルーム」が同一となっています*1。そこで、新たに、「任意のルームで発言をする」機能を追加しまし…

Ruboty で 自作の bot 動作(Handler)を追加する方法

結論 Ruboty の実行時に --load オプションを用いて読み込むファイル名を指定し、その読み込むファイルの中で Handler を require する。

Middleman で独自の Ruby ロジック(変数)を組み込む方法(ヘルパー導入)

公式ドキュメント まずここから見ましょう。 Middleman: ヘルパーメソッド やり方 いくつかやり方が書いてありますが、今から新しくやるならば helpers ディレクトリを作ってその中に放り込むのが一番ラクです。

Middleman で Slim を使う方法(2018-01-20)

バージョン middleman (4.2.1) 結論 Gemfile に slim を追加して bundle install すれば(するだけで)いい。 補足 config だとかをあれこれ編集する必要はありません。

Middleman を インストールする方法(グローバルな middleman gem を使わない)

Middleman これです。 Middleman: 作業を効率化するフロントエンド開発ツール Middleman を選んだ背景としては、既存の Ruby の資産を使いたかったことと、Jekyll では別のロジック(ヘルパー)から変数を渡すことが困難だったことです。

RubyMine でカーソルを垂直バー(パイプ)にする

きっかけ カーソルが四角(豆腐)だと、文字選択のときに範囲を頻繁に間違えてストレスになる。 結論 Settings → Editor → General → Appearance にて、Use block caret のチェックを外すと垂直バーのカーソルになる。四角いカーソルにしたい場合はチェック…

Sequel で単純に SQL を実行した結果の返り値

結論 Sequel::Mysql2::Dataset クラスのオブジェクト*1。 *1:例えば SELECT でヒットしなかったからといって nil が返ってきたりはしない

RubyMine で開いているプロジェクトを閉じる方法

さらに追記 Remove from Project View は一番最初に開いたプロジェクトではメニューに現れない?? 追記 Remove from Project View で普通にできました……*1。 結論 一度 IDE を閉じ、再度プロジェクトを選ぶ*2。 プロジェクト名を右クリックしたりしても、そ…

Itamae で直線的に手続き的にただただコマンドを連ねる書き方

考察 バッドノウハウに限りなく近いと思います。 方法(概略) execute メソッドを使ってブロック内に command を セミコロンでつなげていきます。その際、command はただ一つでなければいけません。

Windows で RubyMine を用いる際に、リモートホストにある Ruby を使って実行する方法

つまり ソースコードを手元のマシンで編集しつつ、実行はリモートマシン*1で行う方法です。 説明の前に 普通こんなことをする人はいないと思いますし、作り込んでいくといろいろ問題が出てくること必至です。このやり方の過程から得られるものがあればよいと…

Ruby で UTF-8 の文字を Shift JIS の文字に変換する

発端 UTF-8 の CSV は Excel で文字化けするから。 メソッド 素晴らしいメソッドがありました。String クラスを拡張するメソッドです。 このメソッドの特徴は、「UTF-8 → Shift-JIS → UTF-8」という変換を行う点です。つまり、入力文字も出力文字も UTF-8 で…

Heroku で静的ページを公開する方法(Ruby)

結論 以下のファイルを用意する。 Gemfile Gemfile.lock Procfile config.ru public/index.html それぞれのファイルについて、説明します。

Wunderlist のデータを Trello に移行する wunder-trello というアプリケーションを書きました

wunder-trello こちらで公開しています。

rbenv を用いて Ruby をインストールする

rbenv を用いて Ruby をインストールするとき、未だにやり方を調べ直してしまうので、記憶の定着も兼ねてコンパクトにまとめます。

「どうぶつの森 ポケットキャンプ」のプロフィール画像から「アイコン」と「名前」と「ID」を抽出できる gem を作りました

crop-pokemori-prof-image crop-pokemori-prof-image という gem を作りました。この gem は、「どうぶつの森 ポケットキャンプ」のプロフィール画像から「アイコン」と「名前」と「ID」の画像部分を抽出して、それぞれを画像ファイルとして出力します。 も…

Google Cloud Vision API を用いて 文字が埋め込まれている画像 から テキスト形式で文字を抽出する gem を作りました

画像から文字を抽出する gem character_recognition_by_vision_api という gem を作りました。以下でソースを公開しています。 RubyGems での場所はここです。

dotenv でパスワードやトークンを隠す

パスワードやトークンを隠す パスワードやトークンを含んだ設定ファイルを push してしまったことは皆さんあると思います*1。そういう「やらかし」をしないために、dotenv を用いてパスワードやトークンを隠す方法です。dotenv は Ruby の gem です。パッと…

Powered by はてなブログ