class Raptest::Asset
Attributes
pathname[RW]
Public Class Methods
new(pathname)
click to toggle source
# File lib/raptest/asset.rb, line 12 def initialize(pathname) @pathname = pathname end
Public Instance Methods
coffee?()
click to toggle source
# File lib/raptest/asset.rb, line 24 def coffee? pathname =~ /\.coffee\b/ end
css?()
click to toggle source
# File lib/raptest/asset.rb, line 20 def css? pathname =~ /\.css\b/ end
erb?()
click to toggle source
# File lib/raptest/asset.rb, line 36 def erb? coffee? || pathname =~ /\.erb\b/ end
js?()
click to toggle source
# File lib/raptest/asset.rb, line 16 def js? pathname =~ /\.js\b/ end
result()
click to toggle source
# File lib/raptest/asset.rb, line 44 def result @result end
sass?()
click to toggle source
# File lib/raptest/asset.rb, line 32 def sass? pathname =~ /\.sass\b/ end
scss?()
click to toggle source
# File lib/raptest/asset.rb, line 28 def scss? pathname =~ /\.scss\b/ end
source()
click to toggle source
# File lib/raptest/asset.rb, line 40 def source @source ||= File.read(pathname) end
test!()
click to toggle source
# File lib/raptest/asset.rb, line 48 def test! reset! begin erb! if erb? if js? coffee! if coffee? uglify! elsif css? minify! end rescue Exception => e raise ::Raptest::TestError.new(@component, pathname, e.message) end end
Protected Instance Methods
coffee!()
click to toggle source
# File lib/raptest/asset.rb, line 73 def coffee! @component = "Coffeescript" @result = CoffeeScript.compile( @result ) end
erb!()
click to toggle source
# File lib/raptest/asset.rb, line 67 def erb! @component = "Erb" view = ActionView::Base.new(ActionController::Base.view_paths, {}) @result = view.render( :inline => @result ) end
minify!()
click to toggle source
# File lib/raptest/asset.rb, line 83 def minify! @component = "Sass Compiler/Minifier" @result = ::Sass::Engine.new(@result, { :syntax => :scss, :cache => false, :read_cache => false, :style => :compressed }).render end
uglify!()
click to toggle source
# File lib/raptest/asset.rb, line 78 def uglify! @component = "UglifyJs" @result = Uglifier.compile( @result ) end
Private Instance Methods
reset!()
click to toggle source
# File lib/raptest/asset.rb, line 95 def reset! @component = nil @result = source end