archivesspace-client 0.1.2 → 0.1.3

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: 0e9f5cb28d4e103f422b9679168d14615b9104f3
4
- data.tar.gz: ec0f1fb50c060f4aa8e6f3e7db32d426d97c0936
3
+ metadata.gz: 1723d47efa6b10e5106ca28bfa6f247bf79603d2
4
+ data.tar.gz: f6b404154c5c87ee9a74036d6501cc3304df01ea
5
5
  SHA512:
6
- metadata.gz: c5cf1ca6b5790c4b746a452b1ac1b8779fe9a0668e60e89c090d2c80e7a53ea6daee851619b9c9945d249bec896b65cb688605df59db8c5bbd33317f42021ebb
7
- data.tar.gz: 6fe609191724b4fb6b742c69541b8fa02c45f1f2d166be6a7e915834a0e9e2bb7775b29d88ca7ea814b2d98a1fe92752300ae547e3875ae6386972041992821c
6
+ metadata.gz: 7de5e06e6900dda657cfae615058c10859ba565aa27f16184ec7d44f23c7c2513a52c9717186f8ce04361adabc3097b562db785694bb38556a003177e92b4718
7
+ data.tar.gz: 17a2e5174475986516c757f7b4f875352546555f0f3aee8539c7f3d2f090789dd1f7087614ca38ea3d0b554c50a351d7307ec8d29706bc816b4fcb328b2e60d9
@@ -20,12 +20,12 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.10"
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
- spec.add_development_dependency "rspec"
24
- spec.add_development_dependency "vcr"
25
- spec.add_development_dependency "webmock"
26
- spec.add_development_dependency "awesome_print"
23
+ spec.add_development_dependency "rspec", "3.6.0"
24
+ spec.add_development_dependency "vcr", "3.0.3"
25
+ spec.add_development_dependency "webmock", "3.0.1"
26
+ spec.add_development_dependency "awesome_print", "~> 1.8.0"
27
27
 
28
- spec.add_dependency "httparty"
29
- spec.add_dependency "json"
30
- spec.add_dependency "nokogiri"
28
+ spec.add_dependency "httparty", "0.14.0"
29
+ spec.add_dependency "json", "2.0.3"
30
+ spec.add_dependency "nokogiri", "1.6.8.1"
31
31
  end
@@ -2,14 +2,28 @@ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
2
  require 'awesome_print'
3
3
  require 'archivesspace/client'
4
4
 
5
- # default client connection: localhost:8089, admin, admin
6
- client = ArchivesSpace::Client.new.login
7
- client.config.throttle 0.5
5
+ # official sandbox
6
+ config = ArchivesSpace::Configuration.new({
7
+ base_uri: "http://sandbox.archivesspace.org/api",
8
+ base_repo: "",
9
+ username: "admin",
10
+ password: "admin",
11
+ page_size: 50,
12
+ throttle: 0,
13
+ verify_ssl: false,
14
+ })
8
15
 
16
+ client = ArchivesSpace::Client.new(config).login
17
+ client.config.throttle = 0.5
9
18
  client.config.base_repo = "repositories/2"
10
- # date -d '2015-07-01 00:00:00' +'%s' # 1435734000
11
- client.resources("ead", { query: { modified_since: "1435734000" } }) do |ead|
12
- # for now we are just printing ...
13
- # but you would actually write to a zip file or whatever
14
- ap ead
19
+
20
+ begin
21
+ # date -d '2015-07-01 00:00:00' +'%s' # 1435734000
22
+ client.resources("ead", { query: { modified_since: "1435734000" } }) do |ead|
23
+ # for now we are just printing ...
24
+ # but you would actually write to a zip file or whatever
25
+ ap ead
26
+ end
27
+ rescue ArchivesSpace::RequestError => ex
28
+ puts ex.message
15
29
  end
@@ -10,6 +10,6 @@ client = ArchivesSpace::Client.new.login
10
10
  begin
11
11
  client.password_reset username, password
12
12
  puts "Successfully updated password for #{username}."
13
- rescue Exception => e
14
- puts "Failed to update password for #{username},\n#{e.message}"
13
+ rescue Exception => ex
14
+ puts "Failed to update password for #{username},\n#{ex.message}"
15
15
  end
@@ -13,28 +13,34 @@ repo_data = {
13
13
  agent_contact_name: "John Doe",
14
14
  }
15
15
 
16
- repository = ArchivesSpace::Template.process_template(:repository_with_agent, repo_data)
17
- response = client.post('/repositories/with_agent', repository)
18
- if response.status_code == 201
19
- repository = client.repositories.find { |r| r["repo_code"] == "XYZ" }
20
- ap repository
21
- ap client.delete(repository["uri"])
22
- else
23
- ap response.parsed
24
- end
25
-
26
16
  user_data = {
27
17
  username: "lmessi",
28
18
  name: "Lionel Messi",
29
19
  is_admin: true,
30
20
  }
21
+ user_password = "123456"
31
22
 
