jslint_on_rails 1.1 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ Version 1.1.1 (16.04.2012)
2
+
3
+ * fixed issue with jslint:copy_config task
4
+
1
5
  Version 1.1 (09.04.2012)
2
6
 
3
7
  * removed support for installing as a Rails plugin
@@ -37,7 +37,7 @@ module JSLint
37
37
 
38
38
  def run
39
39
  check_java
40
- Utils.xputs "Running JSLint:\n\n"
40
+ Utils.log "Running JSLint:\n\n"
41
41
  arguments = "#{JSLINT_FILE} #{option_string.inspect.gsub(/\$/, "\\$")} #{@file_list.join(' ')}"
42
42
  success = call_java_with_status(RHINO_JAR_FILE, RHINO_JAR_CLASS, arguments)
43
43
  raise LintCheckFailure, "JSLint test failed." unless success
@@ -3,27 +3,36 @@ require 'yaml'
3
3
 
4
4
  module JSLint
5
5
 
6
- VERSION = "1.1"
6
+ VERSION = "1.1.1"
7
7
  DEFAULT_CONFIG_FILE = File.expand_path(File.dirname(__FILE__) + "/config/jslint.yml")
8
8
 
9
9
  class << self
10
- attr_accessor :config_path
11
- end
10
+ attr_writer :config_path
12
11
 
13
- self.config_path = if defined?(Rails)
14
- File.join(Rails.root, 'config', 'jslint.yml')
15
- else
16
- 'config/jslint.yml'
12
+ def config_path
13
+ @config_path || JSLint::Utils.default_config_path
14
+ end
17
15
  end
18
16
 
19
17
  module Utils
20
18
  class << self
19
+ def in_rails?
20
+ defined?(Rails)
21
+ end
22
+
23
+ def default_config_path
24
+ if in_rails?
25
+ File.expand_path(File.join(Rails.root, 'config', 'jslint.yml'))
26
+ else
27
+ 'config/jslint.yml'
28
+ end
29
+ end
21
30
 
22
- def xprint(txt)
31
+ def display(txt)
23
32
  print txt
24
33
  end
25
34
 
26
- def xputs(txt)
35
+ def log(txt)
27
36
  puts txt
28
37
  end
29
38
 
@@ -55,14 +64,13 @@ module JSLint
55
64
  end
56
65
 
57
66
  def copy_config_file
58
- raise ArgumentError, "Please set JSLint.config_path" if JSLint.config_path.nil?
59
- xprint "Creating example JSLint config file in #{File.expand_path(JSLint.config_path)}... "
67
+ display "Creating example JSLint config file in #{File.expand_path(JSLint.config_path)}... "
60
68
  if File.exists?(JSLint.config_path)
61
- xputs "\n\nWarning: config file exists, so it won't be overwritten. " +
62
- "You can copy it manually from the jslint_on_rails directory if you want to reset it."
69
+ log "\n\nWarning: config file exists, so it won't be overwritten. " +
70
+ "You can copy it manually from the jslint_on_rails directory if you want to reset it."
63
71
  else
64
72
  FileUtils.copy(JSLint::DEFAULT_CONFIG_FILE, JSLint.config_path)
65
- xputs "done."
73
+ log "done."
66
74
  end
67
75
  end
68
76
  end
@@ -2,23 +2,7 @@ require 'jslint'
2
2
  require 'pp' # fix for fakefs/pp incompatibility in Ruby 1.9.3
3
3
  require 'fakefs'
4
4
 
5
- module JSLint::Utils
6
- # disable logging to stdout
7
- def self.xprint(x) ; end
8
- def self.xputs(x) ; end
9
- end
10
-
11
5
  module Rails
12
- class Railtie
13
- def self.rake_tasks
14
- end
15
- end
16
- end
17
-
18
- module FileUtils
19
- def copy(*args)
20
- cp(*args)
21
- end
22
6
  end
23
7
 
24
8
  module FakeFS
@@ -42,4 +26,10 @@ end
42
26
 
43
27
  RSpec.configure do |config|
44
28
  config.include SpecHelper
29
+
30
+ config.before do
31
+ # disable logging to stdout
32
+ JSLint::Utils.stub(:display)
33
+ JSLint::Utils.stub(:log)
34
+ end
45
35
  end
