pockestrap

Web Programmer's memo

jQuery.ajaxのラッパー書いた

pocke/ajax_set.js · GitHub

何故作った

会社で先輩が作ってて便利そうだなーって思っていました。 けれどもRailsプロジェクトに向かなさそうだしプルリク投げようかなーと思ってフォークしたら全部自分で書きたくなってしまった。以上。

使い方

READMEのコピペだけど。

var ajax_blog = new AjaxSet.Resources('blogs');

ajax_blog.index();                        // => $.ajax({url: '/blogs', type: 'GET'})
ajax_blog.show({id: 38});                 // => $.ajax({url: '/blogs/38', type: 'GET'})
ajax_blog.new();                          // => $.ajax({url: '/blogs/new', type: 'GET'})
ajax_blog.create();                       // => $.ajax({url: '/blog', type: 'POST'})
ajax_blog.edit({id: 38});                 // => $.ajax({url: '/blogs/38/edit', type: 'GET'})
ajax_blog.update({id: 38, foo: 'bar'});   // => $.ajax({url: '/blog/38', type: 'PUT', data: {foo: 'bar'}})
ajax_blog.destroy({id: 38});              // => $.ajax({url: '/blog/38', type: 'DELETE'})

AjaxSet.Resourcesnewすると、Railsのresources routes を簡単に叩けるようになります。

/blogs/:id/editみたいなURLもよろしくやってくれます。便利。 そしてAjaxSet.Resourcesの第二引数にnameとか渡すと、urlの:idの部分を:nameとして使えたりもします。

また、AjaxSet.Resource(単数形)を使うと、Railsのresource(単数形) routes を扱えます。 そして、拡張も可能なのでRails以外のフレームワークにも対応できるはずです。多分。

TODO

  • .done()とか.fail()とか、共通のものを引っ掛けられるようにしたい。
  • 使いたい(まだ使ってない(もし使ってくれる人いたら使い勝手教えて!(プルリクも待ってます)))

まとめ

JSわからない。

あとねあとね、テスト書くのめっちゃ楽しかったよ!!

  • mocha
  • chai
  • sinon
  • phantomjs

あたりを使って、ブラウザからテストしたりコマンドラインからテストできるようにしてtravis-ciに投げたり…

テスト書くの楽しかった。