[WIP]Design getting urls

## 概要
検索結果ページにてどのページに遷移したかを取得する

## 実装案 (概略図)
### model (rails)
#### Query (has many Pages)
- query: string
- session_id: string
- その他諸々の検索オプション (https://github.com/re-born/queristory/pull/9)

#### Pages (belongs to Query)
- query_id: integer 
- query: string (must be identical with page.query.q)
- session_id: string (must be identical with page.query.session_id)
- url: string
- rank: integer
- start: integer (2ページ目以降の場合のオフセット) (google のurl の key名が start なので)

### chrome_extension
#### background.js
- session_id = generate_session_id()
- post_query(query, session_id)
- send_session_id_to_content_script(session_id)

#### content_script.js
- recieve_session_id_from_background(session_id)
- post_url(query, session_id, url, rank)

## TODO (実装順)
- [x] post_query(query) を post_query(query, session_id) に変更 (session_id は分離する)
 - [x] queries controller 修正
- [x] pages を保存できるようにする
 - [x] pages model 作成
 - [x] pages controller 作成
 - [x] post_url(query, session_id, url, rank) 実装
- [ ] send_session_id_to_content_script(session_id) 実装 ( Queries モデルと Pages モデルの紐付け)
 - [ ] `content_script.js` から `background.js` に session_id を訊いて、レスポンスを貰う
- [ ] リファクタリング
- [ ] 試験運用

## 実装後
### リファクタリング
- chrome_extension
 - post系の関数を別jsファイルにまとめてもいいかも
 - オブジェクト指向
 - 細かい関数 (random_id() や generate_session_id() など )を別ファイルに分離

### テスト
- rails
 - そろそろテスト書かねば

![](http://gyazo.l0o0l.co/img/2014-06-30/f0485b599297425d2dca6345db61e8c1.png)