lib/fitting/configuration.rb in fitting-2.2.0 vs lib/fitting/configuration.rb in fitting-2.3.0
- old
+ new
@@ -1,17 +1,47 @@
+require 'fitting/configuration/yaml'
+require 'fitting/configuration/legacy'
+require 'yaml'
+
module Fitting
class Configuration
- attr_accessor :apib_path,
- :drafter_yaml_path,
- :strict,
- :prefix,
- :white_list,
- :resource_white_list,
- :ignore_list
+ class << self
+ def craft
+ if one_yaml?
+ one_yaml
+ elsif more_than_one_yaml?
+ more_than_one_yaml
+ else
+ legacy
+ end
+ end
- def initialize
- @strict = false
- @prefix = ''
- @ignore_list = []
+ def one_yaml?
+ File.file?('.fitting.yml')
+ end
+
+ def more_than_one_yaml?
+ !Dir['fitting/*.yml'].empty?
+ end
+
+ def one_yaml
+ yaml = YAML.safe_load(File.read('.fitting.yml'))
+ Fitting::Configuration::Yaml.new(yaml)
+ end
+
+ def more_than_one_yaml
+ files.map do |file|
+ yaml = YAML.safe_load(File.read(file))
+ Fitting::Configuration::Yaml.new(yaml, file[8..-5])
+ end
+ end
+
+ def legacy
+ Fitting::Configuration::Legacy.new
+ end
+
+ def files
+ Dir['fitting/*.yml']
+ end
end
end
end