fcrepo_wrapper 0.4.0 → 0.5.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: c13336376dbcb9d568acba19a92fd5555595af05
4
- data.tar.gz: 597e66ac22ce559f7a028a54e9c74f6f0a247a2d
3
+ metadata.gz: a7424a9dd0bb39faff3bd6ee2348baa23e8e0b7e
4
+ data.tar.gz: bca5748de2a73310b3de930b002b9e2f3006ad86
5
5
  SHA512:
6
- metadata.gz: 2bbdc8828cdf9b44c4d32fc026c1e8b99a1cb86373b61a885aa1e6cf4a34127c27c0422f0b2c9a177449ee10054b19dfe5b2aab902075e56dce45a48503d3a15
7
- data.tar.gz: 52a8673487e434d352d70a6b7b6244eb63bfd6416b27f536fd12b57e2594539412f3306c0f700533054c0ef357b1225fa80e34433a3dd5207bf838fa18bc1ad7
6
+ metadata.gz: d86ee5479a5ed8a33f807302159b3f1e232257023a758b747527fcf6be49abdf354d1fd336d6a96d5d1001460d076623adf3e7fda38c35ab0e4600a03bcae5cc
7
+ data.tar.gz: 2deb69ade9df947f7d092f52a95e2047ec1172f5bd38706bf049a3a41aed1057c2a11b35213337dc6c595058ec523f8705087988ac9c25978df8a69239900e5c
data/README.md CHANGED
@@ -47,4 +47,11 @@ $ fcrepo_wrapper -config <path_to_config_file>
47
47
  | version | Fedora version to download and install |
48
48
  | version_file | Local path to store the currently installed version number |
49
49
 
50
+ ### Cleaning your repository from the command line
51
+
52
+ To clean out data that is being stored in you FcrepoWrapper explicitly run:
53
+ ```
54
+ $ fcrepo_wrapper <configuration options> clean
55
+ ```
56
+ ***Note*** You must use the same configuration options on the clean command as you do on the run command to clean the correct instance.
50
57
 
@@ -5,6 +5,12 @@ require 'optparse'
5
5
 
6
6
  options = {}
7
7
 
8
+ subtext = <<HELP
9
+ Commonly used command are:
10
+ clean : cleans all data from fedora based on configuration options
11
+ See 'fcrepo_wrapper COMMAND --help' for more information on a specific command.
12
+ HELP
13
+
8
14
  args = OptionParser.new do |opts|
9
15
  opts.banner = "Usage: fcrepo_wrapper [options]"
10
16
 
@@ -44,9 +50,21 @@ args = OptionParser.new do |opts|
44
50
  puts opts
45
51
  exit
46
52
  end
53
+
54
+ opts.separator ""
55
+ opts.separator subtext
47
56
  end
48
57
 
58
+ subcommands = {
59
+ 'clean' => OptionParser.new do |opts|
60
+ opts.banner = "Usage: clean"
61
+ end,
62
+ }
63
+
49
64
  begin
65
+ args.order!
66
+ command = ARGV.shift
67
+ subcommands[command].order! if command
50
68
  args.parse!
51
69
  rescue => error
52
70
  $stderr.puts "ERROR: #{error}\n"
@@ -58,6 +76,13 @@ end
58
76
  options[:verbose] = true if options[:verbose].nil?
59
77
 
60
78
  instance = FcrepoWrapper.default_instance(options)
79
+
80
+ if command == 'clean'
81
+ $stderr.puts "cleaning #{instance.instance_dir}..."
82
+ instance.clean!
83
+ exit 0
84
+ end
85
+
61
86
  $stderr.print "Starting Fedora #{instance.version} on port #{instance.port} ... "
62
87
  instance.wrap do |conn|
63
88
  $stderr.puts "http://#{instance.host}:#{instance.port}/"
@@ -88,7 +88,13 @@ module FcrepoWrapper
88
88
  end
89
89
 
90
90
  def fcrepo_home_dir
91
- options[:fcrepo_home_dir]
91
+ if options[:fcrepo_home_dir]
92
+ options[:fcrepo_home_dir]
93
+ elsif defined? Rails
94
+ File.join(Rails.root, 'tmp', 'fcrepo4-data')
95
+ else
96
+ Dir.mktmpdir
97
+ end
92
98
  end
93
99
 
94
100
  def port
@@ -125,7 +131,7 @@ module FcrepoWrapper
125
131
  $stderr.puts "Unable to parse config #{config_file}" if verbose
126
132
  return {}
127
133
  end
128
- config.each_with_object({}) { |(k, v), h| h[k.to_sym] = v.to_s }
134
+ config.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
129
135
  end
130
136
 
131
137
  def default_configuration_paths
@@ -1,3 +1,3 @@
1
1
  module FcrepoWrapper
2
- VERSION = '0.4.0'.freeze
2
+ VERSION = '0.5.0'.freeze
3
3
  end
@@ -1 +1,5 @@
1
1
  port: 9999
2
+ version_file: path/to/VERSION
3
+ enable_jms: no
4
+ verbose: false
5
+ validate: yes
@@ -27,9 +27,20 @@ describe FcrepoWrapper::Configuration do
27
27
  allow(config).to receive(:default_configuration_paths).and_return([])
28
28
  end
29
29
  let(:options) { { config: 'spec/fixtures/sample_config.yml' } }
30
+
30
31
  it "uses values from the config file" do
31
- expect(config.port).to eq '9999'
32
+ expect(config.version_file).to eq 'path/to/VERSION'
33
+ end
34
+ it "evalates yaml true values as ruby booleans" do
35
+ expect(config.validate).to be true
36
+ end
37
+ it "evaluates yaml false values as ruby booleans" do
38
+ expect(config.verbose?).to be false
32
39
  end
40
+ it "doesn't cast numerics to strings" do
41
+ expect(config.port).to eq 9999
42
+ end
43
+
33
44
  end
34
45
 
35
46
  describe "#validate" do
@@ -15,7 +15,7 @@ describe FcrepoWrapper::MD5 do
15
15
  end
16
16
 
17
17
  context "with a correct checksum" do
18
- let(:options) { { md5sum: 'de0b8ccf94db635e149b4c01027b34c1' } }
18
+ let(:options) { { md5sum: '75e5b2fea7e7b756fa4ad4ca58e96b8c' } }
19
19
  it "doesn't raise an error" do
20
20
  expect { subject }.not_to raise_error
21
21
  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.4.0
4
+ version: 0.5.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-04-12 00:00:00.000000000 Z
11
+ date: 2016-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-progressbar