dspace_rest_client 2.1.0 → 2.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
  SHA1:
3
- metadata.gz: 3b3f08f485b23a007cb64a7c526cf2684c4154c2
4
- data.tar.gz: 2e8af21ca901677bfe3188c29f97dbc9d53729e4
3
+ metadata.gz: 03061e33ed35aa71c07f92a6face020f1ee28c15
4
+ data.tar.gz: e2414ce617555e540935993735561d8c18d98f21
5
5
  SHA512:
6
- metadata.gz: f5223f543ac5d1112864ba60122666dfedb274ec9f69a1cc471686cb11428d3ea13294770d57a314c46af60412413454ac37162862c1fa1b86f2967ace787074
7
- data.tar.gz: 3fd6de4861ea64105255b68cf462c8b2ec14e1f2b7495c4f60cc53a91fa7281abdacb795bb7ffc13bc3e9ad60f3486e043a6d51550f87421c4f90052f1bd64a0
6
+ metadata.gz: d395b54546568c8808c7e435e2390cc83464e4951685fd7de452997bb838064072cea6cd6e7059d649bd8757a8e29995f9232f76a98fd23848fdc7c514d36765
7
+ data.tar.gz: 8e75d3779e7b600d0d6114da3c245cca1a64234b394094abf48adcd5c8fd983e91ef7921798d4b7a9ba7b743f8b2dfc76607a2293a32e6039aea32eb14f78589
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  /tmp/
10
10
  /_lib/
11
11
  /.idea/
12
+ *.gem
data/credentials ADDED
@@ -0,0 +1,2 @@
1
+ ---
2
+ :rubygems_api_key: cfa0bd29364baee94fbf1ab847955136
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'dspace/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.date = '2015-12-04'
7
+ spec.date = '2016-01-22'
8
8
  spec.name = "dspace_rest_client"
9
9
  spec.version = Dspace::VERSION
10
10
  spec.authors = ["Mauricio Giacomini Girardello", "Lucas Ernesto Kindinger", "Bruno N. Zanette", "Mateus Rambo Strey"]
@@ -3,18 +3,7 @@ module Dspace
3
3
  module HashBuilder
4
4
 
5
5
  def obj2hash(list)
6
- self.class.models2hash list
7
- end
8
-
9
- def self.models2hash(list)
10
- if list.is_a? Array
11
- hash = []
12
- list.each do |m|
13
- hash << m.to_h
14
- end
15
-
16
- hash
17
- end
6
+ ::Dspace::Builders::ModelBuilder.models2hash list
18
7
  end
19
8
 
20
9
  end
@@ -3,7 +3,7 @@ module Dspace
3
3
  module ModelBuilder
4
4
 
5
5
  def self.build_communities(communities=[])
6
- return communities if communities.nil?
6
+ return communities unless communities.is_a? Array
7
7
  colls = []
8
8
  communities.each do |c|
9
9
  colls << Dspace::Community.new(c)
@@ -12,7 +12,7 @@ module Dspace
12
12
  end
13
13
 
14
14
  def self.build_collections(collections=[])
15
- return collections if collections.nil?
15
+ return collections unless collections.is_a? Array
16
16
  colls = []
17
17
  collections.each do |c|
18
18
  colls << Dspace::Collection.new(c)
@@ -21,7 +21,7 @@ module Dspace
21
21
  end
22
22
 
23
23
  def self.build_items(items=[])
24
- return items if items.nil?
24
+ return items unless items.is_a? Array
25
25
  colls = []
26
26
  items.each do |c|
27
27
  colls << Dspace::Item.new(c)
@@ -30,7 +30,7 @@ module Dspace
30
30
  end
31
31
 
32
32
  def self.build_bitstreams(bitstreams=[])
33
- return bitstreams if bitstreams.nil?
33
+ return bitstreams unless bitstreams.is_a? Array
34
34
  colls = []
35
35
  bitstreams.each do |c|
36
36
  colls << Dspace::Bitstream.new(c)
@@ -39,7 +39,7 @@ module Dspace
39
39
  end
40
40
 
41
41
  def self.build_metadatas(metadatas=[])
