Sha256: b6f490ac0b79edee3ae136797820dce82998b3c694277b954e8a9a341880a57d

Contents?: true

Size: 522 Bytes

Versions: 1

Compression:

Stored size: 522 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._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.12.1 lib/runbook/util/runbook.rb