ぴよログ

↓に移転したのでこっちは更新されません、多分。

gem

Railsなどで無料から使えるエラー通知サービス Rollbar

Railsなりスマホなりでアプリケーション作ったらAirbrakeとかBugsnagとかのエラーハンドリング用のサービスを使って不具合を検知できるようにするよね。 この手のサービスはやはり有料のところが多くて、個人用のアプリケーションとしてはコスト的に使いにく…

RailsアプリにiOSクライアントをサッと作る #sgadvent

この記事はソニックガーデン Advent Calendar 2015 、6日目の記事です。 どうも大野(@xoyip)です。3日目に続いて登場させてもらいます。今日は5日目までとは少し変わって技術的なHow Toの話で、自分用の覚書でもあります。 ちなみに3日目のはこれ。 xoyip.…

markdown_section_numbering gemをアップデート

昔こんなのを作ったわけだけど、本当に少しだけ足りないなと思うところがあったのでアップデートしました。 マークダウンに見出し番号をつけるRuby Gem書いた - PILOG 上の記事で、「Automatorと連携して選択中のテキストを変換する」っていう使い方について…

ActiveRecordの日付カラムでレコードを絞り込める by_star gem

久々に便利なの見つけた。有名だったりするのかな? radar/by_star by_starはモデルの絞り込みに使えるgemで、ActiveRecordとMongoidで使える。 ある期間内のレコードだけを表示したり集計を取ったりというときに使える。自分でも大したコードにはならないん…

CSVをマークダウンの表に変換するcsvtomdをアップデート

自分用便利gemが便利じゃなかったのでその部分を修正しました。これぞドッグフーディング。 CSVテキストをMarkdown形式のテーブルに変換するgem作った - PILOG 以前作ったときはスペースとか消してよくね?と思ってgsub(" ","")してたんだけど全然だめでした…

自分の環境だけで特定のgemを使う方法

オープンソースのプロジェクトの動作確認するときとかに、いつも使っている開発用のgemを入れたいんだけどGemfileは更新したくないってことない?僕の場合、関係ないファイルを汚しておくとうっかりコミットしてしまうことがあるので避けたいと思ってる。 使…

CSVテキストをMarkdown形式のテーブルに変換するgem作った

markdown_section_numberingに続いて単発のテキスト変換gemを作ってRubygemsで公開した。 今回作ったのはコンマ区切りで書いたテキストをマークダウン形式のテーブルに変換するメソッドを提供するモジュールで、基本的には自分がAutomator経由で呼び出すこと…

自作gemがちょっとダウンロードされていて謎

マークダウンに見出し番号をつけるRuby Gem書いた - PILOG 前にちょろっと作ったgemのダウンロード数を見てみたらこんなことになっていた。 markdown_section_numbering | RubyGems.org | your community gem host rubygemsの検索でmarkdownとやっても全然出…

CarrierWaveでアップロードした画像のファイル名を日時にすると困る

CarrierWaveというgemを使うとRailsアプリケーションに画像アップロード系の機能を割と楽に実装することができる。 アップロード先はサーバーローカルだけでなく、AmazonS3やGoogleなどのクラウド系のストレージにも対応しているし、アップロード時にリサイ…

Railsである時点でのモデルのスナップショットのためにpaper_trailでのバージョニングを行う

RailsでA、Bというモデルがあるとする。モデルAはモデルBを参照しているが、参照しているモデルBはある瞬間のスナップショットにしたいとする。つまり、モデルAが欲しいのは関連を作ったときのモデルBの情報で、それ以降に変更が加わって新しくなったもので…

平日の計算にweekdays gemがちょっと便利

Railsで営業日計算に(もしかしたら)使えるgem見つけた。 mdarby/weekdays 厳密に言うとこのgemは月曜〜金曜を計算しているだけで祝日に対応していないので、実運用するとなると拡張が必要そうだけど、ゼロから作るよりはマシじゃないかなと思う。 こんな使…

CarrierWave使用モデルのシードデータを用意する

画像アップロード機能を提供するCarrierWaveというgemを使ったRailsアプリケーションのテストについて以前書いた。 RSpecでファイルアップロードのテスト - PILOG 今日は同じくCarrierWaveに関連して、アップロードする画像を持つようなモデルのシードデータ…

Railsでbootstrap3のgem入れてアイコンフォントが使えないとき

Railsでbootstrap使うときはgemを使ってやっちゃうと楽なんだけど、そもそもそういうgemが多すぎてわけわからないということがある。とりあえず僕はこれを使っている。READMEが短かったから。 benjamincanac/bootstrap3-rails 使い方はREADMEにある通りappli…

マークダウンに見出し番号をつけるRuby Gem書いた

マークダウンでメモを書いたりブログを書いたりしていたけど、kobito-cliでPDF化すると見た目もなかなか良いということもあって、そこそこしっかりしたドキュメントもKobitoでマークダウンするのが最近自分の中での流行りになってきた。 ただそこそこ量があ…

