assembly-utils 1.4.3 → 1.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NGFmYmJhZDg0OTg5YzMxYzZlZjZjNWM1OTc0Nzc0MTdiYzI4ZmY5MQ==
4
+ ZTJlYzhjNWUyMmVmMWZhZWZiODQxMGQ0ZjMyNWZmZTU5YWRmMDU1NQ==
5
5
  data.tar.gz: !binary |-
6
- ZDU4YTZhODQ3YTkwZTI0N2FkOTRiNDRmM2YxNTlmYzJmMWQwNzg3MA==
6
+ MDRiY2E2N2I4OWYzOTgyNzVlOTY0OTVkODQ4M2U5ZGJiNGQxOTlkMA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZGQ1MDdhOGMwMGZjODc3MzNhODAzZWM1ZjZlZDU3NWI3YTVhYjIwYzhmOTAz
10
- ZDFlM2M5NzQ1MTNiMGU5NjU1MjY1MTNkNmVmMzFhNzdmMTNkYzc0OWMxYTFh
11
- NzZkYzg2NTIxM2NmMDY1MTk1ZmFjNjI2OGMxY2I5N2NlOTcyNTk=
9
+ OWYzOGE4Njk2NDZlOGY1MmQwZmI0Yjk2YmJmZjhlYWViYzdhNGE1OTgwZjlk
10
+ N2I3NDI0Mjc2MTk2ZTlmMmZhNWI4OTliMWZiN2E4ZTU2YzFiNzY5OTkxMDE0
11
+ Zjg4OTVlYjQxNGRkYjBkZmNmNzNmMjQxMTA1NTNhNjNhZTEyMmM=
12
12
  data.tar.gz: !binary |-
13
- NGNjNTYyODg1ZjYyMWEwYWNmYzRmMGEwYWUwYWZkZDIxNGQ2MjlkYjY1YTc0
14
- MGZlOTgyMjFmNTU1MDFmZDg2MjFlZTk2YTQyZjA1MGI5MTE5Mjg5MGZkMzU1
15
- NjExY2QyMTZmYjI2ZTVjYzNiNTkwMDZjZTIyMGQ1MjQyMWMwZjI=
13
+ Y2U1Nzg2MWVkNzA0NDUzYjIyYjVkYjliNmIwMTliZDFmYTFhMDU1NGZlMmUw
14
+ ZDVlYjRmYTA4ZGQxMmQ3YzQxOTk2MjFmMzRjZjZhMTQzNzkxOTdmNjFkM2Qx
15
+ YTYwZmRjMTdjNjI4NTA3YmFiY2UyMTcwZjBmY2I3ODY5ZjdjMmU=
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --tag ~type:integration
data/Gemfile CHANGED
@@ -2,3 +2,4 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in assembly-utils.gemspec
4
4
  gemspec
