Module: BookmarkUtility

Defined in:
lib/bookmark_utility/core.rb,
lib/bookmark_utility/version.rb,
lib/bookmark_utility/filter_table.rb,
lib/bookmark_utility/canonical_table.rb

Constant Summary collapse

VERSION =
"0.0.9"
FilterTable =
[
  %r'\Ahttp://car\.nikkei\.co\.jp/news/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://car\.nikkei\.co\.jp/release/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://contents\.innolife\.net/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://japan\.donga\.com/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://japanese\.donga\.com/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://mainichi\.jp/life/money/kabu/nsj/news/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://markets\.nikkei\.co\.jp/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://news\.ibc\.co\.jp/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://news\.searchina\.ne\.jp/', # 理由: 記事の閲覧が有料であるため
  %r'\Ahttp://release\.nikkei\.co\.jp/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://rkk\.jp/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www2\.knb\.ne\.jp/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.chemicaldaily\.co\.jp/news/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.chugoku-np\.co\.jp/News/Tn', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.hab\.co\.jp/headline/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.iwate-np\.co\.jp/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.keidanren\.or\.jp/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.kentsu\.co\.jp/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.mxtv\.co\.jp/mxnews/news/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.nikkei\.co\.jp/kaigai/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.nikkei\.co\.jp/kyushu/news/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.nikkei\.co\.jp/news/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.pjnews\.net/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.tohkaishimpo\.com/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.travelvision\.jp/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.usfl\.com/Daily/News/', # 理由: title要素に記事名が含まれていないため
  %r'\Ahttp://www\.wbs\.co\.jp/', # 理由: title要素に記事名が含まれていないため
].freeze
CanonicalTable =
[
  [%r'\A(http://[a-z]+\.yomiuri\.co\.jp/.+)\?from=[a-z0-9]+\Z', '\1'].freeze,
  [%r'\A(http://japan\.cnet\.com/.+)\?ref=rss\Z', '\1'].freeze,
  [%r'\A(http://journal\.mycom\.co\.jp/.+)\?rt=na\Z', '\1index.html'].freeze,
  [%r'\A(http://mainichi\.jp/.+)\?inb=[a-z]+\Z', '\1'].freeze,
  [%r'\A(http://mainichi\.jp/.+)\?link_id=[A-Z0-9]+\Z', '\1'].freeze,
  [%r'\A(http://news\.searchina\.ne\.jp/.+)&pt=large\Z', '\1'].freeze,
  [%r'\A(http://techon\.nikkeibp\.co\.jp/.+)\?ref=rss\Z', '\1'].freeze,
  [%r'\A(http://www\.asahi\.com/.+)\?ref=rss\Z', '\1'].freeze,
  [%r'\A(http://www\.chunichi\.co\.jp/.+)\?ref=rank\Z', '\1'].freeze,
  [%r'\A(http://www\.jiji\.com/.+)&j1\Z', '\1'].freeze,
  [%r'\A(http://www\.jiji\.com/.+)&n=1\Z', '\1'].freeze,
  [%r'\A(http://www\.jiji\.com/jc/c\?g=.+?)&rel=j7(&k=\d+)\Z', '\1\2'].freeze,
  [%r'\A(http://www\.tetsudo\.com/.+)\?tag=as\.rss\Z', '\1'].freeze,
  [%r'\Ahttp://slashdot\.jp/articles/(\d+/\d+/\d+/\d+)\.shtml', 'http://slashdot.jp/article.pl?sid=\1'].freeze,
].freeze

Class Method Summary collapse

Class Method Details

.get_canonical_url(url) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/bookmark_utility/core.rb', line 6

def self.get_canonical_url(url)
  url = url.dup
  CanonicalTable.find { |pattern, replace|
    !!url.sub!(pattern, replace)
  }
  return url
end

.reject?(url) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/bookmark_utility/core.rb', line 14

def self.reject?(url)
  return FilterTable.any? { |pattern| pattern =~ url }
end