class Fdoc::MetaService

MetaServices are collections of services

Attributes

meta_service_dir[R]

Public Class Methods

new(meta_service_dir) click to toggle source
# File lib/fdoc/meta_service.rb, line 7
def initialize(meta_service_dir)
  @meta_service_dir = File.expand_path(meta_service_dir)

  service_path = Dir["#{meta_service_dir}/*.fdoc.meta"].first
  @schema = if service_path
    YAML.load_file(service_path)
  else
    {}
  end
end

Public Instance Methods

description() click to toggle source
# File lib/fdoc/meta_service.rb, line 39
def description
  @schema['description']
end
discussion() click to toggle source
# File lib/fdoc/meta_service.rb, line 43
def discussion
  @schema['discussion']
end
empty?() click to toggle source
# File lib/fdoc/meta_service.rb, line 18
def empty?
  @schema.empty?
end
name() click to toggle source
# File lib/fdoc/meta_service.rb, line 35
def name
  @schema['name']
end
services() click to toggle source
# File lib/fdoc/meta_service.rb, line 22
def services
  @schema['services'].map do |path|
    service_path = if path.start_with?('/') || path.start_with?('~')
      path
    else
      File.join(meta_service_dir, path)
    end
    serv = Fdoc::Service.new(service_path)
    serv.meta_service = self
    serv
  end
end