fcrepo_wrapper 0.3.4.1 → 0.4.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: af282bf8ce56ffa115027a1f2cfdbba796dc1fc9
4
- data.tar.gz: 4306f03f0f4b477cb57a5a3d55a8cbbdf22fb6eb
3
+ metadata.gz: c13336376dbcb9d568acba19a92fd5555595af05
4
+ data.tar.gz: 597e66ac22ce559f7a028a54e9c74f6f0a247a2d
5
5
  SHA512:
6
- metadata.gz: 24dd38367ada29652660ff11902134a413202ebfa8d8061f960887fb6532d41799a87e14bd9a15bc22b6316c136eacc72c05cf781f566f2823caceebe98c417e
7
- data.tar.gz: e71563ef00308149cf8cace6d2193f468d8a3dc2f85c709982f3c5efd4d2c1b45f7d2d1eb3764d1f910ecd6f5517279e2f16e6441f495cb52a512b35954cf741
6
+ metadata.gz: 2bbdc8828cdf9b44c4d32fc026c1e8b99a1cb86373b61a885aa1e6cf4a34127c27c0422f0b2c9a177449ee10054b19dfe5b2aab902075e56dce45a48503d3a15
7
+ data.tar.gz: 52a8673487e434d352d70a6b7b6244eb63bfd6416b27f536fd12b57e2594539412f3306c0f700533054c0ef357b1225fa80e34433a3dd5207bf838fa18bc1ad7
data/README.md CHANGED
@@ -8,8 +8,43 @@ FcrepoWrapper.wrap do |solr|
8
8
  end
9
9
  ```
10
10
 
11
- ## Basic Options
11
+ ## Configuration Options
12
12
 
13
+ ### Command Line
14
+ To see a list of valid options when using fcrepo_wrapper to launch an Fcrepo instance from the command line:
15
+ ```
16
+ $ fcrepo_wrapper -h
17
+ ```
18
+
19
+ ### Ruby
13
20
  ```ruby
