読者です 読者をやめる 読者になる 読者になる

@Konboi memo

主に技術に関してつらつらと。

sinatra で rails new 的な物を調べてみた

新しいweb app をつくろうと思った時に railsでやるには大げさだけど、 sinatra だと色々用意するのが面倒なので sinatrarails new 的なのないか調べてみた

singen

最終更新日は8ヶ月前

使い方

sinatra-gen [appname] [options] [paths]

オプション

下記のオプションがあるらしい。

-h, --help                       Show this help message and quit.
-p, --pretend                    Run but do not make any changes.
-f, --force                      Overwrite files that already exist.
-s, --skip                       Skip files that already exist.
-q, --quiet                      Suppress normal output.
-t, --backtrace                  Debugging: show backtrace on errors.
-c, --svn                        Modify files with subversion. (Note: svn must be in path)
-g, --git                        Modify files with git. (Note: git must be in path)

sinatra-gen

最終更新日は1年前 ディレクトリをそのままherokuへデプロイできるのが強みらしい。

使い方

sinagen NAME

生成

sinagenを使うと下記のようなファイルが作られるらしい。

project/
    README.md
    config.rb                # Compass configuration
    config.ru                # For rack
    Gemfile                  # Some basic gems prefilled
    Gemfile.lock
    .git/                   
    .gitignore      
    .rspec                   # Rspec config file
    public/
        images/
        stylesheets/         # CSS files generated from compiled sass
            ie.css
            print.css
            screen.css
            main.css
    spec/
        spec_helper.rb        
        setup_spec.rb        # Test app setup
    .sass-cache              # Compass tmp files, under gitignore
    view/
        stylesheets/
            ie.sass
            print.sass
            screen.sass
            main.sass
                partials/
                    _base.sass

snfn

最終更新日は2年前

使いやすいオプションがあるのが売りらしい。

使い方

snfn my_app

オプション

rails みたいに db を選べたり、redisだったりを選べたりできるらしい

-d Database. Options are "postgres," "mysql," "sqlite", and "mongo." Default is "sqlite."
--redis Include Redis configuration options.
--no-database Don't include any database config options.
--no-heroku Don't include Heroku config options.

hazel

最終更新日は6日前

snfnを元に作られているらしい。

使い方

hazel my_app

オプション

snfnを参考にしてるからオプションは似ている。

--capistrano Include Capistrano
-d Database. Options are "postgres," "mysql," "sqlite", and "mongo." Default is ""
--redis Include Redis configuration options.
--rvm Create .ruby-version (ruby-2.1.0) and .ruby-gemset
--bundle Run bundle after generating the app
--git Initialize a Git repository

ここで表記した最終更新日はgithubのページのlast commit を軽くみただけです。

まとめ

sinaraでなにかやる場合、sinatraでできるぐらい簡単だろうと思って始めるけど、DBとかセッションとかが必要になってきてしょうがなくgem追加して機能拡張してって感じだから、はじめからそうなるってのがわかってるならrailsを使うかもなーってなんとなく思ってきた。

なにでつくろうかなーって悩んでるぐらいなら使い慣れてるのでとりあえず作ってしまおう。

Sinatra: Up and Running

Sinatra: Up and Running