min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

Amazon MasterCard の利用明細をCSVファイルに出力する(macOS Sierra + Ruby + Rails4)

 

数日前に契約した Amazon MasterCard が手元に届いた。

min117.hatenablog.com

さっそくWeb明細履歴サービス「Vpass」を登録して利用明細を見れるようにした。一緒に電子マネーサービス「iD」を登録したので、その利用明細をCSVで出力できるようにする。既にコードを書いてくれてる人がいた。

三井住友VISAカードの利用明細取得 - それはそれ。これはこれ。

f:id:min117:20170925120345p:plain

10年前の記事なのに、書かれているリンクはそのまま使えるようだ。銀行のサイトアドレスはそうそう簡単に変えられるものではないらしい。コード丸写しで動かしてみる。

$ vim getCSV.rb

f:id:min117:20170925120634p:plain

iMac 5K にて実行。少しだけ書き換えた。

 1行目のPATH … which ruby とコマンド叩いて出てきたPATHに変更。

 10行目の年月 … 本日の年月に変更。

実行してみる。

$ ./getCSV.rb

f:id:min117:20170925120951p:plain

だめやね。「cannot load such file -- mechanize(mechanizeなんていうファイルはない)」とエラー。調べる。

ーーー

どうやら「mechanize」のインストールには、Ruby + Rails4 の環境が必要らしい。このへん参照にインストールする。

qiita.com

 

ーーー

まずは Xcode のインストールが必要。App Store からインストールする。Xcode で検索すればイッパツ。

f:id:min117:20170925121528p:plain 

f:id:min117:20170925121634p:plain

f:id:min117:20170925121539p:plain

f:id:min117:20170925121645p:plain

Command Line Tools for Xcode もインストールする。Xcodeのメニュー画面 → Open Developer Tool → More Developer Tools と辿る。

f:id:min117:20170925121820p:plain

Apple の開発者用のサイトに飛ばされる。既に開発者登録してあるので、ログインして、最新の Command Line Tools for Xcode のdmgをダウンロードする。

f:id:min117:20170925122136p:plain

dmgを叩いて、表示されるpkgファイルからインストールする。

f:id:min117:20170925122419p:plain

ん?「macOS High Sierra」だと?それは 2017/9/26(明日)配信のはずなんだけど…

f:id:min117:20170925122500p:plain

やっぱりエラーになった。開発者サイトだから先行で新しいのを配信してたのか。

f:id:min117:20170925122600p:plain

明日以降で OSのアップデートしたあとにインストールすることにしよう。

ーーー

2017/9/26 macOS High Sierra がリリースされた。さっそくアップデートする。

f:id:min117:20170926172856p:plain

アップデートには3時間くらいかかった気がする。無事終わったので上記 Command Line Tools for Xcode のインストールを続ける。

f:id:min117:20170926173009p:plain

無事完了。

ーーー

次に Homebrew をインストールする。

brew.sh

といってもインストールコマンドを叩くだけのようだ。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

f:id:min117:20170925123035p:plain

PATH設定。

$ echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile

$ source ~/.bash_profile

f:id:min117:20170926174342p:plain

正常にインストールされたか確かめる。

$ brew doctor

f:id:min117:20170926174325p:plain

python環境(anaconda)があるからか何かワーニングが出ているが気にしないで進める(configファイルの管理が anacondaとHomebrewで混乱をきたすかも、という内容のようだ)。

続いて最新パッケージリストを取得する。

$ brew update

f:id:min117:20170926173710p:plain

$ brew install git

f:id:min117:20170926174636p:plain

$ brew install realine

f:id:min117:20170926174649p:plain

$ brew install openssl

f:id:min117:20170926174614p:plain

$ brew install ruby-build

f:id:min117:20170926174543p:plain

$ brew install rbenv

f:id:min117:20170926174507p:plain

PATH設定。

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

$ source ~/.bash_profile

f:id:min117:20170926174957p:plain

最新バージョンの確認。

$ rbenv install -l | grep -e '^ 2\..*'

f:id:min117:20170926175345p:plain

この場合だと、2.4.2 が最新安定バージョンと思われる。

ruby のインストール。

$ rbenv install 2.4.2

f:id:min117:20170926175800p:plain

$ rbenv global 2.4.2

$ rbenv versions

$ ruby -v

f:id:min117:20170926175950p:plain

ーーー

Ruby on Rails のインストール。

gem install rails

f:id:min117:20170926180314p:plain

かなり量があるが終わった。

f:id:min117:20170926180332p:plain

bundler のインストール。

$ gem install bundler

f:id:min117:20170926180436p:plain

インストール後の反映。

$ rbenv rehash

$ source ~/.bash_profile

f:id:min117:20170926180604p:plain

ここまでで環境はできた。

※ Homebrewのコマンドの覚え方によさそうな記事があったのでついでにメモ。

qiita.com

f:id:min117:20170925123539p:plain

ーーー

サンプルアプリの作成。このとおりにやってみる。

f:id:min117:20170926180926p:plain

$ rails new sample

f:id:min117:20170926181021p:plain

$ cd sample/

$ ls

f:id:min117:20170926181113p:plain

$ rails g scaffold Twitter tweet:string

f:id:min117:20170926181137p:plain

$ rake db:migrate

f:id:min117:20170926181347p:plain

$ rails server

f:id:min117:20170926181337p:plain

ブラウザ(Safari)からアクセスしてみる。

http://localhost:3000

f:id:min117:20170926181502p:plain

http://localhost:3000/twitters

f:id:min117:20170926181601p:plain

http://localhost:3000/twitters/new

f:id:min117:20170926181610p:plain

ーーー

うまくいったので、冒頭のスクリプトを再度叩いてみる。

$ ./getCSV.rb

f:id:min117:20170926182003p:plain

あれ?エラー変わらない…