Sha256: 16a1ee88d3833cb868c17f9c10446092adc71972a8496163c4d146b8017ddd17

Contents?: true

Size: 602 Bytes

Versions: 2

Compression:

Stored size: 602 Bytes

Contents

module Bunch
  class CoffeeNode
    include Caching

    def initialize(fn)
      unless defined?(@@coffee_required)
        require 'coffee-script'
        @@coffee_required = true
      end
      @filename = fn
    rescue LoadError
      raise "'gem install coffee-script' to compile .coffee files."
    end

    def content
      @content ||= fetch(@filename) { CoffeeScript.compile(File.read(@filename), :bare => false) }
    end

    def name
      File.basename(@filename, '.coffee')
    end

    def target_extension
      'js'
    end

    def inspect
      @filename.inspect
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bunch-0.0.6 lib/bunch/coffee_node.rb
bunch-0.0.5 lib/bunch/coffee_node.rb