@@ -8,9 +8,41 @@ describe JSLint::Utils do
8
8
  create_config "default config file"
9
9
  end
10
10
 
11
- it "should have a config_path setting" do
12
- JSLint.config_path = 'some/path'
13
- JSLint.config_path.should == 'some/path'
11
+ describe ".config_path" do
12
+ context "if config path is set explicitly" do
13
+ let(:path) { 'some/path' }
14
+
15
+ before { JSLint.config_path = path }
16
+
17
+ it "should return the path that was set" do
18
+ JSLint.config_path.should == path
19
+ end
20
+ end
21
+
22
+ context "if config path is not set" do
23
+ before { JSLint.config_path = nil }
24
+
25
+ context "if JSLint is run within Rails" do
26
+ before do
27
+ JSLint::Utils.stub(:in_rails? => true)
28
+ Rails.stub(:root => '/dir')
29
+ end
30
+
31
+ it "should return config/jslint.yml in Rails project directory" do
32
+ JSLint.config_path.should == '/dir/config/jslint.yml'
33
+ end
34
+ end
35
+
36
+ context "if JSLint is not run within Rails" do
37
+ before do
38
+ JSLint::Utils.stub(:in_rails? => false)
39
+ end
40
+
41
+ it "should return config/jslint.yml in current directory" do
42
+ JSLint.config_path.should == 'config/jslint.yml'
43
+ end
44
+ end
45
+ end
14
46
  end
15
47
 
16
48
  describe "paths_from_command_line" do
@@ -90,11 +122,6 @@ describe JSLint::Utils do
90
122
  end
91
123
 
92
124
  describe "copy_config_file" do
93
- it "throw an error if config path isn't set" do
94
- JSLint.config_path = nil
95
- lambda { JSLint::Utils.copy_config_file }.should raise_error(ArgumentError)
96
- end
97
-
98
125
  it "should copy default config to config_path" do
99
126
  JSLint.config_path = "newfile.yml"
100
127
  FileUtils.should_receive(:copy).with(JSLint::DEFAULT_CONFIG_FILE, "newfile.yml")
metadata CHANGED
@@ -1,22 +1,32 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jslint_on_rails
3
- version: !ruby/object:Gem::Version
4
- version: '1.1'
3
+ version: !ruby/object:Gem::Version
4
+ hash: 17
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 1
9
+ - 1
10
+ version: 1.1.1
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Jakub Suder
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-04-09 00:00:00.000000000Z
17
+
18
+ date: 2012-04-16 00:00:00 Z
13
19
  dependencies: []
20
+
14
21
  description:
15
22
  email: jakub.suder@gmail.com
16
23
  executables: []
24
+
17
25
  extensions: []
26
+
18
27
  extra_rdoc_files: []
19
- files:
28
+
29
+ files:
20
30
  - MIT-LICENSE
21
31
  - README.markdown
22
32
  - Changelog.markdown
@@ -40,27 +50,36 @@ files:
40
50
  - spec/utils_spec.rb
41
51
  homepage: http://github.com/psionides/jslint_on_rails
42
52
  licenses: []
53
+
43
54
  post_install_message:
44
55
  rdoc_options: []
45
- require_paths:
56
+
57
+ require_paths:
46
58
  - lib
47
- required_ruby_version: !ruby/object:Gem::Requirement
59
+ required_ruby_version: !ruby/object:Gem::Requirement
48
60
  none: false
49
- requirements:
50
- - - ! '>='
51
- - !ruby/object:Gem::Version
52
- version: '0'
53
- required_rubygems_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ hash: 3
65
+ segments:
66
+ - 0
67
+ version: "0"
68
+ required_rubygems_version: !ruby/object:Gem::Requirement
54
69
  none: false
55
- requirements:
56
- - - ! '>='
57
- - !ruby/object:Gem::Version
58
- version: '0'
59
- requirements:
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ hash: 3
74
+ segments:
75
+ - 0
76
+ version: "0"
77
+ requirements:
60
78
  - Java JRE (5.0 or later)
61
79
  rubyforge_project:
62
- rubygems_version: 1.8.10
80
+ rubygems_version: 1.8.18
63
81
  signing_key:
64
82
  specification_version: 3
65
83
  summary: JSLint JavaScript checker wrapped in a Ruby gem for easier use
66
84
  test_files: []
85
+