niconico-mylist 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee4a0d67f02764ac65683da5b1ee4127d18426946e719c795282b8afd02255e7
4
- data.tar.gz: a5a9515c9d4b1364a45ef551b0440bd3aeeb62f9779790cf4db2a62f580ba715
3
+ metadata.gz: 0fb3d35bc4c6960b0b9897405cb23a5642e008aa7fa45d53de3a946283e20e3c
4
+ data.tar.gz: fa57492c2c96671c8318321a8f40d93193795ecfb60578506f28e6daee68c08b
5
5
  SHA512:
6
- metadata.gz: '0933458b158542c22ebb7b6041221e8d332abe259cba4704cc5d4173015252c2a65c51f63aa8077ba668c08bb7990e0fbe25f6a0acdafb02e592e368cad6b4b8'
7
- data.tar.gz: 8b25b9064ad047b5fd228304fab9c706e0bab98eb18c454edfb4bea7323845a7bb7bb5788f698416294db071c251f71f0b0d6350142b9733739cbfde993a5585
6
+ metadata.gz: 004cbc285a8a62381589346608fbff34843d0074e72af99a8dc1853134919a8c367c1209fbc6563c3c5f01f49bf377934359d80b46fc6cca8f610c14337e4449
7
+ data.tar.gz: 2704f257ff083e1134ae6324f328eb0dc6359951749014bf812d91ae062ec7cadd4576bfbc4abab400e9b4e4018bacbbff88e265d2e4f243886a821731fc8cc7
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- niconico-mylist (0.1.1)
4
+ niconico-mylist (0.2.0)
5
5
  faraday
6
6
  faraday-encoding
7
7
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'niconico/mylist/config'
4
4
  require 'niconico/mylist/client'
5
+ require 'niconico/mylist/error'
5
6
  require 'niconico/mylist/item'
6
7
  require 'niconico/mylist/xpathable'
7
8
 
@@ -8,6 +8,11 @@ class Niconico::Mylist::Client
8
8
  def find_xml(id)
9
9
  response = faraday.get("/mylist/#{id}?rss=2.0")
10
10
  REXML::Document.new(response.body).root
11
+ rescue Faraday::Error::ResourceNotFound
12
+ raise Niconico::Mylist::Error::NotFoundError, id
13
+ rescue Faraday::Error::ClientError => e
14
+ raise Niconico::Mylist::Error::ForbiddenError, id if e.response.status == 403
15
+ raise e
11
16
  end
12
17
 
13
18
  private
@@ -15,6 +20,7 @@ class Niconico::Mylist::Client
15
20
  def faraday
16
21
  @faraday ||= Faraday.new(url: Niconico::Mylist.config.endpoint) do |faraday|
17
22
  faraday.response :encoding
23
+ faraday.response :raise_error
18
24
  faraday.adapter Faraday.default_adapter
19
25
  end
20
26
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Niconico::Mylist::Error < StandardError
4
+ class NotFoundError < StandardError
5
+ def initialize(id)
6
+ @id = id
7
+ super("Couldn't find Niconico Mylist with 'id'=#{@id}")
8
+ end
9
+ end
10
+
11
+ class ForbiddenError < StandardError
12
+ def initialize(id)
13
+ @id = id
14
+ super("Niconico Mylist with 'id'=#{@id} is forbidden")
15
+ end
16
+ end
17
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Niconico
4
4
  class Mylist
5
- VERSION = '0.1.1'
5
+ VERSION = '0.2.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: niconico-mylist
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - naari3
@@ -128,6 +128,7 @@ files:
128
128
  - lib/niconico/mylist.rb
129
129
  - lib/niconico/mylist/client.rb
130
130
  - lib/niconico/mylist/config.rb
131
+ - lib/niconico/mylist/error.rb
131
132
  - lib/niconico/mylist/item.rb
132
133
  - lib/niconico/mylist/version.rb
133
134
  - lib/niconico/mylist/xpathable.rb