5
+
@@ -0,0 +1,72 @@
1
+ # Assembly Utils Gem
2
+
3
+ ## Overview
4
+ Ruby gem of methods useful for assembly and accessioning. Contains classes to
5
+ manipulate DOR objects for assembly and accessioning.
6
+
7
+ ## Releases
8
+
9
+ * 1.0.0 initial release
10
+ * 1.0.1 bug fixes
11
+ * 1.0.2 more bug fixes to use the new druid-tools namespace
12
+ * 1.0.3 add a method to compute staging paths based on changes to Druid gem path computations
13
+ * 1.0.4 add some tests and document methods
14
+ * 1.0.5 add more spec tests and documentation; update `get_staging_path` method to fix a bug
15
+ * 1.0.6 add the ability to delete workflows in the cleanup method, add a new
16
+ method to fetch and delete all workflows
17
+ * 1.0.7 add a new method to determine if a specific workflow is defined in the APO
18
+ * 1.0.8 add methods to batch import and export objects to/from FOXML
19
+ * 1.0.9 add spec output test data directory to git
20
+ * 1.0.10 lowered required version of dor-services from 3.9.0 to 3.8.0
21
+ * 1.0.11 use `Dor::DigitalStacksService` to calculate stacks directory to cleanup
22
+ * 1.0.12 bugfix on call to `Dor::DigitalStacksService`
23
+ * 1.0.13 update to latest lyberteam devel gems
24
+ * 1.0.14 add new method to re-index item in solr
25
+ * 1.1.0 small updates to some methods to depracate `apo_workflow` checking method
26
+ * 1.1.1 add dor-workflow-service gem and convenience method to auto reset
27
+ all objects in a specific state back to waiting
28
+ * 1.1.2 allow `reset_workflow_state` to accept a state parameter
29
+ * 1.1.3 add a reindex method
30
+ * 1.1.4 fixed delete object method to remove from solr too; fix cleanup
31
+ object method to remove both old and new style druid trees
32
+ * 1.1.5 add new claim druid method
33
+ * 1.1.6 add new step to remove workflows during `cleanup_object`
34
+ * 1.1.7 change ordering of cleanup steps so if deleting workflow fails, the
35
+ earlier steps will still run
36
+ * 1.1.8 fix bug in cleanup method during symlink deletion
37
+ * 1.1.9 add remediate-object to the workflow status report; remove some
38
+ methods around robot usage that aren't needed anymore
39
+ * 1.2.0 add a new method to return an array of druids from a CSV file which contains a "druid" column
40
+ * 1.2.1 add a new method to insert a specific workflow into an object
41
+ * 1.2.2 add a new method to bulk republish a list of druids, and a new
42
+ parameter to datastreams bulk update to publish after updating
43
+ * 1.2.3 add a new method to check the status of an object (`is_ingested?`)
44
+ * 1.2.4 add some additional methods to check the state of an object
45
+ * 1.2.5-1.2.7 update gemfile to newer version of dor-services gem and other related/dependent gems
46
+ * 1.2.8 add a new constant for technical metadata filename
47
+ * 1.4.1-2 update gems and fix typos
48
+
49
+
50
+ ## Running tests
51
+
52
+ You will need to be on the Stanford network or VPNed in to run the
53
+ tests, since it connects to DOR. To run tests:
54
+
55
+ ```bash
56
+ bundle exec rspec spec
57
+ ```
58
+
59
+ ## Deploy new gem
60
+
61
+ ```bash
62
+ gem build assembly-utils.gemspec
63
+ gem push assembly-utils-1.4.1.gem # update version as needed
64
+ ```
65
+
66
+ ## Connecting to DOR
67
+
68
+ Some of the methods require a connection to DOR, which is not provided as part
69
+ of this gem. In order to connect to DOR, you will need some configuration
70
+ information in your project, along with the certificates for the appropriate
71
+ environment. Connections for development DOR are provided as part of the gem
72
+ in the 'config' directory and are used in the spec test suite.
@@ -27,10 +27,10 @@ Gem::Specification.new do |s|
27
27
 
28
28
  s.add_dependency 'activesupport'
29
29
  s.add_dependency 'activeresource'
30
- s.add_dependency 'addressable', '2.3.5'
30
+ s.add_dependency 'addressable', '2.3.5' # avoids ERROR: lib/addressable/uri.rb:1659:in `normalized_fragment': can't modify frozen Addressable::URI (RuntimeError)
31
31
 
32
32
  s.add_development_dependency "rake"
33
- s.add_development_dependency "rspec", "~> 2.6"
33
+ s.add_development_dependency "rspec", '~> 3.1'
34
34
  s.add_development_dependency "yard"
35
35
 
36
36
  end
@@ -2,5 +2,5 @@ environment = ENV['ENVIRONMENT'] ||= 'development'
2
2
  GEM_ROOT = File.expand_path(File.dirname(__FILE__) + '/..')
3
3
 
4
4
  # Environment.
5
- ENV_FILE = GEM_ROOT + "/config/environments/#{environment}.rb"
6
- require ENV_FILE
5
+ env_file = GEM_ROOT + "/config/environments/#{environment}.rb"
6
+ require env_file if File.file?(env_file)
@@ -510,7 +510,7 @@ module Assembly
510
510
  end
511
511
  end
512
512
 
513
- # Check if the object is full accessioned and ingested.
513
+ # Check if the object is fully accessioned and ingested.
514
514
  # This method only works when this gem is used in a project that is configured to connect to the workflow service.
