Module: RSS::OPDS

Defined in:
lib/rss/opds.rb,
lib/rss/opds/version.rb

Defined Under Namespace

Classes: Price

Constant Summary

PREFIX =
'opds'
URI =
'http://opds-spec.org/2010/catalog'
TYPES =
{
  'navigation' => 'application/atom+xml;profile=opds-catalog;kind=navigation',
  'acquisition' => 'application/atom+xml;profile=opds-catalog;kind=acquisition'
}
REGISTERED_RELATIONS =
%w[
  alternate
  appendix
  archives
  author
  bookmark
  canonical
  chapter
  collection
  contents
  copyright
  current
  describedby
  disclosure
  duplicate
  edit
  edit-media
  enclosure
  first
  glossary
  help
  hosts
  hub
  icon
  index
  item
  last
  latest-version
  license
  lrdd
  monitor
  monitor-group
  next
  next-archive
  nofollow
  noreferrer
  payment
  predecessor-version
  prefetch
  prev
  previous
  prev-archive
  related
  replies
  search
  section
  self
  service
  start
  stylesheet
  subsection
  successor-version
  tag
  up
  version-history
  via
  working-copy
  working-copy-of
].reduce({}) {|relations, relation|
  relations[relation] = relation
  relations
}
CATALOG_RELATIONS =
{
  'start'         => 'start',
  'subsection'    => 'subsection',
  'new'           => 'http://opds-spec.org/sort/new',
  'popular'       => 'http://opds-spec.org/sort/popular',
  'featured'      => 'http://opds-spec.org/featured',
  'recommended'   => 'http://opds-spec.org/recommended',
  'shelf'         => 'http://opds-spec.org/shelf',
  'subscriptions' => 'http://opds-spec.org/subscriptions',
  'facet'         => 'http://opds-spec.org/facet',
  'crawlable'     => 'http://opds-spec.org/crawlable'
}
ENTRY_RELATIONS =
{
  'acquisition' => 'http://opds-spec.org/acquisition',
  'open-access' => 'http://opds-spec.org/acquisition/open-access',
  'borrow'      => 'http://opds-spec.org/acquisition/borrow',
  'buy'         => 'http://opds-spec.org/acquisition/buy',
  'sample'      => 'http://opds-spec.org/acquisition/sample',
  'subscribe'   => 'http://opds-spec.org/acquisition/subscribe',
  'image'       => 'http://opds-spec.org/image',
  'thumbnail'   => 'http://opds-spec.org/image/thumbnail'
}
RELATIONS =
Hash.new {|h, k|
  ENTRY_RELATIONS[k] or CATALOG_RELATIONS[k] or REGISTERED_RELATIONS[k] or
    raise KeyError, "Unsupported relation type: #{k.inspect}"
}
VERSION =
"0.0.2"