Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hatena/intern-bookmark-2014
はてなインターン2014版サンプルブックマークWebアプリ
https://github.com/hatena/intern-bookmark-2014
Last synced: about 2 months ago
JSON representation
はてなインターン2014版サンプルブックマークWebアプリ
- Host: GitHub
- URL: https://github.com/hatena/intern-bookmark-2014
- Owner: hatena
- Created: 2014-12-02T07:59:20.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2015-10-28T05:21:56.000Z (about 9 years ago)
- Last Synced: 2024-04-15T00:04:59.720Z (8 months ago)
- Language: Perl
- Homepage:
- Size: 148 KB
- Stars: 2
- Watchers: 42
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Intern::Bookmark
はてな教科書サンプルコード
2015年度以降はこちら https://github.com/hatena/perl-Intern-Bookmark
## セットアップ
以下のコマンドを実行。
```
$ script/setup.sh
```## サーバ起動
以下のコマンドでサーバが起動できる。デフォルトではhttp://localhost:3000/ にアクセスすれば良い。
```
$ script/appup
```## OAuthの設定
- `script/app.psgi`の`enable 'Plack::Middleware::HatenaOAuth'`と記述しているあたりに必要な情報を登録する必要があります## API
### $c
- `Hatena::Newbie::Context`
- コンテキストという名が示すように、ユーザーからのリクエストにレスポンスを返すまでに最低限必要な一連のメソッドがまとめられている### $c->req
- リクエストオブジェクトを取得する
- [Plack::Request](http://search.cpan.org/~miyagawa/Plack/lib/Plack/Request.pm)を継承した`Hatena::Newbie::Request`### $c->req->parameters->{key}
- `key`に対応するリクエストパラメーターを取得する
- クエリパラメーターやルーティングによって得られたパラメーターなど全てが対象となる### $c->dbh
- データベースハンドラーを取得する
- [DBIx::Sunny](http://search.cpan.org/~kazeburo/DBIx-Sunny-0.22/lib/DBIx/Sunny.pm)を継承した`Hatena::Newbie::DBI`### $c->html
- ファイル名とテンプレート変数を渡すと、レスポンスをHTMLとして設定してくれる
```perl
$c->html('index.html', { foo => $bar });
```### $c->json
- ハッシュリファレンスを渡すと、レスポンスをJSONとして設定してくれる
```perl
$c->json({ spam => $egg });
```### $c->redirect
- URLを渡すと、レスポンスをリダイレクトとして設定してくれる
```perl
$c->redirect('/');
```### $c->res
- レスポンスオブジェクトを取得する
- [Plack::Response](http://search.cpan.org/~miyagawa/Plack-1.0030/lib/Plack/Response.pm)### $c->route
- ルーティング結果が格納されたハッシュリファレンスを取得する
- ルーティングは`Hatena::Newbie::Config::Route`で行われる