515
515
  #
516
516
  # @param [string] pid the druid to operate on
@@ -523,6 +523,19 @@ module Assembly
523
523
  WFS.get_lifecycle(REPO, pid, 'accessioned') ? true : false
524
524
  end
525
525
 
526
+ # Check if the object is currently in accessioning
527
+ # This method only works when this gem is used in a project that is configured to connect to the workflow service.
528
+ #
529
+ # @param [string] pid the druid to operate on
530
+ #
531
+ # @return [boolean] if object is currently in accessioning
532
+ # Example:
533
+ # Assembly::Utils.in_accessioning?('druid:oo000oo0001')
534
+ # > false
535
+ def self.in_accessioning?(pid)
536
+ WFS.get_active_lifecycle(REPO, pid, 'submitted') ? true : false
537
+ end
538
+
526
539
  # Check if the object is on ingest hold
527
540
  # This method only works when this gem is used in a project that is configured to connect to the workflow service.
528
541
  #
@@ -548,7 +561,33 @@ module Assembly
548
561
  def self.is_submitted?(pid)
549
562
  WFS.get_lifecycle(REPO, pid, 'submitted') == nil
550
563
  end
551
-
564
+
565
+ # Check if the updates are allowed on the object
566
+ # This method only works when this gem is used in a project that is configured to connect to the workflow service.
567
+ #
568
+ # @param [string] pid the druid to operate on
569
+ #
570
+ # @return [boolean] if object can be versioned and updated
571
+ # Example:
572
+ # Assembly::Utils.updates_allowed?('druid:oo000oo0001')
573
+ # > false
574
+ def self.updates_allowed?(pid)
575
+ !self.in_accessioning?(pid) && self.is_ingested?(pid)
576
+ end
577
+
578
+ # Check if versioning is required for the object
579
+ # This method only works when this gem is used in a project that is configured to connect to the workflow service.
580
+ #
581
+ # @param [string] pid the druid to operate on
582
+ #
583
+ # @return [boolean] if object requires versioning
584
+ # Example:
585
+ # Assembly::Utils.versioning_required?('druid:oo000oo0001')
586
+ # > false
587
+ def self.versioning_required?(pid)
588
+ !((!self.is_ingested?(pid) && self.ingest_hold?(pid)) || (!self.is_ingested?(pid) && !self.is_submitted?(pid)))
589
+ end
590
+
552
591
  # Reset the workflow states for a list of druids given a list of workflow names and steps.
553
592
  # Provide a list of druids in an array, and a hash containing workflow names (e.g. 'assemblyWF' or 'accessionWF') as the keys, and arrays of steps
554
593
  # as the corresponding values (e.g. ['checksum-compute','jp2-create']) and they will all be reset to "waiting".
@@ -3,6 +3,6 @@ module Assembly
3
3
  # Main Utils class
4
4
  class Utils
5
5
  # Project version number
6
- VERSION = "1.4.3"
6
+ VERSION = "1.4.4"
7
7
  end
8
8
  end
@@ -1,53 +1,53 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Assembly::Utils do
4
-
4
+
5
5
  it "should compute the correct staging path given a druid" do
6
6
  path=Assembly::Utils.get_staging_path('aa000aa0001')
7
- path.should == 'aa/000/aa/0001'
7
+ expect(path).to eq('aa/000/aa/0001')
8
8
  end
9
9
 
10
10
  it "should compute the correct staging path given a druid and a pre-pend path" do
11
11
  path=Assembly::Utils.get_staging_path('aa000aa0001','/tmp')
12
- path.should == '/tmp/aa/000/aa/0001'
12
+ expect(path).to eq('/tmp/aa/000/aa/0001')
13
13
  end
14
14
 
15
15
  it "should symbolize hash keys correctly" do
16
- result=Assembly::Utils.symbolize_keys({'foo'=>'bar','ppuff'=>'doofus'})
17
- result.should == {:foo=>'bar',:ppuff=>'doofus'}
16
+ result=Assembly::Utils.symbolize_keys({'foo'=>'bar','ppuff'=>'doofus'})
17
+ expect(result).to eq({:foo=>'bar',:ppuff=>'doofus'})
18
18
  end