14
- FcrepoWrapper.wrap port: 8983, verbose: true, managed: true
21
+ FcrepoWrapper.wrap( port: 8983, verbose: true, managed: true )
22
+ ```
23
+
24
+ ### Configuration file
25
+ FcrepoWrapper can read configuration options from a YAML configuration file.
26
+ By default, it looks for configuration files at `.fcrepo_wrapper` and `~/.fcrepo_wrapper`.
27
+
28
+ You can also specify a configuration file when launching from the command line as follows:
29
+ ```
30
+ $ fcrepo_wrapper -config <path_to_config_file>
15
31
  ```
32
+
33
+ ### Valid ruby and YAML options
34
+ |Option | Description |
35
+ |-----------------|-----------------------------------------|
36
+ | download_dir | Local path for storing the downloaded jar & md5 file |
37
+ | env | *(Hash)* |
38
+ | fcrepo_home_dir | Directory to store fedora repoistory data files |
39
+ | fedora_options | *(Hash)* |
40
+ | ignore_md5sum | *(Boolean)* suppress checksum error messages |
41
+ | instance_dir | Directory to store the fedora jar file |
42
+ | md5sum | Path/URL to MD5 checksum |
43
+ | port | Port to run Fedora on |
44
+ | url | URL of the jar file to download |
45
+ | validate | *(Boolean)* download a new md5 and (re-)validate the jar file? (default: true) |
46
+ | verbose | *(Boolean)* return verbose info when running fcrepo commands (default: false) |
47
+ | version | Fedora version to download and install |
48
+ | version_file | Local path to store the currently installed version number |
49
+
50
+
data/exe/fcrepo_wrapper CHANGED
@@ -5,10 +5,10 @@ require 'optparse'
5
5
 
6
6
  options = {}
7
7
 
8
- OptionParser.new do |opts|
8
+ args = OptionParser.new do |opts|
9
9
  opts.banner = "Usage: fcrepo_wrapper [options]"
10
10
 
11
- opts.on("--config", "Load configuration from a file") do |v|
11
+ opts.on("--config FILE", "Load configuration from a file") do |v|
12
12
  options[:config] = v
13
13
  end
14
14
 
@@ -16,7 +16,7 @@ OptionParser.new do |opts|
16
16
  options[:verbose] = v
17
17
  end
18
18
 
19
- opts.on("--[no-]jms", "Run without JMS") do |v|
19
+ opts.on("--[no-]jms", "Run with[or witout] JMS") do |v|
20
20
  options[:enable_jms] = v
21
21
  end
22
22
 
@@ -24,7 +24,7 @@ OptionParser.new do |opts|
24
24
  options[:version] = v
25
25
  end
26
26
 
27
- opts.on("-pPORT", "--port PORT", "Specify the port fcrepo should run at (default: 8080)") do |p|
27
+ opts.on("-pPORT", "--port PORT", "Specify the port fcrepo should run at (default: #{FcrepoWrapper.default_fcrepo_port})") do |p|
28
28
  if p == 'random'
29
29
  options[:port] = nil
30
30
  else
@@ -39,7 +39,20 @@ OptionParser.new do |opts|
39
39
  opts.on("-dDIR", "--fcrepo_home DIR", "Store fcrepo at the given directory") do |d|
40
40
  options[:fcrepo_home_dir] = d
41
41
  end
42
- end.parse!
42
+
43
+ opts.on("-h", "--help", "Show these usage options") do
44
+ puts opts
45
+ exit
46
+ end
47
+ end
48
+
49
+ begin
50
+ args.parse!
51
+ rescue => error
52
+ $stderr.puts "ERROR: #{error}\n"
53
+ $stderr.puts "#{args.help}\n"
54
+ exit 1
55
+ end
43
56
 
44
57
  # default to verbose
45
58
  options[:verbose] = true if options[:verbose].nil?
@@ -95,7 +95,7 @@ module FcrepoWrapper
95
95
  # Check if the port option has been explicitly set to nil.
96
96
  # this means to start fcrepo_wrapper on a random open port
97
97
  return nil if options.key?(:port) && !options[:port]
98
- options[:port] || FcrepoWrapper.default_instance_options[:port]
98
+ options[:port] || FcrepoWrapper.default_fcrepo_port
99
99
  end
100
100
 
101
101
  def validate
@@ -132,8 +132,16 @@ module FcrepoWrapper
132
132
  ['.fcrepo_wrapper', '~/.fcrepo_wrapper']
133
133
  end
134
134
 
135
+ def default_download_dir
136
+ if defined? Rails
137
+ File.join(Rails.root, 'tmp')
138
+ else
139
+ Dir.tmpdir
140
+ end
141
+ end
142
+
135
143
  def download_dir
136
- @download_dir ||= options.fetch(:download_dir, Dir.tmpdir)
144
+ @download_dir ||= options.fetch(:download_dir, default_download_dir)
137
145
  FileUtils.mkdir_p @download_dir
138
146
  @download_dir
139
147
  end
@@ -141,6 +141,14 @@ module FcrepoWrapper
141
141
  config.version
142
142
  end
143
143
 
144
+ def instance_dir
145
+ config.instance_dir
146
+ end
147
+
148
+ def options
149
+ config.options
150
+ end
151
+
144
152
  ##
145
153
  # Clean up any files fcrepo_wrapper may have downloaded
146
154
  def clean!
@@ -191,7 +199,7 @@ module FcrepoWrapper
191
199
  end
192
200
 
193
201
  def download
194
- unless File.exists?(config.download_path) && validate?(config.download_path)
202
+ unless File.exists?(config.download_path) && md5.validate?(config.download_path)
195
203
  Downloader.fetch_with_progressbar config.download_url, config.download_path
196
204
  md5.validate! config.download_path
197
205
  end
@@ -4,7 +4,6 @@ require 'fcrepo_wrapper'
4
4
  namespace :fcrepo do
5
5
  desc "Load the fcrepo options and fcrepo instance"
6
6
  task :environment do
7
- FcrepoWrapper.default_instance_options[:download_dir] ||= Rails.root.to_s + '/tmp' if defined? Rails
8
7
  @fcrepo_instance = FcrepoWrapper.default_instance
9
8
  end
10
9
 
@@ -1,3 +1,3 @@
1
1
  module FcrepoWrapper
2
- VERSION = '0.3.4.1'.freeze
2
+ VERSION = '0.4.0'.freeze
3
3
  end
@@ -10,19 +10,12 @@ module FcrepoWrapper
10
10
  '4.5.0'
11
11
  end
12
12
 
13
- def self.default_instance_options
14
- @default_instance_options ||= {
15
- port: '8080',
16
- version: FcrepoWrapper.default_fcrepo_version
17
- }
18
- end
19
-
20
- def self.default_instance_options=(options)
21
- @default_instance_options = options
13
+ def self.default_fcrepo_port
14
+ '8080'
22
15
  end
23
16
 
24
17
  def self.default_instance(options = {})
25
- @default_instance ||= FcrepoWrapper::Instance.new default_instance_options.merge(options)
18
+ @default_instance ||= FcrepoWrapper::Instance.new options
26
19
  end
27
20
 
28
21
  ##
@@ -27,5 +27,14 @@ describe FcrepoWrapper::Instance do
27
27
  subject { wrapper.md5 }
28
28
  it { is_expected.to be_instance_of FcrepoWrapper::MD5 }
29
29
  end
30
- end
31
30
 
31
+ describe "#instance_dir" do
32
+ subject { File.exists?(wrapper.instance_dir) }
33
+ it { is_expected.to be true }
34
+ end
35
+
36
+ describe "#options" do
37
+ subject { wrapper.options }
38
+ it { is_expected.to eq({}) }
39
+ end
40
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fcrepo_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-31 00:00:00.000000000 Z
11
+ date: 2016-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-progressbar