42
- return metadatas if metadatas.nil?
42
+ return metadatas unless metadatas.is_a? Array
43
43
  colls = []
44
44
  metadatas.each do |c|
45
45
  colls << Dspace::Metadata.new(c)
@@ -48,7 +48,7 @@ module Dspace
48
48
  end
49
49
 
50
50
  def self.build_policies(policies=[])
51
- return policies if policies.nil?
51
+ return policies unless policies.is_a? Array
52
52
  colls = []
53
53
  policies.each do |c|
54
54
  colls << Dspace::Policy.new(c)
@@ -56,6 +56,14 @@ module Dspace
56
56
  colls
57
57
  end
58
58
 
59
+ def self.models2hash(list)
60
+ if list.is_a? Array
61
+ list.map do |m|
62
+ m.to_h
63
+ end
64
+ end
65
+ end
66
+
59
67
  end
60
68
  end
61
69
  end
@@ -2,8 +2,8 @@ module Dspace
2
2
  module Builders
3
3
  module TempfileBuilder
4
4
 
5
- def self.build(filename, contents = nil)
6
- file = Tempfile.new([sanitize_filename(filename), File.extname(filename)]).tap do |f|
5
+ def self.build(filename, contents = nil, bitstreams_path = '/tmp')
6
+ file = Tempfile.new([sanitize_filename(filename), File.extname(filename)], bitstreams_path, encoding: 'ascii-8bit').tap do |f|
7
7
  f.write contents
8
8
  f.close
9
9
  end
@@ -23,4 +23,4 @@ module Dspace
23
23
 
24
24
  end
25
25
  end
26
- end
26
+ end
data/lib/dspace/client.rb CHANGED
@@ -75,4 +75,4 @@ module Dspace
75
75
  }
76
76
  end
77
77
  end
78
- end
78
+ end
@@ -54,10 +54,11 @@ module Dspace
54
54
  end
55
55
 
56
56
  def retrieve(args={})
57
+ bitstreams_path = args.fetch(:bitstreams_path, nil)
57
58
  bitstream = ResourceKit::ActionInvoker.call(action(:find), self, id: args.fetch(:id))
58
- Dspace::Builders::TempfileBuilder.build(bitstream.name, ResourceKit::ActionInvoker.call(action(:retrieve), self))
59
+ Dspace::Builders::TempfileBuilder.build(bitstream.name, ResourceKit::ActionInvoker.call(action(:retrieve), self, id: bitstream.id), bitstreams_path)
59
60
  end
60
61
 
61
62
  end
62
63
  end
63
- end
64
+ end
@@ -41,7 +41,7 @@ module Dspace
41
41
 
42
42
  action :create_item, 'POST /rest/collections/:id/items' do
43
43
  body { |object| JSON.generate(object.to_h) }
44
- handler(200, 201) { |response| true }
44
+ handler(200, 201) { |response| Dspace::Item.new(JSON.parse(response.body)) }
45
45
  end
46
46
 
47
47
  end
@@ -1,3 +1,3 @@
1
1
  module Dspace
2
- VERSION = "2.1.0"
2
+ VERSION = "2.2.0"
3
3
  end
@@ -36,7 +36,7 @@ RSpec.describe Dspace::Resources::CollectionResource, resource_kit: true do
36
36
 
37
37
  it 'create an item' do
38
38
  expect(resource).to have_action(:create_item).that_handles(200).at_path('/rest/collections/:id/items').with_verb(:post) do |handled|
39
- expect(handled).to eq(true)
39
+ expect(handled).to be_kind_of(Dspace::Item)
40
40
  end
41
41
  end
42
42
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dspace_rest_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mauricio Giacomini Girardello
@@ -11,142 +11,142 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-12-04 00:00:00.000000000 Z
14
+ date: 2016-01-22 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - ~>
20
+ - - "~>"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '1.8'
23
- - - '>='
23
+ - - ">="
24
24
  - !ruby/object:Gem::Version
25
25
  version: 1.8.3
26
26
  type: :runtime
27
27
  prerelease: false
28
28
  version_requirements: !ruby/object:Gem::Requirement
29
29
  requirements:
30
- - - ~>
30
+ - - "~>"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '1.8'
33
- - - '>='
33
+ - - ">="
34
34
  - !ruby/object:Gem::Version