19
19
 
20
20
  it "should symbolize hash values correctly" do
21
21
  result=Assembly::Utils.values_to_symbols!({'foo'=>'bar','ppuff'=>'doofus'})
22
- result.should == {'foo'=>:bar,'ppuff'=>:doofus}
22
+ expect(result).to eq({'foo'=>:bar,'ppuff'=>:doofus})
23
23
  end
24
-
24
+
25
25
  it "should return a blank string if a file is not found to read in" do
26
26
  bogus_filename='crap/dude'
27
- Assembly::Utils.read_file(bogus_filename).should == ''
27
+ expect(Assembly::Utils.read_file(bogus_filename)).to eq('')
28
28
  end
29
29
 
30
30
  it "should return a string with the file content if the file is found" do
31
31
  progress_filename='spec/test_data/test_log.yaml'
32
- Assembly::Utils.read_file(progress_filename).should =~ /:pid: druid:bg598tg6338/
32
+ expect(Assembly::Utils.read_file(progress_filename)).to match(/:pid: druid:bg598tg6338/)
33
33
  end
34
-
34
+
35
35
  it "should read in a list of completed druids from a progress log file" do
36
36
  progress_filename='spec/test_data/test_log.yaml'
37
- druids=Assembly::Utils.get_druids_from_log(progress_filename)
38
- druids.should == ['druid:bc006dj2846','druid:bg598tg6338']
37
+ druids=Assembly::Utils.get_druids_from_log(progress_filename)
38
+ expect(druids).to eq(['druid:bc006dj2846','druid:bg598tg6338'])
39
39
  end
40
40
 
41
41
  it "should read in a list of failed druids from a progress log file" do
42
42
  progress_filename='spec/test_data/test_log.yaml'
43
- druids=Assembly::Utils.get_druids_from_log(progress_filename,false)
44
- druids.should == ['druid:bh634sp8073']
43
+ druids=Assembly::Utils.get_druids_from_log(progress_filename,false)
44
+ expect(druids).to eq(['druid:bh634sp8073'])
45
45
  end
46
-
46
+
47
47
  it "should read in a YAML configuration file and turn it into a hash" do
48
48
  config_filename='spec/test_data/local_dev_revs.yaml'
49
- config=Assembly::Utils.load_config(config_filename)
50
- config['progress_log_file'].should == 'tmp/progress_revs.yaml'
49
+ config=Assembly::Utils.load_config(config_filename)
50
+ expect(config['progress_log_file']).to eq('tmp/progress_revs.yaml')
51
51
  end
52
52
 
53
53
  ###################################################################################
@@ -63,56 +63,56 @@ describe Assembly::Utils do
63
63
  remove_files(TEST_OUTPUT_DIR)
64
64
  delete_test_object
65
65
  end
66
-
67
- it "should find druids by source ID" do
68
- Dor::SearchService.should_receive(:query_by_id).with('testing-assembly-utils-gem').and_return TEST_PID
66
+
67
+ it "should find druids by source ID", :type =>'integration' do
68
+ expect(Dor::SearchService).to receive(:query_by_id).with('testing-assembly-utils-gem').and_return TEST_PID
69
69
  druids=Assembly::Utils.get_druids_by_sourceid(['testing-assembly-utils-gem'])
70
- druids.should == [TEST_PID]
70
+ expect(druids).to eq([TEST_PID])
71
71
  end
72
-
73
- it "should replace the datastream of an object" do
72
+
73
+ it "should replace the datastream of an object", :type =>'integration' do
74
74
  new_content="<xml><tag>stuff</tag></xml>"
75
75
  datastream="test"
76
76
  druids=[TEST_PID]
77
77
  Assembly::Utils.replace_datastreams(druids,datastream,new_content)
78
78
  obj = Dor::Item.find(TEST_PID)
79
- obj.datastreams[datastream].content.should =~ /<tag>stuff<\/tag>/
79
+ expect(obj.datastreams[datastream].content).to match(/<tag>stuff<\/tag>/)
80
80
  end
81
81
 
