Ruby

今日からneovimでRubyの型(RBS)を書き始める方法 + 実際に書いてみた感想

しばらくRubyをあんま触ってない日々が続いてたんですが、オフラインでRubyKaigiに参加したKaigiEffectということでやる気が甦ってきたので、型を真面目に書くための準備を整えようと色々とやってました。 RubyKaigiでモダンなRubyの開発体験のデモをいくつ…

パーフェクトRubyの心残り

この記事はパーフェクトRuby Advent Calendar 2013 - Adventarの6日目です。Rubyサポーターズの一員としてパーフェクトRubyという本を執筆する幸運に恵まれました、joker1007です。 そもそもはryopekoさんに指名していただいて途中からの協力者という形で参…

Amazon Glacierを楽に利用するためのRailsアプリを作った

AWSのGlacierは、1GBでおよそ月に1円ぐらいなので、1TBバックアップしても月に1000円ぐらい。 これぐらいなら、まあDropboxのプレミアムぐらいの感覚で、1TBをAmazonさんにバックアップしてもらえますね。 ただ、Glacierは結構利用の手順が面倒なので、それ…

Refinementsとクラスの継承を組み合わせた動作を確認する

大した話ではないが、Refinementsについてちょっと実験してみたので、結果をまとめておく。 まず、現状のRefinementsについて整理する。 今のRefinementsはファイルスコープという、微妙に分かりづらいスコープで適用される。とりあえずサンプルコードで確認…

Capybaraが2.1.0になって、また微妙に挙動が変わったので調べてみた

久々にブログ書く。 何気なくbundle updateをしたらcapybaraが2.1.0になってて、テストが落ちるようになった。 また挙動が変わったらしいので、ググって確認してみる。 Introducing Capybara 2.1を参照すると大体分かるけど、一応日本語でざっくり書いておく…

続・Conroller SpecからREST APIの利用例を自動生成するGemを作ってみた

前回の更新で書いた、ghost_writerをアップデートしました。 joker1007/ghost_writer · GitHub githubに出力例を追加 https://github.com/joker1007/ghost_writer/tree/master/output_examples 一覧のためのdocument_indexファイルの生成 複数フォーマット対…

Conroller SpecからREST APIの利用例を自動生成するGemを作ってみた

最近、スマホからRESTでアクセスしてデータ取ってくるシステムのサーバーサイドを作ることが多いのですが、API仕様書書いてくれと言われて面倒になったので、なんとかしたかった。 そこで、そもそもRESTの入力と出力の仕様って、controllerのspecを書いてい…

サブドメイン名等で、描画するテンプレートを上手いこと分けるためのGem、template-switcherを作った

仕事で、サブドメインやドメインごとに、レンダリングするテンプレートを切り替えたい事があり、せっかくなので、Gemにしてみた。 既にどっかにありそうな感じが凄くするのだが、パっとググってもgemは見つからなかった。 最近、こんな感じの非常にしょぼいG…

寝付きが悪かったので、作った超簡易gem 第二弾 「maybe-chain」

眠れなくて暇だったので、思い付きをgemにしてみた。 要はActiveSupportのtryの変形バージョンで、tryでチェインするとなんか見づらいから、ラップしてメソッドチェインそのまま使えるようにしてみた。 ついでにKernelモジュールを拡張して、Haskellのmaybe…

感極まるSapporo Rubykaigi 2012に行ってきた

正直、コメントのしようが無いほど素晴らしいイベントでした。 あの人数でネットワークが安定していたのは凄いと思うし、Ustも安定していたし、給電所も準備されている。 細かい所まで行き届いた会場と、非常に濃い発表の数々。 札幌まで行くだけの価値は十…

Railserなら知っておくべき地味だけど便利なメソッド

Railsのバージョンは3.2.8時点のものです。(2012/8/21追記) 前回の冒頭で書いてたので、Rails版も書いてみようと思う。 要は、困ったらリファレンスマニュアルのそれっぽいところ見れば、 Ruby/Railsは大体解決してくれるよ(しかもスマートに)って感じなので…

