Sha256: 7c790a5072cb0ae794f691bf54f9f7519563853d323e94309bcab72ea1bcc2a9

Contents?: true

Size: 756 Bytes

Versions: 4

Compression:

Stored size: 756 Bytes

Contents

require 'forwardable'
require 'mustache'

module Useless
  module Doc
    module UI
      def self.included(base)
        base.instance_eval do
          extend ClassMethods
          self.template_file = dir + 'template.mustache'

          extend Forwardable
          def_delegators :@resource, :path, :description, :actions
        end
      end

      module ClassMethods
        def html(resource)
          new(resource).render
        end

        def css
          File.read(dir + 'stylesheet.css')
        end

        def dir
          key = Mustache.underscore(name.split('::').last)
          File.dirname(__FILE__) + "/ui/#{key}/"
        end
      end

      def initialize(resource)
        @resource = resource
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
useless-doc-0.1.3 lib/useless/doc/ui.rb
useless-doc-0.1.2 lib/useless/doc/ui.rb
useless-doc-0.1.1 lib/useless/doc/ui.rb
useless-doc-0.1.0 lib/useless/doc/ui.rb