82
- it "should search and replace the datastream of an object" do
82
+ it "should search and replace the datastream of an object", :type =>'integration' do
83
83
  find_content="stuff"
84
84
  replace_content="new"
85
85
  datastream="test"
86
86
  druids=[TEST_PID]
87
87
  Assembly::Utils.update_datastreams(druids,datastream,find_content,replace_content)
88
88
  obj = Dor::Item.find(TEST_PID)
89
- obj.datastreams[datastream].content.should =~ /<tag>new<\/tag>/
89
+ expect(obj.datastreams[datastream].content).to match(/<tag>new<\/tag>/)
90
90
  end
91
-
92
- it "should export a PID to FOXML" do
93
- File.exists?(File.join(TEST_OUTPUT_DIR,"#{TEST_PID_FILENAME}.foxml.xml")).should be false
91
+
92
+ it "should export a PID to FOXML", :type =>'integration' do
93
+ expect(File.exists?(File.join(TEST_OUTPUT_DIR,"#{TEST_PID_FILENAME}.foxml.xml"))).to be false
94
94
  Dir.mkdir(TEST_OUTPUT_DIR) unless Dir.exists?(TEST_OUTPUT_DIR)
95
95
  Assembly::Utils.export_objects(TEST_PID,TEST_OUTPUT_DIR)
96
- File.exists?(File.join(TEST_OUTPUT_DIR,"#{TEST_PID_FILENAME}.foxml.xml")).should be true
96
+ expect(File.exists?(File.join(TEST_OUTPUT_DIR,"#{TEST_PID_FILENAME}.foxml.xml"))).to be true
97
+ end
98
+
99
+ it "should return nil when the workflow state is not found in an object", :type =>'integration' do
100
+ expect(Assembly::Utils.get_workflow_status(TEST_PID,'assemblyWF','jp2-create')).to be_nil
97
101
  end
98
-
99
- it "should return nil when the workflow state is not found in an object" do
100
- Assembly::Utils.get_workflow_status(TEST_PID,'assemblyWF','jp2-create').should be_nil
102
+
103
+ it "should indicate if the specified workflow is defined in an APO object", :type =>'integration' do
104
+ expect(Assembly::Utils.apo_workflow_defined?(TEST_APO_OBJECT,'accessionWF')).to be true
105
+ expect(Assembly::Utils.apo_workflow_defined?(TEST_APO_OBJECT,'accessioning')).to be true
101
106
  end
102
-
103
- it "should indicate if the specified workflow is defined in an APO object" do
104
- Assembly::Utils.apo_workflow_defined?(TEST_APO_OBJECT,'accessionWF').should be true
105
- Assembly::Utils.apo_workflow_defined?(TEST_APO_OBJECT,'accessioning').should be true
107
+
108
+ it "should indicate if the specified workflow is not defined in an APO object", :type =>'integration' do
109
+ expect(Assembly::Utils.apo_workflow_defined?(TEST_APO_OBJECT,'crapsticks')).to be false
106
110
  end
107
111
 
108
- it "should indicate if the specified workflow is not defined in an APO object" do
109
- Assembly::Utils.apo_workflow_defined?(TEST_APO_OBJECT,'crapsticks').should be false
112
+ it "should indicate if the specified object is not an APO", :type =>'integration' do
113
+ expect{Assembly::Utils.apo_workflow_defined?(TEST_PID,'crapsticks')}.to raise_error
110
114
  end
111
115
 
112
- it "should indicate if the specified object is not an APO" do
113
- lambda{Assembly::Utils.apo_workflow_defined?(TEST_PID,'crapsticks')}.should raise_error
114
- end
115
-
116
116
  end
117
-
118
- end
117
+
118
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assembly-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
4
+ version: 1.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Mangiafico
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-01-23 00:00:00.000000000 Z
12
+ date: 2015-08-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -157,14 +157,14 @@ dependencies:
157
157
  requirements:
158
158
  - - ~>
159
159
  - !ruby/object:Gem::Version
160
- version: '2.6'
160
+ version: '3.1'
161
161
  type: :development
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - ~>
166
166
  - !ruby/object:Gem::Version
