dspace_rest_client 2.1.0 → 2.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
  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