class Cinii::Client::Article

Constants

ARTICLE_REQUIRED_KEYS

Public Instance Methods

article(naid) click to toggle source

support.nii.ac.jp/ja/cia/api/a_json

# File lib/cinii/client/article.rb, line 37
def article(naid)
  raise 'Not implemented yet.'

  response = send_get("/naid/#{naid}")
end
author(nrid) click to toggle source

support.nii.ac.jp/ja/cia/api/a_json_auth

# File lib/cinii/client/article.rb, line 44
def author(nrid)
  raise 'Not implemented yet.'

  response = send_get("/nrid/#{nrid}")
end
list_articles(**params) click to toggle source

support.nii.ac.jp/ja/cia/api/a_opensearch support.nii.ac.jp/ja/cia/api/a_opensearch_full

# File lib/cinii/client/article.rb, line 13
def list_articles(**params)
  if params[:full_text] == true
    raise ArgumentError unless has_required_params?(params, [:q])

    response = send_get('/opensearch/fulltext', full_text_params(params))
  else
    raise ArgumentError unless has_required_params?(params, ARTICLE_REQUIRED_KEYS)

    response = send_get('/opensearch/search', article_params(params))
  end

  Cinii::SearchResult::Article.new(response)
end
list_authors(**params) click to toggle source

support.nii.ac.jp/ja/cia/api/a_opensearch_auth

# File lib/cinii/client/article.rb, line 28
def list_authors(**params)
  raise ArgumentError unless has_required_params?(params, [:q])

  response = send_get('/opensearch/author', author_params(params))

  Cinii::SearchResult::Article.new(response)
end

Private Instance Methods

article_params(params) click to toggle source
# File lib/cinii/client/article.rb, line 52
def article_params(params)
  {
    q:           params[:q],
    count:       params[:count],
    lang:        params[:lang],
    start:       params[:start],
    title:       params[:title],
    author:      params[:author],
    authorid:    params[:author_id],
    issn:        params[:issn],
    publisher:   params[:publisher],
    affiliation: params[:affiliation],
    journal:     params[:journal],
    volume:      params[:volume],
    issue:       params[:issue],
    page:        params[:page],
    references:  params[:references],
    year_from:   params[:year_from],
    year_to:     params[:year_to],
    range:       params[:range],
    sortorder:   params[:sortorder]
  }.compact
end
author_params(params) click to toggle source
# File lib/cinii/client/article.rb, line 86
def author_params(params)
  {
    q:         params[:q],
    count:     params[:count],
    lang:      params[:lang],
    start:     params[:start],
    sortorder: params[:sortorder]
  }.compact
end
full_text_params(params) click to toggle source
# File lib/cinii/client/article.rb, line 76
def full_text_params(params)
  {
    q:         params[:q],
    count:     params[:count],
    lang:      params[:lang],
    start:     params[:start],
    sortorder: params[:sortorder]
  }.compact
end