35
35
  version: 1.8.3
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: resource_kit
38
38
  requirement: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ~>
40
+ - - "~>"
41
41
  - !ruby/object:Gem::Version
42
42
  version: 0.1.4
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ~>
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
49
  version: 0.1.4
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: faraday
52
52
  requirement: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ~>
54
+ - - "~>"
55
55
  - !ruby/object:Gem::Version
56
56
  version: 0.9.2
57
57
  type: :runtime
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ~>
61
+ - - "~>"
62
62
  - !ruby/object:Gem::Version
63
63
  version: 0.9.2
64
64
  - !ruby/object:Gem::Dependency
65
65
  name: net-http-persistent
66
66
  requirement: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - ~>
68
+ - - "~>"
69
69
  - !ruby/object:Gem::Version
70
70
  version: '2.9'
71
- - - '>='
71
+ - - ">="
72
72
  - !ruby/object:Gem::Version
73
73
  version: 2.9.4
74
74
  type: :runtime
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - ~>
78
+ - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: '2.9'
81
- - - '>='
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: 2.9.4
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: activesupport
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ~>
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
90
  version: '4.2'
91
- - - '>='
91
+ - - ">="
92
92
  - !ruby/object:Gem::Version
93
93
  version: 4.2.0
94
94
  type: :runtime
95
95
  prerelease: false
96
96
  version_requirements: !ruby/object:Gem::Requirement
97
97
  requirements:
98
- - - ~>
98
+ - - "~>"
99
99
  - !ruby/object:Gem::Version
100
100
  version: '4.2'
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: 4.2.0
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: bundler
106
106
  requirement: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '1.10'
111
111
  type: :development
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: '1.10'
118
118
  - !ruby/object:Gem::Dependency
119
119
  name: rake
120
120
  requirement: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ~>
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '10.0'
125
125
  type: :development
126
126
  prerelease: false
127
127
  version_requirements: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ~>
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
131
  version: '10.0'
132
132
  - !ruby/object:Gem::Dependency
133
133
  name: rspec
134
134
  requirement: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ~>
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '3.4'
139
- - - '>='
139
+ - - ">="
140
140
  - !ruby/object:Gem::Version
141
141
  version: 3.4.0
142
142
  type: :development
143
143
  prerelease: false
144
144
  version_requirements: !ruby/object:Gem::Requirement
145
145
  requirements:
146
- - - ~>
146
+ - - "~>"
147
147
  - !ruby/object:Gem::Version
148
148
  version: '3.4'
149
- - - '>='
149
+ - - ">="
150
150
  - !ruby/object:Gem::Version
151
151
  version: 3.4.0
152
152
  description: DSpace REST-API Client for Ruby! Implements all DSpace REST-API endpoints
@@ -160,14 +160,15 @@ executables:
160
160
  extensions: []
161
161
  extra_rdoc_files: []
162
162
  files:
163
- - .gitignore
164
- - .rbenv
165
- - .rspec
163
+ - ".gitignore"
164
+ - ".rbenv"
165
+ - ".rspec"
166
166
  - Gemfile
167
167
  - README.md
168
168
  - Rakefile
169
169
  - bin/console
170
170
  - bin/setup
171
+ - credentials
171
172
  - dspace_rest_client.gemspec
172
173
  - lib/dspace.rb
173
174
  - lib/dspace/bitstream.rb
@@ -203,17 +204,17 @@ require_paths:
203
204
  - lib
204
205
  required_ruby_version: !ruby/object:Gem::Requirement
205
206
  requirements:
206
- - - '>='
207
+ - - ">="
207
208
  - !ruby/object:Gem::Version
208
209
  version: '0'
209
210
  required_rubygems_version: !ruby/object:Gem::Requirement
210
211
  requirements:
211
- - - '>='
212
+ - - ">="
212
213
  - !ruby/object:Gem::Version
213
214
  version: '0'
214
215
  requirements: []
215
216
  rubyforge_project:
216
- rubygems_version: 2.0.14
217
+ rubygems_version: 2.4.8
217
218
  signing_key:
218
219
  specification_version: 4
219
220
  summary: DSpace REST API Client for Ruby