Class: FcrepoWrapper::Configuration
- Inherits:
-
Object
- Object
- FcrepoWrapper::Configuration
- Defined in:
- lib/fcrepo_wrapper/configuration.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #binary_path ⇒ Object
- #default_download_path ⇒ Object
- #default_java_options ⇒ Object
- #download_path ⇒ Object
- #download_url ⇒ Object
- #env ⇒ Object
- #fcrepo_home_dir ⇒ Object
- #fcrepo_options ⇒ Object
- #ignore_md5sum ⇒ Object
-
#initialize(options) ⇒ Configuration
constructor
A new instance of Configuration.
- #instance_dir ⇒ Object
-
#java_options ⇒ Object
A list of arguments to pass to the JVM.
- #managed? ⇒ Boolean
- #md5sum ⇒ Object
- #md5sum_path ⇒ Object
- #md5url ⇒ Object
- #port ⇒ Object
- #tmp_save_dir ⇒ Object
- #validate ⇒ Object
- #verbose? ⇒ Boolean
- #version ⇒ Object
- #version_file ⇒ Object
Constructor Details
#initialize(options) ⇒ Configuration
Returns a new instance of Configuration.
8 9 10 11 12 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 8 def initialize() @config = [:config] @verbose = [:verbose] = load_configs(Array([:config])).merge() end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
7 8 9 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 7 def end |
Instance Method Details
#binary_path ⇒ Object
50 51 52 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 50 def binary_path File.join(instance_dir, "fcrepo-webapp-#{version}-jetty-console.jar") end |
#default_download_path ⇒ Object
22 23 24 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 22 def default_download_path File.join(download_dir, File.basename(download_url)) end |
#default_java_options ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 79 def ['-Dfcrepo.log.http.api=WARN', # To avoid "WARN: The namespace of predicate: # info:fedora/fedora-system:def/relations-external#isPartOf # was possibly misinterpreted as: # info:fedora/fedora-system:def/relations-external#." '-Dfcrepo.log.kernel=ERROR', ("-Dfcrepo.home=#{fcrepo_home_dir}" if fcrepo_home_dir), ("-Dfcrepo.spring.jms.configuration=#{spring_noop_file}" unless jms_enabled?), '-Xmx512m'].compact end |
#download_path ⇒ Object
26 27 28 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 26 def download_path @download_path ||= .fetch(:download_path, default_download_path) end |
#download_url ⇒ Object
18 19 20 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 18 def download_url @download_url ||= .fetch(:url, default_download_url) end |
#env ⇒ Object
62 63 64 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 62 def env .fetch(:env, {}) end |
#fcrepo_home_dir ⇒ Object
91 92 93 94 95 96 97 98 99 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 91 def fcrepo_home_dir if [:fcrepo_home_dir] [:fcrepo_home_dir] elsif defined? Rails File.join(Rails.root, 'tmp', 'fcrepo4-data') else Dir.mktmpdir end end |
#fcrepo_options ⇒ Object
58 59 60 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 58 def .fetch(:fcrepo_options, headless: nil) end |
#ignore_md5sum ⇒ Object
30 31 32 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 30 def ignore_md5sum .fetch(:ignore_md5sum, false) end |
#instance_dir ⇒ Object
14 15 16 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 14 def instance_dir @instance_dir ||= .fetch(:instance_dir, File.join(Dir.tmpdir, File.basename(download_url, ".jar"))) end |
#java_options ⇒ Object
Returns a list of arguments to pass to the JVM.
75 76 77 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 75 def .fetch(:java_options, ) + ['-jar', binary_path] end |
#managed? ⇒ Boolean
70 71 72 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 70 def managed? File.exists?(instance_dir) end |
#md5sum ⇒ Object
112 113 114 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 112 def md5sum .fetch(:md5sum, nil) end |
#md5sum_path ⇒ Object
34 35 36 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 34 def md5sum_path File.join(download_dir, File.basename(md5url)) end |
#md5url ⇒ Object
54 55 56 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 54 def md5url "https://github.com/fcrepo4/fcrepo4/releases/download/fcrepo-#{version}/fcrepo-webapp-#{version}-jetty-console.jar.md5" end |
#port ⇒ Object
101 102 103 104 105 106 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 101 def port # Check if the port option has been explicitly set to nil. # this means to start fcrepo_wrapper on a random open port return nil if .key?(:port) && ![:port] [:port] || FcrepoWrapper.default_fcrepo_port end |
#tmp_save_dir ⇒ Object
38 39 40 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 38 def tmp_save_dir @tmp_save_dir ||= Dir.mktmpdir end |
#validate ⇒ Object
108 109 110 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 108 def validate .fetch(:validate, true) end |
#verbose? ⇒ Boolean
66 67 68 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 66 def verbose? @verbose || ( && !!.fetch(:verbose, false)) end |
#version ⇒ Object
42 43 44 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 42 def version @version ||= .fetch(:version, FcrepoWrapper.default_fcrepo_version) end |
#version_file ⇒ Object
46 47 48 |
# File 'lib/fcrepo_wrapper/configuration.rb', line 46 def version_file .fetch(:version_file, File.join(instance_dir, "VERSION")) end |