musical 1.0.0をリリースしました

  • 2013年9月 8日 19:22
  • ruby

musical

2年くらい前に書いたmusicalが、全く動かなくなっていたので、ゼロから書きなおしてv1.0.0としてリリースしました。 musicalの詳しい説明はこちらのエントリーをご覧ください。

背景

地味なツールだというのに、Pull Requestも幾つかいただいていて、僕のつくったgemの中だと実は一番DL数が多いmusicalですが、いかんせん

  • classの分け方が微妙で見通しが悪い
  • そもそもテストが無いから正しく動作してるのかどうか分からない
  • iTunes10になってから、まともに動作しなくなっていた

などの問題がありました。

何度も書きなおし

前からゼロから書きなおそうとして開発を進めていたのですが、iTunes連携部分をitunes-clientのgemに切り出したり、周辺の開発に伴いTravisCIやCoverallとの連携のコツが掴めてきたりして、その都度ゼロから書き直し続けていました。おそらく、今回リリースするまでに3回くらい書きなおしたはず。。

ただ、その甲斐あってか、だいぶ直感的なコードで記述することができるようになりました。もちろんSpec付きでCoverage100%キープしてます。 mainのコードもこんなかんじになって、割とスッキリできたんじゃないでしょうか。(一部抜粋)

DVD.load(dvd_options) do |dvd|
  chapters = dvd.rip

  chapters.each do |chapter|
    wav = chapter.to_wav
    track = Itunes::Player.add(wav.expand_path)

    converted_track = track.convert
    converted_track.update_attributes(
      name: chapter.name,
      album: dvd.title,
      artist: dvd.artist,
      track_count: chapters.size,
      track_number: chapter.chapter_number,
    )

    wav.delete!
    track.delete!
  end
end

補足

当然ながら、本gemは著作権違反の手助けをするためのものではありません。 自身の責任の元、著作権を保持しているDVDでご利用ください。

関連広告

Trackbacks:0

TrackBack URL for this entry
http://blog.katsuma.tv/mt-tb.cgi/265
Listed below are links to weblogs that reference
musical 1.0.0をリリースしました from blog.katsuma.tv

Home > ruby > musical 1.0.0をリリースしました

Search
Feeds

Return to page top