cane-hashcheck 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c47adb3d6706afa10b570b5463aa1dd558f71b9c
4
- data.tar.gz: 0ce9c5a3192dda4666d823c0e6693b4a7cd63428
3
+ metadata.gz: 471602330607cb2c010871102bb8b1e0976f8016
4
+ data.tar.gz: bbe149977d4ffdf1a687a14eab430ce795631687
5
5
  SHA512:
6
- metadata.gz: 62556ca821047b33b9e047b3de3e22cf24e245db5d13cb1b32cbaf189736a131d83a418c68849d6a0725437e7f8a796c9706e1013fdf355054c5c54c8668f3ae
7
- data.tar.gz: ddae7ebec69215afee4be07ef7138dfb61eceae1891e44503e58ffbc0b02ca795446aa84ee2eae20b56562f542741d0ce2d99c0678450ce2ada3035c79937fb4
6
+ metadata.gz: 77db1bab7a24f90fefb95316be7ef472659d5ec246bffaebebbdd912df542aab385f8abe7d596c873fe5edf06420062ac01819b4405d4dc9b303c8cdee162012
7
+ data.tar.gz: e8703364ab7e7169b728a67d513467bb48172e18f36524fd69eec7180fb003686989dc0c74284f239efd0cc5215a162cacf9345f3d7887f7c4cc1c54d9494165
@@ -0,0 +1,29 @@
1
+ # Changelog
2
+
3
+ #v1.2.0
4
+ *2013-06-14*
5
+
6
+ [\[8 commits\]](https://github.com/chrishunt/cane-hashcheck/compare/v1.1.0...v1.2.0)
7
+
8
+ - Hash rockets without whitespace are invalid
9
+ - Hash rockets valid in namespaced rescue
10
+
11
+ ##v1.1.0
12
+ *2013-05-15*
13
+
14
+ [\[2 commits\]](https://github.com/chrishunt/cane-hashcheck/compare/v1.0.0...v1.1.0)
15
+
16
+ - Allow whitespace around hash rocket when valid
17
+
18
+ ##v1.0.0
19
+ *2013-05-15*
20
+
21
+ [\[7 commits\]](https://github.com/chrishunt/cane-hashcheck/compare/v0.9.0...v1.0.0)
22
+
23
+ - Allow hash rocket when key is double quoted
24
+ - Allow hash rockets when keys are Integers
25
+
26
+ ##v0.9.0
27
+ *2013-04-30*
28
+
29
+ - Initial release
@@ -0,0 +1,13 @@
1
+ # Contributing
2
+
3
+ Want to contribute? Awesome! Thank you so much.
4
+
5
+ ## How?
6
+
7
+ 1. [Fork it](https://help.github.com/articles/fork-a-repo)
8
+ 2. Create a feature branch (`git checkout -b my-new-feature`)
9
+ 3. Commit changes, **with tests** (`git commit -am 'Add some feature'`)
10
+ 4. Run the tests (`bundle exec rake`)
11
+ 5. Push to the branch (`git push origin my-new-feature`)
12
+ 6. Create new [Pull
13
+ Request](https://help.github.com/articles/using-pull-requests)
data/README.md CHANGED
@@ -75,10 +75,13 @@ See the [cane project](https://github.com/square/cane) for general usage
75
75
  instructions.
76
76
 
77
77
  ## Contributing
78
+ Please see the [Contributing
79
+ Document](https://github.com/chrishunt/cane-hashcheck/blob/master/CONTRIBUTING.md)
78
80
 
79
- 1. Fork it
80
- 2. Create your feature branch (`git checkout -b my-new-feature`)
81
- 3. Commit your changes, with tests (`git commit -am 'Add some feature'`)
82
- 4. Run the tests (`bundle exec rake`)
83
- 5. Push to the branch (`git push origin my-new-feature`)
84
- 6. Create new Pull Request
81
+ ## Changelog
82
+ Please see the [Changelog
83
+ Document](https://github.com/chrishunt/cane-hashcheck/blob/master/CHANGELOG.md)
84
+
85
+ ## License
86
+ Copyright (C) 2013 Chris Hunt, [MIT
87
+ License](https://github.com/chrishunt/cane-hashcheck/blob/master/LICENSE.txt)
@@ -1,6 +1,6 @@
1
+ # Creates violations for hashes using pre-Ruby 1.9 hash syntax. Hash rockets
2
+ # are allowed only if the key is a 'string' or CONSTANT.
1
3
  module Cane
2
- # Creates violations for hashes using pre-Ruby 1.9 hash syntax. Hash rockets
3
- # are allowed only if the key is a 'string' or CONSTANT.
4
4
  HashCheck = Struct.new(:options) do
5
5
 
6
6
  DESCRIPTION = 'Ruby 1.9 hash syntax violation'
@@ -49,11 +49,16 @@ module Cane
49
49
  end
50
50
 
51
51
  def invalid?(line)
52
- line =~ /([^'"A-Z\d\s])\s+=>\s+/
52
+ line =~ hash_rocket_regex
53
53
  end
54
54
 
55
55
  def file_names
56
56
  Dir[ options.fetch(:hash_glob){ DEFAULT_GLOB } ]
57
57
  end
58
+
59
+ # http://rubular.com/r/p8AoYTwOWO
60
+ def hash_rocket_regex
61
+ /(?:[^:]:\w+)\s*=>\s*/
62
+ end
58
63
  end
59
64
  end
@@ -1,5 +1,5 @@
1
1
  module Cane
2
2
  module Hashcheck
3
- VERSION = '1.1.0'
3
+ VERSION = '1.2.0'
4
4
  end
5
5
  end
@@ -22,17 +22,20 @@ describe Cane::HashCheck do
22
22
  :not => :valid,
23
23
  TOTALLY => :valid,
24
24
  LOTS_OF => :whitespace_is_valid,
25
- 18 => 1 # this is valid, hash rockets are required for ints
25
+ 18 =>, 1 # this is valid, hash rockets are required for ints
26
+ :no_whitespace=>:still_not_valid
26
27
  }
27
28
  {
28
29
  'also' => 'valid',
29
30
  "and also" => 'valid'
30
31
  }
32
+
33
+ rescue Foobar::Test => valid
31
34
  RUBY
32
35
  end
33
36
 
34
37
  it 'has a violation for each invalid hash rocket' do
35
- expect(subject.violations.count).to eq 2
38
+ expect(subject.violations.count).to eq 3
36
39
  end
37
40
 
38
41
  it 'puts the offending file name in the violation' do
@@ -44,6 +47,7 @@ describe Cane::HashCheck do
44
47
  it 'puts the offending line number in the violation' do
45
48
  expect(subject.violations[0][:line]).to eq 2
46
49
  expect(subject.violations[1][:line]).to eq 5
50
+ expect(subject.violations[2][:line]).to eq 9
47
51
  end
48
52
  end
49
53
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cane-hashcheck
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Hunt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-15 00:00:00.000000000 Z
11
+ date: 2013-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -74,6 +74,8 @@ extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
76
  - .gitignore
77
+ - CHANGELOG.md
78
+ - CONTRIBUTING.md
77
79
  - Gemfile
78
80
  - LICENSE.txt
79
81
  - README.md