class Swarker::Readers::ServiceReader
Constants
- DEFAULT_PORT
- DEFINITIONS_DIR
- PATHS_DIR
- SERVICE_EXT
Attributes
dir[R]
services[R]
subtree[R]
Public Class Methods
new(dir, subtree = nil)
click to toggle source
# File lib/swarker/readers/service_reader.rb, line 14 def initialize(dir, subtree = nil) @dir = dir @subtree = subtree @services = read_services end
Private Instance Methods
definitions()
click to toggle source
# File lib/swarker/readers/service_reader.rb, line 35 def definitions @definitions ||= DefinitionsReader.new(definitions_dir).definitions end
definitions_dir()
click to toggle source
# File lib/swarker/readers/service_reader.rb, line 39 def definitions_dir File.join(dir, DEFINITIONS_DIR) end
hosts()
click to toggle source
# File lib/swarker/readers/service_reader.rb, line 51 def hosts original_schema[:domains].values.collect do |domain| uri = URI(domain) uri.port == DEFAULT_PORT ? uri.host : "#{uri.host}:#{uri.port}" end end
local_service()
click to toggle source
# File lib/swarker/readers/service_reader.rb, line 31 def local_service Swarker::Service.new(nil, original_schema, definitions, paths) end
original_schema()
click to toggle source
# File lib/swarker/readers/service_reader.rb, line 58 def original_schema @original_schema ||= HashWithIndifferentAccess.new(YAML.load_file(service_file)) end
paths()
click to toggle source
# File lib/swarker/readers/service_reader.rb, line 43 def paths @paths ||= PathsMerger.new(PathsReader.new(paths_dir).paths).paths end
paths_dir()
click to toggle source
# File lib/swarker/readers/service_reader.rb, line 47 def paths_dir File.join(dir, subtree || PATHS_DIR) end
read_services()
click to toggle source
# File lib/swarker/readers/service_reader.rb, line 25 def read_services hosts.collect do |host| Swarker::Service.new(host, original_schema, definitions, paths) end.presence || [local_service] end
service_file()
click to toggle source
# File lib/swarker/readers/service_reader.rb, line 62 def service_file # Assumes that it can be only one service file in service directory Dir["#{dir}/*#{SERVICE_EXT}"].first end