Rubyistなら知っておくべき地味だけど便利なメソッド

備忘録兼、初心者向けのメソッド一覧。 余裕があればRails編とかも書こうかな。 これ忘れてるとか何事?とかいう突っ込みがあれば是非お願いします。 もうちょっとコードの具体例書きたかったけど、めんどくさくなってきたw Array Array#combination(n), Arra…

TokyuRuby会議05 でLT王になってきた

7/29(ナイスな肉の日) 開催のTokyuRuby会議に参加してきました。 参加費無料なのに、プレミアムモルツが無限に注がれ続けるという、 正気の沙汰とは思えないイベントです。 ちゃんとビアサーバーから注いでくれます。 そして全てはLTです。会場案内からイベ…

RubyからGitHubのpull requestをSkypeに通知する(てきとう版)

GitHubのビジネスプランを使ってるんですが、pull requestの通知をチームメンバーが使ってるSkypeチャットに送りたかったので、SkypeでのBotの作り方を調べてみました。 どうにも面倒そうな印象があったんですが、やっぱり結構面倒でしたw Linux上のマシンで…

rspec-parameterizedでマッチャをパラメーター側に含めるシンプルな方法

先日、id:ToMmY作のrspec-parameterizedというgemが公開されました。 はてな シンプルながら、非常にクールです。 配列にパラメーターのパターンを書いて、eachでdescribeを記述するというのは、 皆やってると思うのですが、gem化して綺麗に見せられる方がか…

ActiveSupportを読んでみよう & テストコードに感謝する

この記事はRuby Advent Calendar 2011の15日目になります。 14日目の記事は、ongaeshi007さんによる、RubyGemsはrequireの裏で何をやっているのか? - ブログのおんがえしです。 タイトルと関係無い話 全くの私事で恐縮ですが、本日、2年半とちょっと勤めて…

rspecをvim-quickrunから非同期で実行する

quickrunはデフォルトでいろんなファイルを実行してくれますが、rspecまではカバーしてくれていないので、 hogehoge_spec.rb等のファイルを開いて、quickrunすると普通にrubyコマンドで実行されてしまいます。 ソースコード自体でrspecライブラリをrequireし…

Ruby on Rails Guides: Ruby on Rails 3.1 Release Notesを自分用に和訳してみた

英語の勉強兼、自分への備忘録としてRails 3.1 のリリースノートを和訳してみました。 ところどころ、良く分かってないので直訳になってたり、微妙に不可解な日本語になってたりする箇所があります。 ご容赦ください。 間違いに気付いた方はご指摘していただ…

最後のrubykaigiに行ってきた

7/16〜18は、最後のrubykaigiに参加していた。 rubykaigiは関西に居たころから行ってみたくて、いつもWeb上のレポート記事を見ながらやきもきとしていた。 関東に来てからも予定が合わなくて去年は行けず。 今回、最後のrubykaigiについに行くことが出来て本…

闇rubykaigiでカラオケとRailsの組み合わせについて発表

初参加した最後のrubykaigiで感極まったので、勢いで闇rubykaigiの当日応募枠に申し込んでみたら、抽選とか全然無かったので、普通に壇上に上がることになってしまった。 闇rubykaigi2011 「カラオケとRailsと私」 発表内容についての補足 カラオケ通の中で…

Sunspotでsolrのクエリを直接投げる方法のメモ

Sunspotでsolrのrawクエリを投げる方法で詰まったので、メモしておく。 Sunspot.search Post do adjust_solr_params do |p| p[:q] = "title:SearchWord" end end Sunspotはrubyのオブジェクトと上手く組み合わせてsolrで検索できるようにするライブラリ http…

cmdline-fuをプロキシ内ネットワークから使う

はてブでも書いたので、わざわざこっちに書くほどでも無い気がするけど、 一応更新ネタとして書いておく。 cmdline-fuはCommand-line-fuというコマンドラインで使える イカしたワンライナーを投稿するサービスをコマンドラインから検索するツール。 詳細はこ…