padrinoでアプリケーション開発 3 : padrino プロジェクト作成

padrino のプロジェクト作成するために padrino generate をコマンドを実行します。
コマンドを実行すると、プロジェクトの基本的なファイルやフォルダ一式が作成されます。

padrino generate には様々なオプションやコンポーネントの指定が可能なので、
目的にあったものを指定すると、フォルダの追加や構成を変更したりする手間が省けます。

目次

  • padrino generate のオプション
  • 利用可能なコンポーネント
  • padrino generate の実行例

padrino プロジェクトのオプション

以下のオプションがあります。


オプション デフォルト値 エイリアス 説明
bundle false -b バンドルの依存関係のインストールを実行する
root . -r プロジェクトルートの指定
dev false none ローカルの git からエッジバージョンを使用する?
app nil -n プロジェクト名と異なるアプリケーション名を指定する
tiny false -i 小さい骨組みだけのプロジェクトを作成する
adapter sqlite -a ormのdbアダプタを指定する(mysql, sqlite, postgres)

よくわからないのが幾つかありますが・・・

オプションについては、単純に利用するだけでは指定は不要かな、というのが私見です。
公式でもオプションを指定した例はざっと見たところ見当たりませんでした。

利用可能なコンポーネント

また、プロジェクト作成時に利用するコンポーネントを指定しておくこともできます。
こちらはガンガン指定しましょう。

コンポーネント デフォルト値 エイリアス 指定できる値
orm none -d mongoid, activerecord, datamapper, couchrest, mongomatic, ohm, ripple, sequel, dynamoid
test none -t bacon, shoulda, cucumber, testunit, rspec, minitest
script none -s prototype, jquery, mootools, extcore, dojo
renderer haml -e erb, haml, slim, liquid
stylesheet none -c sass, less, scss, compass
mock none -m rr, mocha

padrino generate の実行例

何も指定しないでインストール

まずは何も指定しないで、インストールを行ってみます。

$ padrino g project your_project
      create
      create  .gitignore
      create  config.ru
      create  config/apps.rb
      create  config/boot.rb
      create  public/favicon.ico
      create  public/images
      create  public/javascripts
      create  public/stylesheets
      create  .components
      create  app
      create  app/app.rb
      create  app/controllers
      create  app/helpers
      create  app/views
      create  app/views/layouts
      append  config/apps.rb
      create  Gemfile
      create  Rakefile
      create  bin/your_project
      create  tmp
      create  tmp/.keep
      create  log
      create  log/.keep
    skipping  orm component...
    skipping  test component...
    skipping  mock component...
    skipping  script component...
    skipping  renderer component...
    skipping  stylesheet component...
   identical  .components
       force  .components
       force  .components

=================================================================
your_project is ready for development!
=================================================================
$ cd ./your_project
$ bundle
=================================================================

$ cd your_project
$ tree
.
├── Gemfile
├── Rakefile
├── app
│   ├── app.rb
│   ├── controllers
│   ├── helpers
│   └── views
│       └── layouts
├── bin
│   └── your_project
├── config
│   ├── apps.rb
│   └── boot.rb
├── config.ru
├── log
├── public
│   ├── favicon.ico
│   ├── images
│   ├── javascripts
│   └── stylesheets
└── tmp

一式できあがってますね!

コンポーネントを指定してみる

次に、下記のコンポーネントを指定してプロジェクトを作成してみます。

  • テスト … rsprc
  • テンプレート … erb
  • JavaScript … jquery
  • ORM … activerecord
  • スタイルシート … scss
  • モック … rr
$ padrino g project your_project -t rspec -e erb -m rr -s jquery -d activerecord -c scss
      create
      create  .gitignore
      create  config.ru
      create  config/apps.rb
      create  config/boot.rb
      create  public/favicon.ico
      create  public/images
      create  public/javascripts
      create  public/stylesheets
      create  .components
      create  app
      create  app/app.rb
      create  app/controllers
      create  app/helpers
      create  app/views
      create  app/views/layouts
      append  config/apps.rb
      create  Gemfile
      create  Rakefile
      create  bin/your_project
      create  tmp
      create  tmp/.keep
      create  log
      create  log/.keep
    applying  activerecord (orm)...
       apply  orms/activerecord
      insert  Gemfile
      insert  Gemfile
      create  config/database.rb
      create  lib/connection_pool_management_middleware.rb
      insert  app/app.rb
    applying  rspec (test)...
       apply  tests/rspec
      insert  Gemfile
      insert  Gemfile
      create  spec/spec_helper.rb
      create  spec/spec.rake
    applying  rr (mock)...
       apply  mocks/rr
      insert  Gemfile
      insert  spec/spec_helper.rb
    applying  jquery (script)...
       apply  scripts/jquery
      create  public/javascripts/jquery.js
      create  public/javascripts/jquery-ujs.js
      create  public/javascripts/application.js
    applying  erb (renderer)...
       apply  renderers/erb
      insert  Gemfile
    applying  scss (stylesheet)...
       apply  stylesheets/scss
      insert  Gemfile
      insert  app/app.rb
      create  config/initializers/scss.rb
      create  app/stylesheets
   identical  .components
       force  .components
       force  .components

=================================================================
your_project is ready for development!
=================================================================
$ cd ./your_project
$ bundle
=================================================================

$ cd your_project/
$ tree
.
├── Gemfile
├── Rakefile
├── app
│   ├── app.rb
│   ├── controllers
│   ├── helpers
│   ├── stylesheets
│   └── views
│       └── layouts
├── bin
│   └── your_project
├── config
│   ├── apps.rb
│   ├── boot.rb
│   ├── database.rb
│   └── initializers
│       └── scss.rb
├── config.ru
├── lib
│   └── connection_pool_management_middleware.rb
├── log
├── public
│   ├── favicon.ico
│   ├── images
│   ├── javascripts
│   │   ├── application.js
│   │   ├── jquery-ujs.js
│   │   └── jquery.js
│   └── stylesheets
├── spec
│   ├── spec.rake
│   └── spec_helper.rb
└── tmp

17 directories, 16 files

指定した spec や mock 用のフォルダや、jqueryのファイルが最初から追加されています。
config 下に database.rb も追加されています。
これは activerecord を利用することを前提とした内容となっています。

--tiny オプション

$ padrino g project your_project --tiny
...(略)...
$ tree
.
├── Gemfile
├── Rakefile
├── app
│   ├── app.rb
│   ├── controllers.rb
│   ├── helpers.rb
│   └── mailers.rb
├── bin
│   └── your_project
├── config
│   ├── apps.rb
│   └── boot.rb
├── config.ru
├── log
├── public
│   ├── favicon.ico
│   ├── images
│   ├── javascripts
│   └── stylesheets
└── tmp

app 下のファイルがディレクトリでなく rb ファイルになってますね。
使いみちはよくわかりませんが。

今回はプロジェクトを作成しました。

次の記事
padrinoでアプリケーション開発 4 : アプリケーションをブラウザで表示

padrinoでアプリケーション開発

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク