Permalink
Browse files

Merge pull request #28 from zspencer/master

Fixed defect with using the Rake Task without having Rails installed
  • Loading branch information...
johnbintz committed Jun 28, 2011
2 parents c67f8db + 3b214f9 commit 96e071aa372ebffe092ea04b25ac936dd34f04fd
Showing with 41 additions and 8 deletions.
  1. +11 −8 lib/jasmine/headless/task.rb
  2. +30 −0 spec/lib/jasmine/headless/task_spec.rb
@@ -42,15 +42,18 @@ def initialize(name = 'jasmine:headless')
:jasmine_config => @jasmine_config
)
end
-
- if Rails.version >= "3.1.0"
- desc 'Force generate static assets without an MD5 hash, all assets end with -test.<ext>'
- task 'assets:precompile:for_testing' => :environment do
- Rails.application.assets.digest_class = Digest::JasmineTest
-
- Rake::Task['assets:precompile'].invoke
+ create_rails_compliant_task if defined?(Rails)
+ end
+ private
+ def create_rails_compliant_task
+ if Rails.version >= "3.1.0"
+ desc 'Force generate static assets without an MD5 hash, all assets end with -test.<ext>'
+ task 'assets:precompile:for_testing' => :environment do
+ Rails.application.assets.digest_class = Digest::JasmineTest
+
+ Rake::Task['assets:precompile'].invoke
+ end
end
- end
end
end
end
@@ -0,0 +1,30 @@
+require 'spec_helper'
+require 'fakefs/spec_helpers'
+require 'jasmine/headless/task'
+
+module Jasmine
+ module Headless
+ class Task
+ def desc(block)
+ end
+ def task(block)
+ end
+ end
+ end
+end
+describe Jasmine::Headless::Task do
+ it 'should not explode when Rails is undefined' do
+ Object.send(:remove_const, :Rails) if defined?(Rails)
+ Jasmine::Headless::Task.new('jasmine:headless') do |t|
+ end
+ end
+ it 'should be OK if rails is defined' do
+ module Rails
+ def self.version
+ return "0"
+ end
+ end
+ Jasmine::Headless::Task.new('jasmine:headless') do |t|
+ end
+ end
+end

0 comments on commit 96e071a

Please sign in to comment.