cane-hashcheck 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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