Ruby

Ruby

AASMでステータス変更と同じクリティカルセクションで実行

概要主にActiveRecordと併用して使うステータス管理用のgemがあります。AASM(ステートマシーン)です。「ステータス変更と同時に別の処理を実行したい」という要求を満たすために排他制御(主にデータベースのトランザクション)を使う場...
Ruby

Toonesの残高をチェックして少なかったらSlackへアラート

インターネットFAXのToonesにある残高が減った時に検知する手段が無かったのでスクレイピングしてSlackに通知するようにしました。mechanize gemを使えば、結構簡単に書けます。ヘッドレスブラウザを使うと大げさすぎるし、htt...
Ruby

分割されていない電話番号から市外局番と市内局番の求め方

概要分割されていない電話番号から、市内局番や市外局番を求めたい。0292323011 => 029-232-3011phonelibが良さそう。phonelibはGoogle libphonenumberのデータをもとにしている。日本の市外...
Ruby

CloudWatchにrubyアプリケーションからログを投げる

しかし、投げまくっていると以下のような例外が出るので、Throttlingされてしまったらsleepする必要があります。そうなると全体としての処理パフォーマンスのボトルネックになってしまうので要注意です。Aws::CloudWatchLog...
Ruby

東京都のCOVID-19新規陽性者をTweetするBot

東京都のCOVID-19新規感染者をTweetするBotを作りました。フォローしてね! →@covid19tokyoが垢バンくらったので、神奈川県のみ生きてます。仕様毎日東京都の新規感染者を調べてチェックするのが面倒なので、プログラムで新規...
Ruby

Ruby on RailsでER図をモデルから生成

Railsの最新のER図をリバースエンジニアリングでスキーマから生成しましょう。rails-erdを使います。docker container内でコピペでできるようにコマンドを列挙しておきます。apt updateapt-get insta...
Ruby

TTSとTTBを取得するrubygem作った

概要経理処理などで、TTS、TTB、TTMといった為替の値を使って処理する場合がある。日本では東京三菱UFJ銀行が提供している為替の値を使うことがデファクトスタンダードになっている気がする。しかし、プログラム上から利用しやすい形態で情報が提...
Ruby

hanami – The web, with simplicity

概要hanamiを軽く使ってみました。 の予習用です。 で発表しました。資料 20170823 shinjuku rb_hanami from Yuki Matsukura
Ruby

king of timeのgemを作りました

概要勤怠管理システムの『キングオブタイム』の打刻をRubyから行うgemを作りました。応用Alfredのショートカットに登録しておけば、ランチャーから打刻できます。LINE Messaging APIと組み合わせて打刻をLINEからおこなっ...
Ruby

RailsにおけるTimezoneの扱い方

理論前提として、理論に関してはこちらが良くまとまっています。Railsと周辺のTimeZone設定を整理する (active_record.default_timezoneの罠)実践実際、運用する場合はこちらの内容を踏まえてコーディングルー...