niconico-mylist 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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