Sha256: cbaa2bf9821db07579ee6725c1b393b3198f9180169228684ab6eeb31bd7c472

Contents?: true

Size: 896 Bytes

Versions: 2

Compression:

Stored size: 896 Bytes

Contents

require 'rubygems'
require 'haml'
require 'haml/exec'

module Bind
  module Actions
    class RefreshBrowsersHaml
      
      attr_accessor :browsers, :uri
      
      def initialize uri, dest, *browsers
        @uri, @dest, @browsers = uri, File.expand_path(dest), browsers
      end
      
      def call file
        build_haml file if haml? file
        build_sass file if sass? file
        @browsers.each { |browser| `open -g -a #{browser} #{uri}` } 
      end
      
      def build_haml file
        `haml #{ file.path } #{ File.join(@dest, file.path.sub('.haml', '.html')) }`
      end
      
      def build_sass file
        `sass #{ file.path } #{ File.join(@dest, file.path.sub('.sass', '.css')) }`
      end
      
      def haml? file
        file.path.include? '.haml'
      end
      
      def sass? file
        file.path.include? '.sass'
      end
      
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
visionmedia-bind-0.0.9 lib/bind/actions/refresh_browsers_haml.rb
visionmedia-bind-0.1.0 lib/bind/actions/refresh_browsers_haml.rb