PIYO - Tech & Life -

Ruby

Pryの出力で<page break>とかいうのが出て困った

RubyではPry愛用者なのですが、バージョンアップのタイミングか何かで画面に収まらない出力が出たときのPagerがおかしくなって(Pagerが変わった?)、使いづらくなってしまいました。 <page break> --- Press enter to continue ( q<enter> to break ) --- <page break> 該当箇所がバー …

RubyでGmail風プロフィール画像を生成するinitial_avatarでユーザーを識別しやすくする

ユーザーにアバター画像(プロフィール画像)を登録してもらうサービスの場合、画像未登録のユーザー用にデフォルトの画像を用意することがあると思います。 グレー背景のシルエットとか、Googleのイニシャル(漢字なら最初の一文字)、Twitterのたまごとか、Slackの模様とか、いろいろなパターンがありますね。

Railsでorder忘れを防止するためのgemを作りました

order、つけ忘れがちですよね。環境が変わると思ってた順番に出なかったりします。 更に厄介なのは、つけ忘れてもなんとなく正しい順番で動いているときで、何かのタイミングで思った順ではなくなってしまうことがあります。というかありました。

rest-clientで簡易にAPIクライアントを書く

オープンではないサービスのAPIを使うとき、APIクライアントが無いってことが多いです。なのでアプリケーションから使いたいAPIだけを叩くような簡易なAPIクライアントを自分で書きます。そのときはrest-clientあたりを使ってベタっと書いてしまうことがほとんどです。

roo gemでxlsxファイルを読み込もうとしてundefined method `bytesize'

Rubyでxlsxファイルを読めるrooというgemでエクセルを読んでいる箇所がエラーになるようになりました。 しかもローカル環境のMacでのみ発生し、AWSのAmazonLinuxやUbuntu上では問題なく動くという罠っぷり。これのおかげでだいぶハマりました。 問題のはS3上に置いたエクセルをRubyで開こうとしたときで、コードはだいたいこんな感じでした。

Railsでカタカナのバリデーション

Railsでカタカナのバリデーションについて、忘れ易いのでメモ。 ↓みたいにやるとできます。 validates :kana_name, presence: true, format: { with: /\A[\p{katakana}\p{blank}ー-]+\z/, message: 'はカタカナで入力して下さい。' p{katakana}についての詳しいことは↓にまとまっていま …