yamllint 0.0.3 → 0.0.4

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: 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