yamllint 0.0.3 → 0.0.4

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: e2385493452cd1aa83778ef91e6190cf579f6dba
4
- data.tar.gz: 8a1e10518d95ab9ac3b488d7ba8c2f3c8bce0845
3
+ metadata.gz: ae94dc3781c210160d5a36ddf4cd43cf0b8e947b
4
+ data.tar.gz: 4839ef892b6b0bab25e695c50bf49db96b619cc1
5
5
  SHA512:
6
- metadata.gz: 452d3f5093087b39915225f094c34956ff6d491d85630feefdcc7b8fe1ecc4ca3cac21dc5da27c7b47d2e2e04ff5f7ece0f02e1e55e011d7a522e5f736f58438
7
- data.tar.gz: 95facbf3993b0267735f64e90b975d9dca09096c10b72245647aa259e538663c654495f008464fd52609da5ab0917ffd46a335ee7e48a1845a8409f36c8ecf7d
6
+ metadata.gz: 133c438fb631b7dae2ba2d3fdce58146969815ea5dd96f04fb851a05142a7f7e839f2fe309403d9ea0219bb1797ff9b7984a46b8bdfbf6a1cc903ee8c7c59e46
7
+ data.tar.gz: d9f60cc006b7474918156553868d32d166cfe00bdacc80a7e3ebc08489499084bc0f4bef3e73b839c94c9f108ab72fdf49a57555dc1731f5faf244105b3e4656
data/.coveralls.yml ADDED
@@ -0,0 +1 @@
1
+ service_name: travis-ci
data/.travis.yml CHANGED
@@ -1,6 +1,10 @@
1
1
  language: ruby
2
+ cache: bundler
2
3
  rvm:
3
4
  - 1.9.3
4
5
  - 2.0.0
5
6
  - 2.1.5
6
7
  - 2.2.0
8
+ branches:
9
+ only:
10
+ - master
data/CHANGELOG.md CHANGED
@@ -2,17 +2,23 @@ YamlLint gem CHANGELOG
2
2
  ======================
3
3
  This file is used to list changes made in each version of the YamlLint gem.
4
4
 
5
+ v0.0.4 (????-??-??)
6
+ -------------------
7
+ - Clean up code by extracting out complex_type_start
8
+ - Extract out valid extensions to an array
9
+ - Allow disabling of the file extension check
10
+ - Allow custom file extensions
11
+
5
12
  v0.0.3 (2015-01-15)
6
13
  -------------------