167
- version: '2.6'
167
+ version: '3.1'
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: yard
170
170
  requirement: !ruby/object:Gem::Requirement
@@ -189,10 +189,11 @@ extensions: []
189
189
  extra_rdoc_files: []
190
190
  files:
191
191
  - .gitignore
192
+ - .rspec
192
193
  - .rvmrc.example
193
194
  - Gemfile
194
195
  - LICENSE
195
- - README.rdoc
196
+ - README.md
196
197
  - Rakefile
197
198
  - assembly-utils.gemspec
198
199
  - bin/console
@@ -1,57 +0,0 @@
1
- = Assembly Utils Gem
2
-
3
- ==Overview
4
- Ruby gem of methods useful for assembly and accessioning. Contains classes to manipulate DOR objects for assembly and accessioning.
5
-
6
- ==Releases
7
-
8
- - 1.0.0 initial release
9
- - 1.0.1 bug fixes
10
- - 1.0.2 more bug fixes to use the new druid-tools namespace
11
- - 1.0.3 add a method to compute staging paths based on changes to Druid gem path computations
12
- - 1.0.4 add some tests and document methods
13
- - 1.0.5 add more spec tests and documentation; update get_staging_path method to fix a bug
14
- - 1.0.6 add the ability to delete workflows in the cleanup method, add a new method to fetch and delete all workflows
15
- - 1.0.7 add a new method to determine if a specific workflow is defined in the APO
16
- - 1.0.8 add methods to batch import and export objects to/from FOXML
17
- - 1.0.9 add spec output test data directory to git
18
- - 1.0.10 lowered required version of dor-services from 3.9.0 to 3.8.0
19
- - 1.0.11 use Dor::DigitalStacksService to calculate stacks directory to cleanup
20
- - 1.0.12 bugfix on call to Dor::DigitalStacksService
21
- - 1.0.13 update to latest lyberteam devel gems
22
- - 1.0.14 add new method to re-index item in solr
23
- - 1.1.0 small updates to some methods to depracate apo_workflow checking method
24
- - 1.1.1 add dor-workflow-service gem and convenience method to auto reset all objects in a specific state back to waiting
25
- - 1.1.2 allow reset_workflow_state to accept a state parameter
26
- - 1.1.3 add a reindex method
27
- - 1.1.4 fixed delete object method to remove from solr too; fix cleanup object method to remove both old and new style druid trees
28
- - 1.1.5 add new claim druid method
29
- - 1.1.6 add new step to remove workflows during cleanup_object
30
- - 1.1.7 change ordering of cleanup steps so if deleting workflow fails, the earlier steps will still run
31
- - 1.1.8 fix bug in cleanup method during symlink deletion
32
- - 1.1.9 add remediate-object to the workflow status report; remove some methods around robot usage that aren't needed anymore
33
- - 1.2.0 add a new method to return an array of druids from a CSV file which contains a "druid" column
34
- - 1.2.1 add a new method to insert a specific workflow into an object
35
- - 1.2.2 add a new method to bulk republish a list of druids, and a new parameter to datastreams bulk update to publish after updating
36
- - 1.2.3 add a new method to check the status of an object (is_ingested?)
37
- - 1.2.4 add some additional methods to check the state of an object
38
- - 1.2.5-1.2.7 update gemfile to newer version of dor-services gem and other related/dependent gems
39
- - 1.2.8 add a new constant for technical metadata filename
40
- - 1.4.1-2 update gems and fix typos
41
-
42
- ==Running tests
43
-
44
- You will need to be on the Stanford network (not wifi) or VPNed in to run the tests, since it connects to DOR. To run the tests
45
-
46
- bundle exec rspec spec
47
-
48
- ==Deploy new gem
49
-
50
- gem build assembly-utils.gemspec
51
- gem push assembly-utils-1.4.1.gem # update version as needed
52
-
53
- ==Connecting to DOR
54
-
55
- Some of the methods require a connection to DOR, which is not provided as part of this gem. In order to connect to DOR, you will need
56
- some configuration information in your project, along with the certificates for the appropriate environment. Connections for development DOR
57
- are provided as part of the gem in the 'config' directory and are used in the spec test suite.