Sha256: 97b05d79f88eec244b5ecf57d73f56ca588f4b2c01a039957e7fd34ed1363101

Contents?: true

Size: 591 Bytes

Versions: 1

Compression:

Stored size: 591 Bytes

Contents

module Runbook
  def self.entities
    _child_classes(Runbook::Entities)
  end

  def self.statements
    _child_classes(Runbook::Statements)
  end

  def self.runs
    _child_modules(Runbook::Runs)
  end

  def self.generators
    _child_classes(Runbook::Generators)
  end

  def self._child_classes(mod)
    mod.constants.map { |const|
      "#{mod.to_s}::#{const}".constantize
    }.select { |const| const.is_a?(Class) }
  end

  def self._child_modules(mod)
    mod.constants.map { |const|
      "#{mod.to_s}::#{const}".constantize
    }.select { |const| const.is_a?(Module) }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
runbook-0.13.0 lib/runbook/util/runbook.rb