Sha256: 50a1e6a43a6f8ba4529296fdfd7734945834b4a70612043166b0857e80510f0b

Contents?: true

Size: 573 Bytes

Versions: 9

Compression:

Stored size: 573 Bytes

Contents

module Runbook
  module View
    def self.included(base)
      base.extend(ClassMethods)
    end

    module ClassMethods
      include Runbook::Hooks

      def render(object, output, metadata)
        method = _method_name(object)
        if respond_to?(method)
          send(method, object, output, metadata)
        else
          $stderr.puts("WARNING! No render rule for #{object.class} (#{_method_name(object)}) in #{self.to_s}")
        end
      end

      def _method_name(object)
        object.class.to_s.underscore.gsub("/", "__")
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
careacademy-runbook-1.2.0 lib/runbook/view.rb
runbook-1.1.0 lib/runbook/view.rb
runbook-1.0.0 lib/runbook/view.rb
runbook-0.16.1 lib/runbook/view.rb
runbook-0.16.0 lib/runbook/view.rb
runbook-0.15.0 lib/runbook/view.rb
runbook-0.14.0 lib/runbook/view.rb
runbook-0.13.0 lib/runbook/view.rb
runbook-0.12.1 lib/runbook/view.rb