7
14
  - **[ISSUE #1](https://github.com/shortdudey123/yamllint/issues/1)** - Add more verbose output
8
- - **[ISSUE #2](https://github.com/shortdudey123/yamllint/issues/2)** - Add file extention verification
15
+ - **[ISSUE #2](https://github.com/shortdudey123/yamllint/issues/2)** - Add file extension verification
9
16
  - add fail_on_error option to rake task
10
17
 
11
18
  v0.0.2 (2015-01-15)
12
19
  -------------------
13
20
  - Fix rake_task filename
14
21
 
15
-
16
22
  v0.0.1 (2015-01-15)
17
23
  -------------------
18
24
  - Initial gem publish
data/README.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  [![Build Status](https://travis-ci.org/shortdudey123/yamllint.svg?branch=master)](https://travis-ci.org/shortdudey123/yamllint)
4
4
  [![Gem Version](http://img.shields.io/gem/v/yamllint.svg)](https://rubygems.org/gems/yamllint)
5
+ [![Coverage Status](https://img.shields.io/coveralls/shortdudey123/yamllint/master.svg)](https://coveralls.io/r/shortdudey123/yamllint?branch=master)
6
+ [![Code Climate](https://codeclimate.com/github/shortdudey123/yamllint/badges/gpa.svg)](https://codeclimate.com/github/shortdudey123/yamllint)
7
+ [![Dependency Status](https://img.shields.io/gemnasium/shortdudey123/yamllint.svg)](https://gemnasium.com/shortdudey123/yamllint)
5
8
 
6
9
  Checks YAML files for correct syntax. Currently it checks for:
7
10
 
@@ -49,6 +52,15 @@ spec/data/spaces.yaml
49
52
  $
50
53
  ```
51
54
 
55
+ #### CLI options
56
+
57
+ | Short | Long | Description | Default |
58
+ | ------------- | ------------- | ------------- | ------------- |
59
+ | `-d` | `--disable-ext-check` | Disable file extension check | `false` |
60
+ | `-e` | `--extensions=` | Add more allowed extensions (comma delimited list) | `nil` |
61
+ | `-v` | `--version` | Print version and exit | `false` |
62
+ | `-h` | `--help` | Show help message | `false` |
63
+
52
64
  ### Rake task
53
65
 
54
66
  You can integrate yamllint into your build process by adding a Rake task to your project
@@ -81,7 +93,16 @@ spec/data/spaces.yaml
81
93
  $
82
94
  ```
83
95
 
84
- Optionally add `t.fail_on_error = false` in the Rakefile definition to continue on to the next rake task even if YamlLint finds errors.
96
+ #### Rake task options
97
+
98
+ Add these options similarly to the path option seen above.
99
+
100
+ | Option | Description | Default |
101
+ | ------------- | ------------- | ------------- | ------------- |
102
+ | `disable_ext_check` | Disable file extension check | `false` |
103
+ | `extensions` | Add more allowed extensions (list)| `nil` |
104
+ | `fail_on_error` | Continue on to the next rake task and don't fail even if YamlLint finds errors | `true` |
105
+ | `path` | List of files or paths to lint | `nil` |
85
106
 
86
107
  ## Contributing
87
108
 
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rubocop/rake_task'
3
-
4
3
  require 'rspec/core/rake_task'
4
+ require 'yamllint/rake_task'
5
5
 
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
@@ -12,8 +12,24 @@ end
12
12
 
13
13
  desc 'rubocop compliancy checks'
14
14
  RuboCop::RakeTask.new(:rubocop) do |t|
15
- t.patterns = %w{ **/*.rb }
16
- t.fail_on_error = false
15
+ t.patterns = %w{ lib/**/*.rb lib/*.rb spec/*.rb }
16
+ end
17
+
18
+ desc 'yamllint rake test'
19
+ YamlLint::RakeTask.new do |t|
20
+ t.paths = %w{ spec/data/valid* }
21
+ end
22
+
23
+ desc 'yamllint rake test disabled file ext check'
24
+ YamlLint::RakeTask.new(:yamlling_disable_ext_check) do |t|
25
+ t.paths = %w{ spec/data/wrong_extension.txt }
26
+ t.disable_ext_check = true
27
+ end
28
+
29
+ desc 'yamllint rake test disabled file ext check'
30
+ YamlLint::RakeTask.new(:yamlling_custom_ext) do |t|
31
+ t.paths = %w{ spec/data/custom_extension.eyaml }
32
+ t.extensions = %w{ eyaml }
17
33
  end
18
34
 
19
- task default: [:rubocop, :spec]
35
+ task default: [:rubocop, :yamllint, :yamlling_disable_ext_check, :yamlling_custom_ext, :spec]
data/lib/yamllint/cli.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'trollop'
2
+ require 'pry'
2
3
 
3
4
  module YamlLint
4
5
  ###
@@ -7,19 +8,20 @@ module YamlLint
7
8
  class CLI
8
9
  attr_reader :opts
9
10
 
11
+ # setup CLI options
10
12
  def initialize(argv, stdin = STDIN, stdout = STDOUT, stderr = STDERR,
11
13
  kernel = Kernel)
12
14
  @argv, @stdin, @stdout, @stderr, @kernel = argv, stdin, stdout,
13
15
  stderr, kernel
14
16
  end
15
17
 
18
+ # Run the CLI command
16
19
  def execute!
17
- parse_options
20
+ files_to_check = parse_options.leftovers
18
21
 
19
- files_to_check = @argv
20
-
21
- no_yamls_to_check_msg = 'nead at least one YAML file to check'
22
- Trollop.die no_yamls_to_check_msg if files_to_check.empty?
22
+ no_yamls_to_check_msg = "Error: need at least one YAML file to check.\n"\
23
+ 'Try --help for help.'
24
+ abort(no_yamls_to_check_msg) if files_to_check.empty?
23
25
  lint(files_to_check)
24
26
  end
25
27
 
@@ -40,7 +42,10 @@ module YamlLint
40
42
  end
41
43
 
42
44
  def lint_files(files_to_check)
43
- linter = YamlLint::Linter.new
45
+ ext = opts.extensions.split(',') unless opts.extensions.nil?
46
+ linter = YamlLint::Linter.new(disable_ext_check: opts.disable_ext_check,
47
+ extensions: ext
48
+ )
44
49
  begin
45
50
  puts "Checking #{files_to_check.flatten.length} files"
46
51
  linter.check_all(files_to_check)
@@ -64,14 +69,27 @@ module YamlLint
64
69
  linter
65
70
  end
66
71
 
67
- def parse_options
68
- @opts = Trollop.options(@argv) do
72
+ def setup_options
73
+ Trollop::Parser.new do
69
74
  banner 'Usage: yamllint [options] file1.yaml [file2.yaml ...]'
70
75
  version(YamlLint::VERSION)
71
76
 
72
77
  banner ''
73
78
  banner 'Options:'
79
+ opt :disable_ext_check, 'Disable file extension check', default: false
80
+ opt :extensions, 'Add more allowed extensions (comma delimited list)',
81
+ type: :string
74
82
  end
75
83
  end
84
+
85
+ def parse_options
86
+ p = setup_options
87
+
88
+ @opts = Trollop.with_standard_exception_handling p do
89
+ p.parse(@argv)
90
+ end
91
+
92
+ p
93
+ end
76
94
  end
77
95
  end
@@ -9,22 +9,38 @@ module YamlLint
9
9
  #
10
10
  class Linter
11
11
  attr_reader :errors
12
-
13
- def initialize
12
+ attr_reader :valid_extensions
13
+ attr_reader :disable_extension_check
14
+ attr_reader :extensions
15
+
16
+ # Initilize the linter
17
+ # Params:
18
+ # +disable_ext_check+:: Disables file extension check (optional, false)
19
+ def initialize(opts = {})
14
20
  @errors = {}
21
+ @valid_extensions = %w(yaml yml)
22
+
23
+ @disable_extension_check = opts[:disable_ext_check] || false
24
+ @extensions = opts[:extensions]
25
+
26
+ @valid_extensions += @extensions unless @extensions.nil?
15
27
  end
16
28
 
29
+ # Check a list of files
17
30
  def check_all(*files_to_check)
18
31
  files_to_check.flatten.each { |f| check(f) }
19
32
  end
20
33
 
34
+ # Check a single file
21
35
  def check(path)
22
36
  fail FileNotFoundError, "#{path}: no such file" unless File.exist?(path)
23
37
 
24
38
  valid = false
25
- unless check_filename(path)
26
- errors[path] = ['File extention must be .yaml or .yml']
27
- return valid
39
+ unless disable_extension_check
40
+ unless check_filename(path)
41
+ errors[path] = ['File extension must be .yaml or .yml']
42
+ return valid
43
+ end
28
44
  end
29
45
 
30
46
  File.open(path, 'r') do |f|
@@ -36,6 +52,7 @@ module YamlLint
36
52
  valid
37
53
  end
38
54
 
55
+ # Check an IO stream
39
56
  def check_stream(io_stream)
40
57
  yaml_data = io_stream.read
41
58
  error_array = []
@@ -46,14 +63,17 @@ module YamlLint
46
63
  valid
47
64
  end
48
65
 
66
+ # Are there any lint errors found?
49
67
  def errors?
50
68
  !errors.empty?
51
69
  end
52
70
 
71
+ # Return the number of lint errors found
53
72
  def errors_count
54
73
  errors.length
55
74
  end
56
75
 
76
+ # Output the lint errors
57
77
  def display_errors
58
78
  errors.each do |path, errors|
59
79
  puts path
@@ -65,21 +85,24 @@ module YamlLint
65
85
 
66
86
  private
67
87
 
88
+ # Check file extension
68
89
  def check_filename(filename)
69
- extention = filename.split('.').last
70
- return true if extention == 'yaml' || extention == 'yml'
90
+ extension = filename.split('.').last
91
+ return true if valid_extensions.include?(extension)
71
92
  false
72
93
  end
73
94
 
95
+ # Check the data in the file or stream
74
96
  def check_data(yaml_data, errors_array)
75
- valid = check_not_empty(yaml_data, errors_array)
76
- valid &&= check_syntax_valid(yaml_data, errors_array)
77
- valid &&= check_overlapping_keys(yaml_data, errors_array)
97
+ valid = check_not_empty?(yaml_data, errors_array)
98
+ valid &&= check_syntax_valid?(yaml_data, errors_array)
99
+ valid &&= check_overlapping_keys?(yaml_data, errors_array)
78
100
 
79
101
  valid
80
102
  end
81
103
 
82
- def check_not_empty(yaml_data, errors_array)
104
+ # Check that the data is not empty
105
+ def check_not_empty?(yaml_data, errors_array)
83
106
  if yaml_data.empty?
84
107
  errors_array << 'The YAML should not be an empty string'
85
108
  false
@@ -91,15 +114,13 @@ module YamlLint
91
114
  end
92
115
  end
93
116
 
94
- def check_syntax_valid(yaml_data, errors_array)
117
+ # Check that the data is valid YAML
118
+ def check_syntax_valid?(yaml_data, errors_array)
95
119
  YAML.load(yaml_data)
96
120
  true
97
121
  rescue YAML::SyntaxError => e
98
122
  errors_array << e.message
99
123
  false
100
- rescue YAML::ParseError => e
101
- errors_array << e.message
102
- false
103
124
  end
104
125
 
105
126
  ###
@@ -108,6 +129,7 @@ module YamlLint
108
129
  class KeyOverlapDetector
109
130
  attr_reader :overlapping_keys
110
131
 
132
+ # Setup class variables
111
133
  def initialize
112
134
  @seen_keys = Set.new
113
135
  @key_components = []
@@ -117,6 +139,7 @@ module YamlLint
117
139
  @array_positions = []
118
140
  end
119
141
 
142
+ # Get the data and send it off for duplicate key validation
120
143
  def parse(psych_parse_data)
121
144
  data_start = psych_parse_data.handler.root.children[0].children[0]
122
145
  hash_start('')
@@ -126,6 +149,7 @@ module YamlLint
126
149
 
127
150
  private
128
151
 
152
+ # Recusively check for duplicate keys
129
153
  def parse_recurse(psych_parse_data, is_sequence = false)
130
154
  is_key = false
131
155
  psych_parse_data.children.each do |n|
@@ -151,27 +175,21 @@ module YamlLint
151
175
  hash_end(@last_key.last)
152
176
  is_key = false
153
177
  @last_key.pop
154
- else
155
- YamlLint.logger.debug { "Unknown (#{n.class})" }
156
178
  end
157
179
  end
158
180
  end
159
181
 
182
+ # Setup a new hash
160
183
  def hash_start(key)
161
184
  YamlLint.logger.debug { "hash_start: #{key.inspect}" }
162
185
 
163
- case @complex_type.last
164
- when :hash
165
- @key_components.push(key)
166
- when :array
167
- @key_components.push(@array_positions.last)
168
- @array_positions[-1] += 1
169
- end
186
+ complex_type_start(key)
170
187
 
171
188
  @complex_type.push(:hash)
172
189
  check_for_overlap!
173
190
  end
174
191
 
192
+ # Tear down a hash
175
193
  def hash_end(key)
176
194
  YamlLint.logger.debug { "hash_end: #{key.inspect}" }
177
195
 
@@ -179,22 +197,18 @@ module YamlLint
179
197
  @complex_type.pop
180
198
  end
181
199
 
200
+ # Setup a new array
182
201
  def array_start(key)
183
202
  YamlLint.logger.debug { "array_start: #{key.inspect}" }
184
203
 
185
- case @complex_type.last
186
- when :hash
187
- @key_components.push(key)
188
- when :array
189
- @key_components.push(@array_positions.last)
190
- @array_positions[-1] += 1
191
- end
204
+ complex_type_start(key)
192
205
 
193
206
  @complex_type.push(:array)
194
207
  @array_positions.push(0)
195
208
  check_for_overlap!
196
209
  end
197
210
 
211
+ # Tear down the array
198
212
  def array_end(key)
199
213
  YamlLint.logger.debug { "array_end: #{key.inspect}" }
200
214
 
@@ -203,6 +217,7 @@ module YamlLint
203
217
  @array_positions.pop
204
218
  end
205
219
 
220
+ # Add a key / value pair
206
221
  def add_value(value, key)
207
222
  YamlLint.logger.debug { "add_value: #{value.inspect}, #{key.inspect}" }
208
223
 
@@ -219,6 +234,7 @@ module YamlLint
219
234
  end
220
235
  end
221
236
 
237
+ # Check for key overlap
222
238
  def check_for_overlap!
223
239
  full_key = @key_components.dup
224
240
  YamlLint.logger.debug { "Checking #{full_key.join('.')} for overlap" }
@@ -227,9 +243,21 @@ module YamlLint
227
243
  YamlLint.logger.debug { "Overlapping key #{full_key.join('.')}" }
228
244
  @overlapping_keys << full_key
229
245
  end
246
+
247
+ # Setup common hash and array elements
248
+ def complex_type_start(key)
249
+ case @complex_type.last
250
+ when :hash
251
+ @key_components.push(key)
252
+ when :array
253
+ @key_components.push(@array_positions.last)
254
+ @array_positions[-1] += 1
255
+ end
256
+ end
230
257
  end
231
258
 
232
- def check_overlapping_keys(yaml_data, errors_array)
259
+ # Check if there is overlapping key
260
+ def check_overlapping_keys?(yaml_data, errors_array)
233
261
  overlap_detector = KeyOverlapDetector.new
234
262
  data = Psych.parser.parse(yaml_data)
235
263
 
@@ -11,10 +11,14 @@ module YamlLint
11
11
  attr_accessor :name
12
12
  attr_accessor :paths
13
13
  attr_accessor :fail_on_error
14
+ attr_accessor :disable_ext_check
15
+ attr_accessor :extensions
14
16
 
15
17
  def initialize(name = :yamllint)
16
18
  @name = name
17
19
  @fail_on_error = true
20
+ @disable_ext_check = false
21
+ @extensions = nil
18
22
 
19
23
  yield self if block_given?
20
24
 
@@ -23,6 +27,7 @@ module YamlLint
23
27
 
24
28
  private
25
29
 
30
+ # Rake task
26
31
  def define_task
27
32
  desc 'Run yamllint' unless ::Rake.application.last_comment
28
33
 
@@ -33,7 +38,8 @@ module YamlLint
33
38
 
34
39
  puts "Checking #{files_to_check.flatten.length} files"
35
40
 
36
- linter = ::YamlLint::Linter.new
41
+ linter = ::YamlLint::Linter.new(disable_ext_check: disable_ext_check,
42
+ extensions: extensions)
37
43
  linter.check_all(files_to_check)
38
44
 
39
45
  if linter.errors?
@@ -1,7 +1,6 @@
1
1
  ###
2
- # = Overview
3
2
  #
4
- # Contains YamlLint version number
3
+ # YamlLint checks YAML files for correct syntax
5
4
  module YamlLint
6
- VERSION = '0.0.3'
5
+ VERSION = '0.0.4'
7
6
  end
data/lib/yamllint.rb CHANGED
@@ -4,7 +4,6 @@ require 'yamllint/version'
4
4
  require 'yamllint/linter'
5
5
 
6
6
  ###
7
- # = Overview
8
7
  #
9
8
  # YamlLint checks YAML files for correct syntax
10
9
  module YamlLint
data/spec/cli_spec.rb CHANGED
@@ -41,9 +41,19 @@ describe 'yamllint' do
41
41
  assert_failing_with('no such file')
42
42
  end
43
43
 
44
- it 'should fail with an invalid YAML file extention' do
45
- yamllint spec_data('wrong_extention.txt')
46
- assert_failing_with('File extention must be .yaml or .yml')
44
+ it 'should fail with an invalid YAML file extension' do
45
+ yamllint spec_data('wrong_extension.txt')
46
+ assert_failing_with('File extension must be .yaml or .yml')
47
+ end
48
+
49
+ it 'should pass with invalid file extension and extension check disabled' do
50
+ yamllint "-d #{spec_data('wrong_extension.txt')}"
51
+ assert_success(true)
52
+ end
53
+
54
+ it 'should pass with custom extension' do
55
+ yamllint "-e eyaml #{spec_data('custom_extension.eyaml')}"
56
+ assert_success(true)
47
57
  end
48
58
 
49
59
  it 'should fail with a path that is unreadable' do
@@ -0,0 +1,2 @@
1
+ ---
2
+ foo: bar
@@ -0,0 +1,22 @@
1
+ ---
2
+ foo: bar
3
+ my_array:
4
+ - 1
5
+ - 2
6
+ - 3
7
+ my_hash:
8
+ foo1: bar1
9
+ foo2: bar2
10
+ foo3: bar3
11
+ foo4:
12
+ - bar
13
+ - bar2:
14
+ - biz
15
+ - baz
16
+ foo5:
17
+ - bar
18
+ - - foo
19
+ - bar2:
20
+ - biz
21
+ - baz: 1
22
+ buzz: 2
@@ -0,0 +1,2 @@
1
+ ---
2
+ foo: bar
data/spec/linter_spec.rb CHANGED
@@ -4,6 +4,10 @@ require 'yamllint/linter'
4
4
  describe 'YamlLint::Linter' do
5
5
  let(:linter) { YamlLint::Linter.new }
6
6
 
7
+ before do
8
+ allow(linter).to receive(:puts)
9
+ end
10
+
7
11
  it 'should throw an exception if given a bogus path' do
8
12
  expect { linter.check('/does/not/exist') }.to raise_error
9
13
  end
@@ -11,10 +15,33 @@ describe 'YamlLint::Linter' do
11
15
  it 'should be happy with a valid YAML file' do
12
16
  expect(linter.check(spec_data('valid.yaml'))).to be(true)
13
17
  expect(linter.check(spec_data('valid_complex.yaml'))).to be(true)
18
+ expect(linter.check(spec_data('valid_very_complex.yaml'))).to be(true)
19
+ end
20
+
21
+ it 'should have 0 error count with a valid YAML file' do
22
+ linter.check(spec_data('valid.yaml'))
23
+ expect(linter.errors_count).to eq(0)
24
+ end
25
+
26
+ it 'should have 1 error count with a empty YAML file' do
27
+ linter.check(spec_data('empty.yaml'))
28
+ expect(linter.errors_count).to eq(1)
29
+ end
30
+
31
+ it 'should display errors for empty YAML file' do
32
+ linter.check(spec_data('empty.yaml'))
33
+ error_array = linter.display_errors
34
+ error_array_expected = ['The YAML should not be an empty string']
35
+ expect(error_array.first[1]).to eq(error_array_expected)
36
+ end
37
+
38
+ it 'should be happy with a multiple valid YAML files' do
39
+ linter.check_all([spec_data('valid.yaml'), spec_data('valid_complex.yaml')])
40
+ expect(linter.errors?).to be(false)
14
41
  end
15
42
 
16
- it 'should be unhappy with an invalid YAML file extention' do
17
- expect(linter.check(spec_data('wrong_extention.txt'))).to be(false)
43
+ it 'should be unhappy with an invalid YAML file extension' do
44
+ expect(linter.check(spec_data('wrong_extension.txt'))).to be(false)
18
45
  end
19
46
 
20
47
  it 'should be unhappy with an invalid YAML file' do
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,6 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+
1
4
  require 'rspec'
2
5
 
3
6
  require 'aruba'
data/yamllint.gemspec CHANGED
@@ -26,4 +26,5 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency 'aruba'
27
27
  spec.add_development_dependency 'rubocop'
28
28
  spec.add_development_dependency 'pry'
29
+ spec.add_development_dependency 'coveralls'
29
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yamllint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Grant Ridder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-16 00:00:00.000000000 Z
11
+ date: 2015-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trollop
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: coveralls
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  description: Checks YAML files for correct syntax
112
126
  email:
113
127
  - shortdudey123@gmail.com
@@ -116,6 +130,7 @@ executables:
116
130
  extensions: []
117
131
  extra_rdoc_files: []
118
132
  files:
133
+ - ".coveralls.yml"
119
134
  - ".gitignore"
120
135
  - ".rspec"
121
136
  - ".rubocop.yml"
@@ -134,16 +149,16 @@ files:
134
149
  - lib/yamllint/rake_task.rb
135
150
  - lib/yamllint/version.rb
136
151
  - spec/cli_spec.rb
152
+ - spec/data/custom_extension.eyaml
137
153
  - spec/data/empty.yaml
138
154
  - spec/data/invalid.yaml
139
155
  - spec/data/overlapping_keys.yaml
140
- - spec/data/overlapping_keys_complex.yaml
141
156
  - spec/data/overlapping_keys_deep.yaml
142
157
  - spec/data/spaces.yaml
143
158
  - spec/data/valid.yaml
144
159
  - spec/data/valid_complex.yaml
145
- - spec/data/valid_complex.yml
146
- - spec/data/wrong_extention.txt
160
+ - spec/data/valid_very_complex.yaml
161
+ - spec/data/wrong_extension.txt
147
162
  - spec/linter_spec.rb
148
163
  - spec/spec_helper.rb
149
164
  - yamllint.gemspec
@@ -173,15 +188,15 @@ specification_version: 4
173
188
  summary: YAML lint checker
174
189
  test_files:
175
190
  - spec/cli_spec.rb
191
+ - spec/data/custom_extension.eyaml
176
192
  - spec/data/empty.yaml
177
193
  - spec/data/invalid.yaml
178
194
  - spec/data/overlapping_keys.yaml
179
- - spec/data/overlapping_keys_complex.yaml
180
195
  - spec/data/overlapping_keys_deep.yaml
181
196
  - spec/data/spaces.yaml
182
197
  - spec/data/valid.yaml
183
198
  - spec/data/valid_complex.yaml
184
- - spec/data/valid_complex.yml
185
- - spec/data/wrong_extention.txt
199
+ - spec/data/valid_very_complex.yaml
200
+ - spec/data/wrong_extension.txt
186
201
  - spec/linter_spec.rb
187
202
  - spec/spec_helper.rb
@@ -1,7 +0,0 @@
1
- ---
2
- foo: bar1
3
- keys:
4
- - 1
5
- - 2
6
- - 3
7
- foo: bar2
@@ -1,112 +0,0 @@
1
- ---
2
- YAML: YAML Ain't Markup Language
3
-
4
- What It Is: YAML is a human friendly data serialization
5
- standard for all programming languages.
6
-
7
- YAML Resources:
8
- YAML 1.2 (3rd Edition): http://yaml.org/spec/1.2/spec.html
9
- YAML 1.1 (2nd Edition): http://yaml.org/spec/1.1/
10
- YAML 1.0 (1st Edition): http://yaml.org/spec/1.0/
11
- YAML Issues Page: https://github.com/yaml/yaml/issues
12
- YAML Mailing List: yaml-core@lists.sourceforge.net
13
- YAML IRC Channel: "#yaml on irc.freenode.net"
14
- YAML Cookbook (Ruby): http://yaml4r.sourceforge.net/cookbook/ (local)
15
- YAML Reference Parser: http://yaml.org/ypaste/
16
-
17
- Projects:
18
- C/C++ Libraries:
19
- - libyaml # "C" Fast YAML 1.1
20
- - Syck # (dated) "C" YAML 1.0
21
- - yaml-cpp # C++ YAML 1.2 implementation
22
- Ruby:
23
- - psych # libyaml wrapper (in Ruby core for 1.9.2)
24
- - RbYaml # YAML 1.1 (PyYaml Port)
25
- - yaml4r # YAML 1.0, standard library syck binding
26
- Python:
27
- - PyYaml # YAML 1.1, pure python and libyaml binding
28
- - PySyck # YAML 1.0, syck binding
29
- Java:
30
- - JvYaml # Java port of RbYaml
31
- - SnakeYAML # Java 5 / YAML 1.1
32
- - YamlBeans # To/from JavaBeans
33
- - JYaml # Original Java Implementation
34
- Perl Modules:
35
- - YAML # Pure Perl YAML Module
36
- - YAML::XS # Binding to libyaml
37
- - YAML::Syck # Binding to libsyck
38
- - YAML::Tiny # A small YAML subset module
39
- - PlYaml # Perl port of PyYaml
40
- C#/.NET:
41
- - yaml-net # YAML 1.1 library
42
- - yatools.net # (in-progress) YAML 1.1 implementation
43
- PHP:
44
- - php-yaml # libyaml bindings (YAML 1.1)
45
- - syck # syck bindings (YAML 1.0)
46
- - spyc # yaml loader/dumper (YAML 1.?)
47
- OCaml:
48
- - ocaml-syck # YAML 1.0 via syck bindings
49
- Javascript:
50
- - JS-YAML # Native PyYAML port to JavaScript.
51
- - JS-YAML Online# Browserified JS-YAML demo, to play with YAML in your browser.
52
- Actionscript:
53
- - as3yaml # port of JvYAML (1.1)
54
- Haskell:
55
- - YamlReference # Haskell 1.2 reference parser
56
- Others:
57
- - yamlvim (src) # YAML dumper/emitter in pure vimscript
58
-
59
- Related Projects:
60
- - Rx # Multi-Language Schemata Tool for JSON/YAML
61
- - Kwalify # Ruby Schemata Tool for JSON/YAML
62
- - yaml_vim # vim syntax files for YAML
63
- - yatools.net # Visual Studio editor for YAML
64
- - JSON # Official JSON Website
65
- - Pygments # Python language Syntax Colorizer /w YAML support
66
-
67
- News:
68
- - 20-NOV-2011 -- JS-YAML, a JavaScript YAML parser by Alexey Zapparov and Vitaly Puzrin.
69
- - 18-AUG-2010 -- Ruby 1.9.2 includes psych, a libyaml wrapper by Aaron Patterson.
70
- - 17-AUG-2010 -- vimscript parser/emitter was created by Nikolay Pavlov.
71
- - 01-OCT-2009 -- YAML 1.2 (3rd Edition) was patched.
72
- - 21-JUL-2009 -- YAML 1.2 (3rd Edition) was released.
73
- - 28-APR-2009 -- A new version of SnakeYAML was released.
74
- - 01-APR-2009 -- The YAML 1.2 spec was planned to be finalized by the end of the month.
75
- - 07-JAN-2009 -- Andrey Somov releases SnakeYAML, a 1.1 YAML Parser
76
- - 03-JAN-2009 -- Burt Harris announced YAML for .NET and editor for Visual Studio
77
- - 02-DEC-2008 -- Jesse Beder released YAML for C++
78
- - 11-MAY-2008 -- Oren Ben-Kiki has released a new YAML 1.2 spec draft
79
- - 29-NOV-2007 -- Alexey Zakhlestin has updated his Syck (YAML 1.0) binding for PHP
80
- - 23-NOV-2007 -- Derek Wischusen has release Action Script 3 YAML 1.1
81
- - 01-AUG-2006 -- Kirill Simonov has released libyaml, a parser and emitter in "C"
82
- - 06-JUN-2006 -- Ola Bini is at it again, this time with a Java implementation
83
- - 03-JUN-2006 -- Christophe Lambrechts and Jonathan Slenders announced a .NET parser
84
- - 07-MAY-2006 -- Ola Bini released a pure-ruby YAML 1.1 parser and emitter
85
- - 12-APR-2006 -- Kirill's YAML 1.1 parser for Python is now at PyYaml
86
- - 05-FEB-2006 -- Spyc YAML for PHP is now at version 0.3
87
- - 17-DEC-2005 -- Makoto Kuwata has released Kwalify 0.5, YAML/JSON schema validator
88
- - 14-DEC-2005 -- Toby Ho has released Jyaml, a Java library for YAML based on Rolf Veen's work
89
- - 30-AUG-2005 -- Kirill Simonov has produce a wonderful Python binding for Syck
90
- - 08-APR-2005 -- As it turns out, YAML is a superset of the JSON serialization language
91
- - 18-MAY-2005 -- Why has released version 0.55 of Syck
92
- - 28-DEC-2004 -- Announcing YAML 1.1 Working Draft
93
- - 01-OCT-2004 -- YAML for Cocoa was released by Will Thimbley
94
- - 08-FEB-2004 -- Slaven Rezic announced a new version of his Javascript binding
95
- - 29-JAN-2004 -- Ingy, Oren, and Clark spent 4 days hacking on the spec in Portland.
96
- - 10-OCT-2003 -- The Syck implementation with bindings for Ruby, Python,
97
- and PHP is now at version .41
98
- - 26-APR-2003 -- Mike Orr has taken over the Pure Python development.
99
- - 26-APR-2003 -- Brian Ingerson has created a FIT platform for Wiki-like testing.
100
- - 24-JAN-2003 -- Updates to specification.
101
- - 25-JUL-2002 -- Both the Ruby and Python parsers have made significant progress.
102
- There is an article about YAML by Kendall Grant Clark at xml.com.
103
- There is also a draft XML binding.
104
- - 02-JUL-2002 -- Brian Ingerson will be giving a 45 minute presentation on YAML at the
105
- O'Reilly Open Source Conference in San Diego on July 24th 2002.
106
- - 01-FEB-2002 -- Brian's Perl implementation YAML.pm, has been updated with new documentation.
107
- Included in this release is YSH, a test shell for learning how YAML works.
108
- - 03-JAN-2002 -- YAML(tm) starts the new year with a new name YAML Ain't Markup Language.
109
- - 17-MAY-2001 -- YAML now has a mailing list at SourceForge.
110
- - 15-MAY-2001 -- YAML is started with a first pass specification.
111
- # Maintained by Clark C. Evans
112
- ...
File without changes