assembly-utils 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +13 -0
- data/.rvmrc.example +1 -0
- data/Gemfile +4 -0
- data/README.rdoc +51 -0
- data/Rakefile +8 -0
- data/assembly-utils.gemspec +36 -0
- data/bin/console +9 -0
- data/bin/run_all_tests +3 -0
- data/config/boot.rb +13 -0
- data/config/connect_to_dor.rb +6 -0
- data/lib/assembly-utils/utils.rb +817 -0
- data/lib/assembly-utils/version.rb +8 -0
- data/lib/assembly-utils.rb +37 -0
- data/spec/spec_helper.rb +31 -0
- data/spec/test_data/druid_dd999dd9999.xml +98 -0
- data/spec/test_data/local_dev_revs.yaml +57 -0
- data/spec/test_data/test_log.yaml +15 -0
- data/spec/utils_spec.rb +118 -0
- metadata +238 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5d8110962de88ec569fe2a0c023ec15461ac1415
|
4
|
+
data.tar.gz: 0523642bd19b3411e4d2fc0b9b23c8fb98fb7472
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 29e0095812d153b507de8636c95d8263744e135fa68eebf14cc71352f0e790b7c983aa3ab9c798c8693fdac591665ec0593095c1df02caef105e213905d798cd
|
7
|
+
data.tar.gz: 162b128163a38a4232acc4763a7e3fda0b4effad80cb900abd06c3d49b9fba1f317480e9200b707eade6ccba6f9600b0df7f404223871fbd6eabc1bd8ee2b53a
|
data/.gitignore
ADDED
data/.rvmrc.example
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm use 1.9.3@assembly-utils --create
|
data/Gemfile
ADDED
data/README.rdoc
ADDED
@@ -0,0 +1,51 @@
|
|
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
|
+
|
41
|
+
==Running tests
|
42
|
+
|
43
|
+
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
|
44
|
+
|
45
|
+
bundle exec rspec spec
|
46
|
+
|
47
|
+
==Connecting to DOR
|
48
|
+
|
49
|
+
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
|
50
|
+
some configuration information in your project, along with the certificates for the appropriate environment. Connections for development DOR
|
51
|
+
are provided as part of the gem in the 'config' directory and are used in the spec test suite.
|
data/Rakefile
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
$LOAD_PATH.push File.expand_path("../lib", __FILE__)
|
2
|
+
require 'assembly-utils/version'
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = 'assembly-utils'
|
6
|
+
s.version = Assembly::Utils::VERSION
|
7
|
+
s.authors = ["Peter Mangiafico","Monty Hindman"]
|
8
|
+
s.email = ["pmangiafico@stanford.edu"]
|
9
|
+
s.homepage = ""
|
10
|
+
s.summary = %q{Ruby gem of methods usesful for assembly and accessioning.}
|
11
|
+
s.description = %q{Contains classes to manipulate DOR objects for assembly and accessioning}
|
12
|
+
|
13
|
+
s.rubyforge_project = 'assembly-utils'
|
14
|
+
|
15
|
+
s.files = `git ls-files`.split("\n")
|
16
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
|
+
s.require_paths = ['lib']
|
19
|
+
|
20
|
+
s.add_dependency 'nokogiri'
|
21
|
+
s.add_dependency 'csv-mapper'
|
22
|
+
s.add_dependency 'fastercsv'
|
23
|
+
s.add_dependency 'druid-tools', ">= 0.2.6"
|
24
|
+
|
25
|
+
s.add_dependency 'dor-services', ">= 3.25.1"
|
26
|
+
s.add_dependency 'lyber-core'
|
27
|
+
s.add_dependency 'dor-workflow-service', '>=1.3.1'
|
28
|
+
|
29
|
+
s.add_dependency 'activesupport'
|
30
|
+
s.add_dependency 'activeresource'
|
31
|
+
|
32
|
+
s.add_development_dependency "rake"
|
33
|
+
s.add_development_dependency "rspec", "~> 2.6"
|
34
|
+
s.add_development_dependency "yard"
|
35
|
+
|
36
|
+
end
|
data/bin/console
ADDED
data/bin/run_all_tests
ADDED
data/config/boot.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
CERT_DIR = File.join(File.dirname(__FILE__), ".", "certs")
|
3
|
+
|
4
|
+
environment = ENV['ENVIRONMENT'] || ENV['ROBOT_ENVIRONMENT'] || ENV['RAILS_ENV'] || 'development'
|
5
|
+
project_root = File.expand_path(File.dirname(__FILE__) + '/..')
|
6
|
+
puts "RUNNING IN #{environment} mode"
|
7
|
+
|
8
|
+
# Load config for current environment.
|
9
|
+
$LOAD_PATH.unshift(project_root + '/lib')
|
10
|
+
|
11
|
+
require 'assembly-utils'
|
12
|
+
|
13
|
+
Dor::WorkflowService.configure(Dor::Config.workflow.url)
|