Sha256: 7f515809734aacd906af8892c300ea0ea8f3963ddda48a70736202b616ea2b22

Contents?: true

Size: 960 Bytes

Versions: 2

Compression:

Stored size: 960 Bytes

Contents

class String
  def to_class
    chain = self.split "::"
    klass = Kernel
    chain.each do |klass_string|
      klass = klass.const_get klass_string.capitalize
    end
    klass.is_a?(Class) ? klass : nil
  rescue NameError
    nil
  end
end

class Array
  def stringify_ids
    self.collect do |e|
      if e['_id']
        e['id'] = e['_id'].to_s
        e.delete('_id')
      end
      if e[:_id]
        e['id'] = e[:_id].to_s
        e.delete(:_id)
      end
      e
    end
  end
end

module Ki
  module Helpers
    include ViewHelper

    def css url
      render_haml "%link{:href => '#{url}', :rel => 'stylesheet'}"
    end

    def js url
      render_haml "%script{:src => '#{url}'}"
    end

    def render_haml s
      Haml::Engine.new(s).render
    end

    def partial s
      path = view_path(s)
      if File.file?(path)
        render_haml(File.read(path))
      else
        raise PartialNotFoundError.new path
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ki-0.4.2 lib/ki/helpers.rb
ki-0.4.1 lib/ki/helpers.rb