Method: Java::NetSfEhcacheConfig::Configuration.create

Defined in:
lib/ehcache/config.rb

.create(*args) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/ehcache/config.rb', line 26

def self.create(*args)
  result = nil
  case args.size
  when 0
    result = Factory.parseConfiguration()
  when 1
    arg = args.first

    if arg.is_a?(String)
      raise ArgumentError, "Cannot read config file '#{arg}'" unless File.readable?(arg)
      if arg =~ /\.yml$/
        result = Ehcache::Config::YamlConfig.parse_yaml_config(arg)
      else
        result = Factory.parseConfiguration(java.io.File.new(arg))
      end
    else
      result = Factory.parseConfiguration(arg)
    end
  end

  unless result.is_a?(self)
    raise ArgumentError, "Could not create Configuration from: #{args.inspect}"
  end
  result
end