動かざることバグの如し

近づきたいよ 君の理想に

RailsのActionMailerで差出人のメールアドレスを取得したい

環境

やりたいこと

ActionMailerを使ったメール送信周りのテストをしていて、

# メール1通送れているか
expect(ActionMailer::Base.deliveries.size).to eq(1)
mail = ActionMailer::Base.deliveries.last

expect(mail.subject).to eq("たいとる")
expect(mail.to).to eq(['aaaaaaaaaaa@example.com'])
expect(mail.body.encoded).to include("ほげほげ")
expect(mail.from).to eq(["aaaaa@example.com"])

といった形でメールに対してテストができる。mail.fromで差出人のメールアドレスが取得できるのだが、

はてなブログサポート事務局 <hatena@example.com>

のように名前を含むメールアドレスになってしまうと何故かうまく取れなくなる。(でテストにコケる

解決方法

mail[:from].value

で名前ごと取れる。つまり

mail = ActionMailer::Base.deliveries.last
expect(mail[:from].value).to eq('はてなブログサポート事務局 <hatena@example.com>')

みたいに可能。ベストなやり方かはわからんが

ちなみにこのやり方で取れるのは5以降らしい

参考リンク

msgpackをコマンドラインで使う

MessagePackと呼ばれるJSONのような、、だけど似て非なるオブジェクト形式がある。

具体的な説明は公式ドキュメントに譲るとして、phprubyPythonで扱うライブラリはあるものの、linuxのコマンドで使いたかったのでメモ

インストール方法

msgpack-toolsというのがあるのでありがたく使う

公式ドキュメントではパッケージでもインストールできるようだが、うまくいかなかったのでおとなしく自ビルドする。

git clone https://github.com/ludocode/msgpack-tools.git
cd msgpack-tools

ビルド自体は単純である。が、md2manに依存しているので gem install md2manが必要

./configure
make
make install

確認

$ echo '{"compact": true, "schema": 0}' | json2msgpack  | msgpack2json
{"compact":true,"schema":0}~/tmp/msgpack-tools

おk

毎回flexboxでググるのツラくなってきたので自分用まとめ

多分一番見やすい基本的な使い方まとめ

応用まとめ

ロゴだけ左端に、ほかは右寄せにってのがすごく役に立った(:first-child と margin-right: auto; の合わせ技)

playground

関東唯一の「海の見える露天風呂」横須賀温泉 へ行った話

まとめ

  • 都内から近い
  • 温泉きもちいい
  • 海は広かった

日帰り温泉

ふと日帰りで温泉行きたい衝動に駆られた。駆られてしまったからには行かなければならないが、当日で箱根とか熱海に行くのは若干厳しいものがある。ってことで前にツイッターで見て気になっていた「横須賀温泉」に行ってみた

行くまで

公式サイトいわく、京急本線 「馬堀海岸駅」から徒歩12分 バスの案内もあったが全然徒歩で歩ける範囲だった

最寄り駅の馬堀海岸駅に到着 日曜日だからか電車混んでてつらみ

f:id:thr3a:20181028124752j:plain

改札出るとご丁寧に看板が出ていた。方向音痴の俺氏にっこり

f:id:thr3a:20181028110150j:plain

が、残念ながら↑の地図の公園が見当たらなかったので若干遠回りに(海岸通りを歩いた) けど海見れたしおk

海沿いにありそうな謎の木達発見

f:id:thr3a:20181028111230j:plain

で、到着

f:id:thr3a:20181028121903j:plain

「いらっしゃいませ、いいお湯できてます」 

f:id:thr3a:20181028121848j:plain

日曜日だったので入館料は1,230円(バスタオル込)だった。後払い制なので受付で手首にはめるやつ貰って退館時にお会計って感じ クレジットカードOK

で、肝心の露天風呂だけどめっちゃよかった(こなみ)当然囲いがあるから完全に一望できるわけじゃないけど、頑張ったんだろうなってギリギリのライン攻めてる。今回は雲で見えなかったけど(あと視力)、天気いいと富士山も見えるっぽい

Google先生いわく午前より午後のほうが混んでいるそう

f:id:thr3a:20181028165407p:plain

実際自分が入ったときは11時過ぎくらいでまだそんなに人もいなかったので堪能できたが、出ようかなって頃の12時頃には結構人いた。 開いてる時間狙うなら午前の早いうちのほうがよさげ

関係ないけど、最後のお会計時に「入館とコーヒー牛乳一本で○○円ですね ー」って言われたの恥ずかしかった そこは普通に飲食代でええやろ(

帰りは海岸通り沿いを散策

f:id:thr3a:20181028122359j:plain

うみだー 埼玉県民なので海を見ると条件反射で(略

f:id:thr3a:20181028122546j:plain

なんか船も見えたけどiPhone SEの限界はここまで

f:id:thr3a:20181028122613j:plain

お店の入り口でパンフもあった 次横須賀散策するときには参考にしたい

f:id:thr3a:20181028154525j:plain

ってことで海の見える横須賀温泉おすすめですって話 帰りはずっと横須賀ストーリーウォークマンで聴いてた(

蛇足

薬局のドライブスルー初めて見たんだけど神奈川県だとフツーだったりするんでしょうか

f:id:thr3a:20181028124209j:plain

Railsに「Honoka」なBootstrapをyarn経由でインストールする

Honokaというじゅりあん(@MITLicense)氏作のBootstrapテーマがある。

Honoka - 日本語も美しく表示できるBootstrapテーマ

サンプルを見てもらうとわかるが、日本語の表示が綺麗になっている。加えて配色も標準と変わってて、Bootstrapの触り心地をキープしつつ少し変わったCSSフレームワークを使いたい場合にはオススメ

で久々に見たらnpm対応してたのでRailsで使ってみる

環境

yarn自体のインストールとrailsのひな壇はできているものとする あとWebpackerは今回使わない

インストール

yarn add bootstrap-honoka

一発。。。

以下のようになればインストール成功

yarn add bootstrap-honoka
yarn add v1.9.4
info No lockfile found.
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
success Saved lockfile.
warning Your current version of Yarn is out of date. The latest version is "1.10.1", while you're on "1.9.4".
info To upgrade, run the following command:
$ brew upgrade yarn
success Saved 4 new dependencies.
info Direct dependencies
└─ bootstrap-honoka@4.1.3
info All dependencies
├─ bootstrap-honoka@4.1.3
├─ bootstrap@4.1.3
├─ jquery@3.3.1
└─ popper.js@1.14.4
✨  Done in 2.15s.

設定

残念ながらこれだけではCSSは読み込まれない。yarnでインストールしたものはnode_modules以下に配置されるが、Railsではデフォルトではnode_modulesを読まないからである。

ということでCSSを読むように app/assets/stylesheets/application.scssで以下を追加

 *= require bootstrap-honoka/dist/css/bootstrap.min.css

JSも必要な場合は app/assets/javascripts/application.js に以下を追加

//= require bootstrap-honoka/dist/js/bootstrap.min.js

でいける

f:id:thr3a:20181028071137p:plain

めっちゃ簡単 作者に感謝〜