Pry 0.10.0でundefined method `pager'

Rails4でデバッグ用にPryを入れようと思ってGemfileにこんな風に書いた。 group :development do gem 'pry' gem 'pry-rails' gem 'pry-byebug' gem 'pry-stack_explorer' end これでrails consoleを起動してゴニョゴニョしているとなんだか見慣れないエラー…

Pry便利だけどスタックトレース見られない、を解決

Pryまじ便利。 Pryが真の力を発揮してくれる19個のコマンドとコマンドの自作方法[Rails] - 酒と泪とRubyとRailsと ちなみにPryにはこういう意味があったらしい。知りませんでした。ロゴを見る限りてこをイメージしているらしい。 英辞郎 on the WEBより pry …

Grapeを使ったAPI実装でのネストやパラメータ

Grapeをもう少し使ってみました。関連記事は↓ RailsのGrapeとJbuilderでAPI開発 - PILOG 基本形 # app/api/api.rb resource :items do get '/', jbuilder:'items' do @items = Item.all end end パラメータを受け取る 全てのItemではなく、idに該当するItem…

GrapeのAPIのエンドポイントをrake routes的に出力する

RailsアプリケーションにGrapeを使って定義したエンドポイントはrake routesには表示されません。表示されるのはroutes.rbでマウントしたAPIのルートのみ。 そこで自前のrake routesを定義してGrapeのAPIもroutesに表示してあげることにしました。 参考 @kam…

RailsのGrapeとJbuilderでAPI開発

RailsでAPIを作るならGrapeを使うってのが定番っぽいので使ってみました。 参考にしたのはこのへん intridea/grape Ruby - RailsとGrapeで行う最高のWeb API開発 - Qiita Grapeの導入〜Hello World インストールはgem installすればOKです。次にAPIの実装コ…

Rubyのダミーデータ生成gem

Railsアプリケーションの作り始めってローカルのデータベースにデータが全然なくて何かと作りづらいってことありませんか?データがないとページネーション書けないし、なんか雰囲気出ないし、、、みたいな。 Railsの場合はseed.rbにデータ生成プログラムを…

Rails4.1のsecrets.ymlはfigaroと違うの?

Rails4.1が正式にリリースされたらしいので少し見てみたけど、secrets.ymlとかいうのがサポートされるようになったんですね。 公開したくないAPIキーなどの情報をconfig/secrets.ymlに書いておくとRails内でアクセスできるのだとか。 こうやって書いておくと…

ウェブサイトやブログ記事中の本文を抽出するgem

大元はこちらで、 Webページの本文抽出 (nakatani @ cybozu labs) Ruby1.9対応され、gemになったものがこちら。 mono0x/extractcontent Bundlerを使ってリポジトリ指定でインストールできます。 gem 'extractcontent', :git => 'https://github.com/mono0x/e…

Rubyでcronのような定期実行を実現するclockwork

先日の記事でもちょろっと紹介しましたが、RSSリーダーを開発した際にフィード更新ジョブを定期的に発行するためにclockworkというgemを使用しました。 RSSリーダーの記事更新のバックグラウンドジョブ概要 - PILOG 単独で使う まずはRuby単独で使う方法です…

RSSリーダーの記事更新のバックグラウンドジョブ概要

RSSリーダーを作ったときのことをまとめておくシリーズ。 これまでの記事はこちら。 RSSリーダー - PILOG 僕が知る限り全てのRSSリーダーは登録フィードをバックグラウンドで更新し記事を追加します。RSSリーダーのユーザー側、システム側から見てみます。 …

Railsでデータベースのレプリケーションをしたいとき

データベースの負荷分散の方法の一つレプリケーションという方法があります。マスターDBへの変更をスレーブDBに同期するようにしておいて、書き込みのクエリはマスターDBへ、読み取りのクエリはスレーブDBへと振り分けることで負荷を分散しようというやり方…

アイデアカードとかいうツールをrubygem化

アイデアカードとかいうアイデア出しのサポートツールを見つけました。 アイデアカード公式サイト 目的、着眼点、どう変えるかという3種類のカードがあってカードを引くことでランダムなフレーズが完成するってやつです。昔そういう遊びをしたことはありませ…

Feedzirraのupdateメソッドを読み解く

少し前にRSSフィードをパースするgem、Feedzirraの紹介記事で次のようなことを書きました。 そうするとupdateメソッドが使えるようになります。このような流れで更新された記事だけを取り出すことができるようになりました。 なお、Feedzirra::Parser::RSS以…

個別ページのURLからRSSフィードURLを取得するfeedbag

自分用のメモも兼ねて今は亡きRSSリーダーを作ったときのノウハウを少しずつときどき書いていこうと思います。 RSSリーダーによくある機能として現在開いているページのRSSフィードを購読するというフローがあるんですが、それと同じ機能を実現しようとした…

自前のgemをRailsアプリと並行して開発するワークフロー

Railsアプリケーションを書いていて一部機能をgemに切り出したほうがいいんじゃないか、という場面に遭遇したのでローカルでgemを作りました。 Railsアプリケーション側ではbundlerでローカルにあるソースをrequireして使うことができます。なんでgithub等を…