Rubyでwebアプリひな形作成CLIツールを作ってみた
Rubyを書いてるの人の大半の目的はRailsの利用だと思うのですが、自分はRails newを試した位しか、した事がありません。
まあ、今のところ趣味で作るサイトやwebアプリにはRailsは多機能過ぎて、もっぱらSinatraとHamlで挙動を確認しながら色々試しています。良い点として、自分で必要なGemを吟味して追加する必要があるので、それぞれどの部分が何をしているかが把握できる点ですね。
また、Sinatraを使ったwebアプリの作り方は
Webアプリエンジニア養成読本[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus)
- 作者: 和田裕介,石田絢一(uzulla),すがわらまさのり,斎藤祐一郎
- 出版社/メーカー: 技術評論社
- 発売日: 2014/03/11
- メディア: 大型本
- この商品を含むブログ (5件) を見る
で1から手取り足取り解説されてて、この本を写経してやり方を覚えればwebアプリが作れるようになります。非常に良い本でおすすめです。
本題
で、いくつかのwebアプリを作っては捨て、作っては捨てをしていると、初期ファイルを書くのが非常に面倒になってきました。
Rails newでひな形を自動でガガガーっと作ってくれるみたいな、自分用のツールが欲しい!と思ったので、CLIツール「Sinatras(名前は超適当)」の作成にチャレンジしてみました。
パーフェクトRubyの第15章を参考に(というか、ほとんど写経)して、何とか完成。
- 作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一
- 出版社/メーカー: 技術評論社
- 発売日: 2013/08/10
- メディア: 大型本
- この商品を含むブログ (17件) を見る
今のところnewコマンドしかありませんが、
sinatras new <appname>
で、appnameで指定したアプリ名でディレクトリを作成し、
等をしてくれます。
実際に実行した様子はこんな感じ
作成されたファイルは・・・
※ 追記
ファイルが作成されたら、もちろんrackupできます。 127.0.0.1:9292 でブラウザからこの画面が出るはず。
あとはviewsの中のhamlファイルをいじれば、簡単なwebページが作れます。cssを作った時はpublicフォルダへ保存しましょう。
パーフェクトRubyを読んで
まだ、頭から読み進めてる途中ですが、CLIツールは第15章に書かれている通りに読み進めていけば簡単にGemファイルを作る事ができました。
作ったGemファイルをインストールする事により、どこでも「コマンド」として実行できます。
今回勉強になったのは、前のブログで書いたモジュールやクラスの機能分離方法の実例が学べた点です。作る過程で体験できるので非常に良いです。
また、この本は「たのしいRuby」
- 作者: 高橋征義,後藤裕蔵,まつもとゆきひろ
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2013/06/04
- メディア: 単行本
- この商品を含むブログ (29件) を見る
気をつける点は、若干ソースコードに誤植があるのと、おそらくスペースの都合上、コードの一部を省略している点です。
どの部分のコードなのかは、出版元サイトから掲載されているコードがダウンロード出来るので、それを直接見るのがベストです。
エンジニアリングとは
プログラミングの醍醐味は、モノ作りをして完成した時の達成感や動いた時の感動ですが、もうひとつ大事な事として、エンジニアリングによる作業の短縮効果でしょうか。実用的なアプリを作ることによって、今までとはまた違った喜びの体験ができました。
とにかく、rails newみたいにSinatraのアプリが作れる様になりました!やった!
ソースコードはGithubにあります。
https://github.com/tomcha/sinatras
アドバイス等があれば、お手柔らかによろしくお願いします。