Sha256: a073cc1816332d4824a9e860465a2f04f5f9febc7deb84eb3ffeab0ea5d56bf5

Contents?: true

Size: 839 Bytes

Versions: 8

Compression:

Stored size: 839 Bytes

Contents

require 'yaml'

# MetaServices are collections of services
class Fdoc::MetaService
  attr_reader :meta_service_dir

  def initialize(meta_service_dir)
    @meta_service_dir = meta_service_dir

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

  def empty?
    @schema.empty?
  end

  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

  def name
    @schema['name']
  end

  def description
    @schema['description']
  end

  def discussion
    @schema['discussion']
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
fdoc-0.3.0 lib/fdoc/meta_service.rb
fdoc-0.2.7 lib/fdoc/meta_service.rb
fdoc-0.2.6 lib/fdoc/meta_service.rb
fdoc-0.2.5 lib/fdoc/meta_service.rb
fdoc-0.2.4 lib/fdoc/meta_service.rb
fdoc-0.2.3 lib/fdoc/meta_service.rb
fdoc-0.2.2 lib/fdoc/meta_service.rb
fdoc-0.2.1 lib/fdoc/meta_service.rb