rapa 0.5.6 → 0.5.7

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
  SHA1:
3
- metadata.gz: ce98f6b502d46dd9d7cb38fb92e89c3e4b553778
4
- data.tar.gz: 0d00bb4820cb94acefb0a6ce5437b4e55adf18c6
3
+ metadata.gz: daf9368b0cd3989155910e650b483b6355b3b978
4
+ data.tar.gz: 282726a68609c28e82d8ef83cddb0c6c9e96d1ed
5
5
  SHA512:
6
- metadata.gz: 5fc309ea1f69fd616ef8b7192c2e98621a04fadd99c219415df07fe9f08a0e82b71c7e909df5d9c942fa309f9e23710b742c70ce91fce8b52c6ecce514efe51b
7
- data.tar.gz: 7fef34cbe6bc607e3f4c9fe1d230b49248b9bc62eacb47132dbe7f937bd850bd2713bcbd320dc0d491174b713aaf6aa229afad8f0ca5ec0ba3c78e237a8f5f8f
6
+ metadata.gz: 0e297e43370320522f9ad2294c57203f50949e0ea9a72e2eb946ef38908bb2aa5627e4eee9aa8494d98a4dd08964c399c8074534d49f0d40ef1fcbf3a6e04522
7
+ data.tar.gz: c789502c0e33767cd9cc4de8a12d2260fa111c2f23339d061385c2a2d1a9c3def98241f3569140e0ba66134f0cfa03995a3c8690a539798075a2326e37626322
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## v0.5.7
2
+
3
+ - Add `Rapa::Resources::ItemResources#crators`
4
+ - Fix `Rapa::Resources::ItemResources#crator_name` on multiple creators item
5
+ - Fix `Rapa::Resources::ItemResources#crator_role` on multiple creators item
6
+
1
7
  ## v0.5.6
2
8
 
3
9
  - Fix faraday middlewares order
data/README.md CHANGED
@@ -118,6 +118,7 @@ Available methods:
118
118
  - `#authors`
119
119
  - `#binding`
120
120
  - `#browse_nodes`
121
+ - `#creators`
121
122
  - `#creator_name`
122
123
  - `#creator_role`
123
124
  - `#ean`
data/lib/rapa.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "rapa/alternate_version"
2
2
  require "rapa/browse_node"
3
3
  require "rapa/client"
4
+ require "rapa/creator"
4
5
  require "rapa/encoder"
5
6
  require "rapa/error"
6
7
  require "rapa/image"
@@ -0,0 +1,21 @@
1
+ module Rapa
2
+ class Creator
3
+ # @return [Hash]
4
+ attr_reader :source
5
+
6
+ # @param source [Hash]
7
+ def initialize(source)
8
+ @source = source
9
+ end
10
+
11
+ # @return [String]
12
+ def name
13
+ source["__content__"]
14
+ end
15
+
16
+ # @return [String]
17
+ def role
18
+ source["Role"]
19
+ end
20
+ end
21
+ end
@@ -60,14 +60,32 @@ module Rapa
60
60
  end
61
61
  end
62
62
 
63
+ # @return [Array<Rapa::Creator>]
64
+ def creators
65
+ case creator_source_or_sources = source.dig("ItemAttributes", "Creator")
66
+ when ::Array
67
+ creator_source_or_sources
68
+ when ::Hash
69
+ [creator_source_or_sources]
70
+ else
71
+ []
72
+ end.map do |creator_source|
73
+ ::Rapa::Creator.new(creator_source)
74
+ end
75
+ end
76
+
63
77
  # @return [String, nil]
64
78
  def creator_name
65
- source.dig("ItemAttributes", "Creator", "__content__")
79
+ if creators.first
80
+ creators.first.name
81
+ end
66
82
  end
67
83
 
68
84
  # @return [String, nil]
69
85
  def creator_role
70
- source.dig("ItemAttributes", "Creator", "Role")
86
+ if creators.first
87
+ creators.first.role
88
+ end
71
89
  end
72
90
 
73
91
  # @return [String, nil]
data/lib/rapa/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Rapa
2
- VERSION = "0.5.6"
2
+ VERSION = "0.5.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rapa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-10 00:00:00.000000000 Z
11
+ date: 2017-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -154,6 +154,7 @@ files:
154
154
  - lib/rapa/alternate_version.rb
155
155
  - lib/rapa/browse_node.rb
156
156
  - lib/rapa/client.rb
157
+ - lib/rapa/creator.rb
157
158
  - lib/rapa/encoder.rb
158
159
  - lib/rapa/error.rb
159
160
  - lib/rapa/image.rb