README.md in media_arts_db-0.1.1 vs README.md in media_arts_db-1.0.0
- old
+ new
@@ -1,9 +1,11 @@
# MediaArtsDb
media_arts_db is RubyGem to scraping to the MediaArtsDataBase(メディア芸術データベース: http://mediaarts-db.jp/).
+[![Build Status](https://travis-ci.org/bisque33/media_arts_db.svg?branch=master)](https://travis-ci.org/bisque33/media_arts_db)
+
## Installation
Add this line to your application's Gemfile:
```ruby
@@ -21,68 +23,95 @@
## Usage
### Comic
Search and find the information from the Comic Database.
-(「マンガ」データベースから情報を検索したり見つけたりします。)
+検索方法
+
```ruby
# 作品名(TITLE)で検索
-results = MediaArtsDb::Comic.search_by_keyword title: 'カードキャプター'
-# => 検索結果は、comic_works_id(マンガ単行本作品情報のID) または magazine_works_id(マンガ雑誌作品情報のID) が返る
+search = MediaArtsDb::Comic::SearchWork.new('カードキャプター')
+search.execute
+# => 検索結果は、ComicWork(マンガ単行本作品情報)とMagazineWork(マンガ雑誌作品情報)が混在する配列が返る
# 雑誌名(MAGAZINE)で検索
-results = MediaArtsDb::Comic.search_by_keyword magazine: 'なかよし'
-# => 検索結果は、magazine_titles_id(マンガ雑誌基本情報のID) が返る
+search = MediaArtsDb::Comic::SearchMagazine.new('なかよし', per: 10, page: 2)
+search.execute
+# => 検索結果は、MagazineTitle(マンガ雑誌基本情報)の配列が返る(11-20件目)
# 著者名(AUTHOR)で検索
-results = MediaArtsDb::Comic.search_by_keyword author: 'CLAMP'
-# => 検索結果は、author_id(著者情報のID) または magazine_works_id(マンガ雑誌作品情報のID) が返る
-```
+search = MediaArtsDb::Comic::SearchAuthor.new('CLAMP')
+search.execute
+# => 検索結果は、Author(著者情報)の配列が返る
-```ruby
# 単行本・雑誌・資料(SOURCE)で検索
-# キーワード引数 targer: は、どの結果を取得するかを指定する。使用できる定数はMediaArtsDb::ComicSearchOption::TARGET_XXX に定義されている。省略した場合は「単行本」となる
-# キーワード引数 options: は、検索条件を指定する。使用できるオプションは MediaArtsDb::ComicSearchOption に定義されている
-target = MediaArtsDb::ComicSearchOption::TARGET_COMIC
-options = { MediaArtsDb::ComicSearchOption::TITLE => 'カードキャプター' }
-results = MediaArtsDb::Comic.search_by_source target: target, options: options
-# => 検索結果は、targetにより以下が返る
-# - TARGET_BOOKの場合、comic_id(マンガ単行本情報のID)
-# - TARGET_MAGAZINEの場合、magazine_id(マンガ雑誌情報のID)
-# - TARGET_MATERIALの場合、material_id(資料情報のID)
-# - TARGET_ORIGINAL_PICTUREの場合、original_picture_id(マンガ原画情報のID)
-# - TARGET_BOOKLETの場合、booklet_id(その他冊子情報のID)
+# まず検索条件を指定するためにSearchOptionBuilderクラスにパラメータを設定する
+# .target_xxxはどの検索結果を取得するかの設定で、必須項目
+# .option_xxxは検索条件で、サイトの制限により最大5個まで設定できる。また、条件を削除する場合はnilを代入する
+option = MediaArtsDb::Comic::SearchOptionBuilder.new
+option.target_comic
+option.option_title = 'さくら'
+# SearchクラスにSearchOptionBuilderを渡す。per:, page:の指定も可能
+search = MediaArtsDb::Comic::Search.new(option)
+result = search.execute
+# => 検索結果は、targetの設定により以下が返る
+# - option.target_comicの場合、Comic(マンガ単行本情報)の配列が返る
+# - option.target_magazineの場合、Magazine(マンガ雑誌情報)の配列が返る
+# - option.target_materialの場合、Material(資料情報)の配列が返る
+# - option.target_original_pictureの場合、OriginalPicture(マンガ原画情報)の配列が返る
+# - option.target_bookletの場合、Booklet(その他冊子情報)の配列が返る
```
+検索結果の取得
+
```ruby
-# comic_works(マンガ単行本作品情報)の詳細情報取得
-result = MediaArtsDb::Comic.find_comic_works(comic_works_id)
-# book_titles(マンガ単行本全巻情報)の詳細情報取得
-result = MediaArtsDb::Comic.find_comic_titles(comic_titles_id)
-# book(マンガ単行本情報)の詳細情報取得
-result = MediaArtsDb::Comic.find_comic(comic_id)
-# comic_works(マンガ雑誌作品情報)の詳細情報取得
-result = MediaArtsDb::Comic.find_magazine_works(magazine_works_id)
-# book_titles(マンガ雑誌全巻情報)の詳細情報取得
-result = MediaArtsDb::Comic.find_magazine_titles(magazine_titles_id)
-# book(マンガ雑誌情報)の詳細情報取得
-result = MediaArtsDb::Comic.find_magazine(magazine_id)
-# book(著者情報)の詳細情報取得
-result = MediaArtsDb::Comic.find_author(author_id)
-# book(資料情報)の詳細情報取得
-result = MediaArtsDb::Comic.find_material(material_id)
-# book(原画情報)の詳細情報取得
-result = MediaArtsDb::Comic.find_original_picture(original_picture_id)
-# book(その他冊子情報)の詳細情報取得
-result = MediaArtsDb::Comic.find_booklet(booklet_id)
+# 検索
+search = MediaArtsDb::Comic::SearchWork.new('カードキャプター')
+results = search.execute
+# 値の取得
+results.first.title
+results.first[:title] # キーワードでも取得可能
+# すべての値の取得
+results.first.content # 詳細ページから全ての情報を取得して返す
+results.first.content_cache # 検索結果で得られた情報のみを返す
+# 結果のネスト
+results.first.comic_titles[0].comics[0].published_date
```
+個別要素の検索
+
```ruby
-# ページング
-# search_by_keyword / search_by_source / find_book_titles はキーワード引数 :per :page にて検索結果の件数指定やページ指定が可能
-# :per の既定は100、:page の既定は1
-MediaArtsDb::Comic.search_by_keyword title: 'カードキャプター', per: 10, page: 2 # => 11〜20件目の検索結果
+# ComicWork(マンガ単行本作品情報)の詳細情報取得
+finder = MediaArtsDb::Comic::FindComicWork.new(comic_work_id)
+finder.execute
+# ComicTitle(マンガ単行本全巻情報)の詳細情報取得
+finder = MediaArtsDb::Comic::FindComicTitle.new(comic_title_id)
+finder.execute
+# Comic(マンガ単行本情報)の詳細情報取得
+finder = MediaArtsDb::Comic::FindComic.new(comic_id)
+finder.execute
+# MagazineWork(マンガ雑誌作品情報)の詳細情報取得
+finder = MediaArtsDb::Comic::FindMagazineWork.new(magazine_works_id)
+finder.execute
+# MagazineTitle(マンガ雑誌全巻情報)の詳細情報取得
+finder = MediaArtsDb::Comic::FindMagazineTitle.new(magazine_titles_id)
+finder.execute
+# Magazine(マンガ雑誌情報)の詳細情報取得
+finder = MediaArtsDb::Comic::FindMagazine.new(magazine_id)
+finder.execute
+# Author(著者情報)の詳細情報取得
+finder = MediaArtsDb::Comic::FindAuthor.new(author_id)
+finder.execute
+# Material(資料情報)の詳細情報取得
+finder = MediaArtsDb::Comic::FindMaterial.new(material_id)
+finder.execute
+# OriginalPicture(原画情報)の詳細情報取得
+finder = MediaArtsDb::Comic::FindOriginalPicture.new(original_picture_id)
+finder.execute
+# Booklet(その他冊子情報)の詳細情報取得
+finder = MediaArtsDb::Comic::FindBooklet.new(booklet_id)
+finder.execute
```
### Animation
Not implemented(未実装)