32
- user = ArchivesSpace::Template.process_template(:user, user_data)
33
- response = client.post('users', user, { password: "123456" })
34
- if response.status_code == 201
35
- user = client.users.find { |r| r["username"] == "lmessi" }
36
- ap user
37
- ap client.delete user["uri"]
38
- else
39
- ap response.parsed
40
- end
23
+ repository = ArchivesSpace::Template.process_template(:repository_with_agent, repo_data)
24
+
25
+ begin
26
+ response = client.post('/repositories/with_agent', repository)
27
+ if response.status_code == 201
28
+ repository = client.repositories.find { |r| r["repo_code"] == "XYZ" }
29
+ ap repository
30
+ ap client.delete(repository["uri"])
31
+ else
32
+ ap response.parsed
33
+ end
34
+
35
+ user = ArchivesSpace::Template.process_template(:user, user_data)
36
+ response = client.post('users', user, { password: user_password })
37
+ if response.status_code == 201
38
+ user = client.users.find { |r| r["username"] == "lmessi" }
39
+ ap user
40
+ ap client.delete user["uri"]
41
+ else
42
+ ap response.parsed
43
+ end
44
+ rescue ArchivesSpace::RequestError => ex
45
+ puts ex.message
46
+ end
@@ -0,0 +1,17 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'awesome_print'
3
+ require 'archivesspace/client'
4
+
5
+ # official sandbox
6
+ config = ArchivesSpace::Configuration.new({
7
+ base_uri: "http://sandbox.archivesspace.org/api",
8
+ base_repo: "",
9
+ username: "admin",
10
+ password: "admin",
11
+ page_size: 50,
12
+ throttle: 0,
13
+ verify_ssl: false,
14
+ })
15
+
16
+ client = ArchivesSpace::Client.new(config).login
17
+ puts client.get("version").body
@@ -24,13 +24,13 @@ module ArchivesSpace
24
24
  # options[:headers] -- add xml headers if format
25
25
 
26
26
  result = get(path, options.merge({ query: { all_ids: true } } ))
27
- raise RequestError.new result.status if result.status_code != 200
27
+ raise RequestError.new(result.body) if result.status_code != 200
28
28
  ids = result.parsed
29
29
  ids = ids.map{ |object| object["uri"].split("/")[-1] } if parse_id
30
30
  ids.each do |id|
31
31
  path_with_id = format ? "#{format}/#{id}.xml" : "#{path}/#{id}"
32
32
  result = get(path_with_id, options)
33
- raise RequestError.new result.status if result.status_code != 200
33
+ raise RequestError.new(result.body) if result.status_code != 200
34
34
  record = format ? Nokogiri::XML(result.body).to_xml : result.parsed
35
35
  yield record if block_given?
36
36
  all << record
@@ -106,7 +106,7 @@ module ArchivesSpace
106
106
 
107
107
  def password_reset(username, password)
108
108
  user = all('users').find { |u| u["username"] == username }
109
- raise RequestError.new user.status unless user
109
+ raise RequestError.new(user.status) unless user
110
110
  post(user["uri"], user, { password: password })
111
111
  end
112
112
 
@@ -159,7 +159,7 @@ module ArchivesSpace
159
159
  def get_xml(path, options = {})
160
160
  # add xml headers
161
161
  response = get(path, options)
162
- raise RequestError.new path unless response.status_code == 200
162
+ raise RequestError.new(response.body) unless response.status_code == 200
163
163
  Nokogiri::XML(response.body).to_xml
164
164
  end
165
165
 
@@ -26,7 +26,7 @@ module ArchivesSpace
26
26
  @path = path
27
27
 
28
28
  @options = options
29
- @options[:headers] = options[:headers] ? default_headers(@method).merge(options[:headers]) : default_headers
29
+ @options[:headers] = options[:headers] ? default_headers(@method).merge(options[:headers]) : default_headers(@method)
30
30
  @options[:verify] = config.verify_ssl
31
31
  @options[:query] = {} unless options.has_key? :query
32
32
 
@@ -41,4 +41,4 @@ module ArchivesSpace
41
41
 
42
42
  end
43
43
 
44
- end
44
+ end
@@ -1,5 +1,5 @@
1
1
  module ArchivesSpace
2
2
  class Client
3
- VERSION = "0.1.2"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: archivesspace-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Cooper
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-04 00:00:00.000000000 Z
11
+ date: 2017-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -42,100 +42,100 @@ dependencies:
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 3.6.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 3.6.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: vcr
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 3.0.3
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 3.0.3
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: webmock
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 3.0.1
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 3.0.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: awesome_print
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 1.8.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 1.8.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: httparty
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: 0.14.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: 0.14.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: json
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 2.0.3
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 2.0.3
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: nokogiri
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - '='
130
130
  - !ruby/object:Gem::Version
131
- version: '0'
131
+ version: 1.6.8.1
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - '='
137
137
  - !ruby/object:Gem::Version
138
- version: '0'
138
+ version: 1.6.8.1
139
139
  description: Interact with ArchivesSpace via its RESTful API.
140
140
  email:
141
141
  - mark.c.cooper@outlook.com
@@ -153,8 +153,8 @@ files:
153
153
  - archivesspace-client.gemspec
154
154
  - examples/export.rb
155
155
  - examples/password_reset.rb
156
- - examples/perms_and_groups.rb
157
156
  - examples/repo_and_user.rb
157
+ - examples/test_connection.rb
158
158
  - lib/archivesspace/client.rb
159
159
  - lib/archivesspace/client/client.rb
160
160
  - lib/archivesspace/client/configuration.rb
@@ -191,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
191
  version: '0'
192
192
  requirements: []
193
193
  rubyforge_project:
194
- rubygems_version: 2.2.2
194
+ rubygems_version: 2.6.10
195
195
  signing_key:
196
196
  specification_version: 4
197
197
  summary: Interact with ArchivesSpace via its RESTful API.
@@ -1,8 +0,0 @@
1
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
- require 'awesome_print'
3
- require 'archivesspace/client'
4
-
5
- # default client connection: localhost:8089, admin, admin
6
- client = ArchivesSpace::Client.new.login
7
-
8
- # todo ... example of assignment using CSV