syntaxer 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -5,6 +5,7 @@ gem "git"
5
5
 
6
6
  #for colorizing output
7
7
  gem "rainbow"
8
+ gem "progress_bar"
8
9
 
9
10
  group :development do
10
11
  gem "rspec", ">= 2.5.0"
data/Gemfile.lock CHANGED
@@ -15,16 +15,23 @@ GEM
15
15
  json (>= 1.4.6)
16
16
  term-ansicolor (>= 1.0.5)
17
17
  diff-lcs (1.1.2)
18
+ fattr (2.2.0)
18
19
  ffi (1.0.7)
19
20
  rake (>= 0.8.7)
20
21
  gherkin (2.3.5)
21
22
  json (>= 1.4.6)
22
23
  git (1.2.5)
24
+ highline (1.6.1)
23
25
  jeweler (1.5.2)
24
26
  bundler (~> 1.0.0)
25
27
  git (>= 1.2.5)
26
28
  rake
27
29
  json (1.5.1)
30
+ options (2.3.0)
31
+ fattr
32
+ progress_bar (0.3.4)
33
+ highline (~> 1.6.1)
34
+ options (~> 2.3.0)
28
35
  rainbow (1.1.1)
29
36
  rake (0.8.7)
30
37
  rspec (2.5.0)
@@ -46,6 +53,7 @@ DEPENDENCIES
46
53
  cucumber
47
54
  git
48
55
  jeweler (~> 1.5.2)
56
+ progress_bar
49
57
  rainbow
50
58
  rspec (>= 2.5.0)
51
59
  yard (~> 0.6.0)
data/README.rdoc CHANGED
@@ -2,15 +2,18 @@
2
2
 
3
3
  == Overview
4
4
 
5
- Syntaxer make possible check syntax of scripts. It may be used in standalone mode and with git repository.
6
- When syntaxer is used with git it checks syntax in added and changed files before every commit and stop it if there are an error in some of the files.
5
+ Syntaxer make possible check syntax of scripts. It may be used in standalone mode and with git repository for checking changed and added files only.
6
+ It is useful for for rails team, because you need to store only
7
7
 
8
8
  == Installation
9
9
 
10
10
  To install syntaxer run
11
11
 
12
12
  [sudo] gem install syntaxer
13
+
14
+ Works with 1.8.x and 1.9.x
13
15
 
16
+ == Fast Usage for Rails team
14
17
 
15
18
  == Usage
16
19
 
@@ -20,9 +23,9 @@ Run syntax checking in current directory recursively
20
23
 
21
24
  syntaxer
22
25
 
23
- Run syntax checking in another directory recursively
26
+ Run syntax checking in another directory recursively. Make sure to add '/' at the end.
24
27
 
25
- syntaxer -p ./developement
28
+ syntaxer -p ./developement/
26
29
 
27
30
  Install hook to git repository in current directory
28
31
 
@@ -63,16 +66,15 @@ You can specify multiple rules, for example you want to check only ruby files in
63
66
  end
64
67
 
65
68
 
66
- Languages available for now are: ruby, erb, haml, sass. But you can extend this by your own, how to do that i will describe below.
69
+ Languages available for now are: ruby, erb, haml, sass. You can extend this by your own, how to do that will be described below.
67
70
 
68
71
 
69
72
  Options for usage
70
73
  -c, --config specify config file
71
74
  -p, --path path for syntax check. If this option is not specify it checks files from current directory
72
- -l, --languages specify language for check. Available sass, haml and ruby. By default check all of them.
73
75
  -r, --repo indicate type of repository. Available git and svn at this time.
74
76
  -i, --install generates pre-commit hook and put it in .git/hooks folder. It checks syntax of languages what are indicated in options file before every commit
75
- -q, --quite disable information messages.
77
+ -q, --quite disable information messages. Is needed when you only want to know the result: 1 or 0
76
78
  -h, --help show help and options describe above.
77
79
 
78
80
  == Contributing to syntaxer
@@ -89,10 +91,11 @@ Options for usage
89
91
 
90
92
  * Have to fix the problem with only created repository and initial commit with GIT repository
91
93
  * Add SVN support
94
+ * Add description on how to add new languages
92
95
 
93
96
  == Known problems
94
- * Git gem doesn't work properly on the very first commit.
95
97
 
98
+ * Git gem doesn't work properly on the very first commit.
96
99
 
97
100
  == Author
98
101
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
data/bin/syntaxer CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) #TODO: remove this
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
4
 
5
5
  require 'optparse'
6
6
  require 'ostruct'
@@ -31,9 +31,9 @@ class SyntaxerCLI
31
31
  options.root_path = r
32
32
  end
33
33
 
34
- opts.on("-l", "--languages [ruby, haml, sass]", Array, "List of languages to be used in syntax checking") do |l|
35
- options.languages = l
36
- end
34
+ # opts.on("-l", "--languages [ruby, haml, sass]", Array, "List of languages to be used in syntax checking") do |l|
35
+ # options.languages = l
36
+ # end
37
37
 
38
38
  opts.on("-r", "--repo [TYPE]", ['git', 'svn'],
39
39
  "Select repository type (git, svn)") do |r|
@@ -57,7 +57,7 @@ class SyntaxerCLI
57
57
  end
58
58
 
59
59
  opts.on_tail("--version", "Show version") do
60
- puts IO.readlines('../VERSION','').first.to_s
60
+ puts IO.readlines(File.join(File.dirname(__FILE__), '..', 'VERSION'),'').first.to_s
61
61
  exit
62
62
  end
63
63
  end
@@ -7,6 +7,6 @@ When /^I cd to working directory$/ do
7
7
  end
8
8
 
9
9
  Then /^the output should be the same as in "(.*)" file$/ do |f|
10
- content = IO.readlines(File.join(SYNTAXER_ROOT_PATH, f),'').first.to_s
11
- Then %{the output should contain "#{content}"}
10
+ content = IO.readlines(File.join(PlainHelpers::SYNTAXER_ROOT_PATH, f),'').first.to_s
11
+ Then %{the output should contain exactly "#{content}\n"}
12
12
  end
@@ -7,7 +7,7 @@ Feature: Test options
7
7
 
8
8
  @plain
9
9
  Scenario: Run version checking
10
- When I run `syntaxer -v` interactively
11
- Then the exit status should not be 0
10
+ When I run `syntaxer -v`
11
+ Then the exit status should be 0
12
12
  And the output should be the same as in "VERSION" file
13
13
 
data/lib/syntaxer.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require "rubygems"
1
2
  require "rake"
2
3
  require "open3"
3
4
  require "forwardable"
@@ -8,6 +9,7 @@ require File.join(%w{syntaxer checker})
8
9
  require File.join(%w{syntaxer repository})
9
10
  require File.join(%w{syntaxer language_definition})
10
11
  require File.join(%w{syntaxer printer})
12
+ require 'progress_bar'
11
13
 
12
14
  module Syntaxer
13
15
  DEFAULT_FILES_MASK = "**/*"
@@ -1,18 +1,21 @@
1
- # Rake::FileList
2
1
  require 'set'
2
+ require "observer"
3
3
  module Syntaxer
4
4
  class Checker
5
5
  include Open3
6
+ include Observable
6
7
  extend Forwardable
7
8
 
8
9
  def_delegators Syntaxer::FileStatus, :error_files, :fine_files
9
10
 
10
11
  attr_accessor :syntaxer, :reader
11
12
 
12
- def initialize(syntaxer)
13
+ def initialize(syntaxer, count)
14
+ Printer.count_of_files count
15
+ add_observer(Printer)
13
16
  @syntaxer = syntaxer
14
17
  @reader = @syntaxer.reader
15
- @results = []
18
+ @results = []
16
19
  end
17
20
 
18
21
  # Factory for checker
@@ -26,6 +29,13 @@ module Syntaxer
26
29
  PlainChecker.new(syntaxer).process
27
30
  end
28
31
  end
32
+
33
+ protected
34
+ def check rule, file
35
+ popen3(rule.exec_rule.gsub('%filename%', file)) do |stdin, stdout, stderr, wait_thr|
36
+ stderr.read.split("\n")
37
+ end
38
+ end
29
39
 
30
40
  end
31
41
 
@@ -33,6 +43,10 @@ module Syntaxer
33
43
 
34
44
  class RepoChecker < Checker
35
45
 
46
+ def initialize syntaxer
47
+ super syntaxer, syntaxer.repository.changed_and_added_files.length
48
+ end
49
+
36
50
  # Check syntax in repository directory
37
51
  #
38
52
  # @see Checker#process
@@ -51,13 +65,11 @@ module Syntaxer
51
65
  end
52
66
 
53
67
  files_collection.each do |file|
54
- errors = nil
55
68
  full_path = File.join(@syntaxer.root_path,file)
56
- stdout, stderr, status = capture3(rule.exec_rule.gsub('%filename%', full_path))
57
- errors = stderr.split("\n")
58
-
59
- Printer.print_progress errors.empty?
69
+ errors = check(rule, full_path)
60
70
  FileStatus.build(file, errors)
71
+ changed
72
+ notify_observers(errors.empty?)
61
73
  end
62
74
  end
63
75
 
@@ -72,6 +84,10 @@ module Syntaxer
72
84
 
73
85
  class PlainChecker < Checker
74
86
 
87
+ def initialize syntaxer
88
+ super syntaxer, syntaxer.reader.files_count(syntaxer)
89
+ end
90
+
75
91
  # Check syntax in indicated directory
76
92
  #
77
93
  # @see Checker#process
@@ -79,12 +95,10 @@ module Syntaxer
79
95
  def process
80
96
  @reader.rules.each do |rule|
81
97
  rule.files_list(@syntaxer.root_path).each do |file|
82
- errors = nil
83
- stdout, stderr, status = capture3(rule.exec_rule.gsub('%filename%', file))
84
- errors = stderr.split("\n")
85
-
86
- Printer.print_progress errors.empty?
98
+ errors = check(rule, file)
87
99
  FileStatus.build(file, errors)
100
+ changed
101
+ notify_observers(errors.empty?)
88
102
  end
89
103
  end
90
104
 
@@ -5,19 +5,23 @@ module Syntaxer
5
5
 
6
6
  class Printer
7
7
  class << self
8
+ @@bar = nil
8
9
  attr_accessor :quite
9
10
 
10
- # Print progress in dot notation
11
+ # Set count of files for progress bar
12
+ #
13
+ # @param [Integer] count of files
14
+
15
+ def count_of_files count
16
+ @@bar = ProgressBar.new(count, :bar, :counter)
17
+ end
18
+
19
+ # Show progress
11
20
  #
12
21
  # @param [Boolean] (true|false)
13
22
 
14
- def print_progress succ = true
15
- if succ
16
- s = '.'.color(:green)
17
- else
18
- s = 'E'.color(:red)
19
- end
20
- print s unless @quite
23
+ def update status
24
+ @@bar.increment! unless @quite
21
25
  end
22
26
 
23
27
  # Print error message for each if file
@@ -28,6 +32,7 @@ module Syntaxer
28
32
  return if @quite
29
33
  puts "\n"
30
34
  puts "Syntax OK".color(:green) if files.empty?
35
+ puts "Errors:".color(:red) unless files.empty?
31
36
 
32
37
  files.each do |file|
33
38
  puts file.file_name
@@ -13,6 +13,12 @@ module Syntaxer
13
13
  @rules = LanguageRules.new
14
14
  @ignore_folders = []
15
15
  end
16
+
17
+ def files_count syntaxer
18
+ @rules.map{ |rule|
19
+ rule.files_list(syntaxer.root_path).length
20
+ }.inject(:+)
21
+ end
16
22
 
17
23
  class << self
18
24
 
@@ -58,7 +64,6 @@ module Syntaxer
58
64
  # |
59
65
  def parse(dsl_data)
60
66
  self.instance_eval(dsl_data)
61
- @rules << @current_rule
62
67
  rescue SyntaxError, NoMethodError, NameError => e
63
68
  raise DSLSyntaxError, "Illegal DSL syntax: #{e}"
64
69
  end
@@ -17,11 +17,11 @@ module Syntaxer
17
17
 
18
18
  class Git
19
19
  require "git"
20
-
20
+
21
21
  def initialize(repo_path)
22
- @repository = ::Git.open(Dir.new(repo_path))
22
+ @repository = ::Git.open(File.expand_path(repo_path))
23
23
  rescue ArgumentError => ex
24
- raise GitRepositoryError, "The path you specified is not a git repository: '#{File.expand_path(repo_path)}'"
24
+ raise GitRepositoryError, "The path you specified is not a git repository: '#{File.expand_path(repo_path)}'"
25
25
  end
26
26
 
27
27
  # Returns list of files what have been changed
@@ -30,7 +30,7 @@ module Syntaxer
30
30
 
31
31
  def changed_files
32
32
  @repository.chdir do
33
- @changed ||= @repository.status.changed.keys
33
+ @changed ||= @repository.status.changed.to_a.map(&:first)
34
34
  end
35
35
  end
36
36
 
@@ -40,7 +40,7 @@ module Syntaxer
40
40
 
41
41
  def added_files
42
42
  @repository.chdir do
43
- @added ||= @repository.status.added.keys
43
+ @added ||= @repository.status.added.to_a.map(&:first)
44
44
  end
45
45
  end
46
46
 
@@ -49,21 +49,20 @@ module Syntaxer
49
49
  # @return [Array]
50
50
 
51
51
  def changed_and_added_files
52
+ check_repo
52
53
  changed_files + added_files
53
- rescue
54
- []
55
54
  end
56
- =begin
55
+
57
56
  private
58
- def check_repo repository
57
+ def check_repo
59
58
  @logs = @repository.log
60
59
  @logs.first
61
60
  rescue ::Git::GitExecuteError => e
62
- puts "\nRepository is empty. There are no any revision.".color(:red)
61
+ puts "We can not find new or changed files. Log history is empty.\nPlease make first commit.".color(:red)
63
62
  raise e
64
63
  exit 1
65
64
  end
66
- =end
65
+
67
66
  end
68
67
 
69
68
 
data/spec/checker_spec.rb CHANGED
@@ -7,7 +7,8 @@ describe "Syntaxer::Checker" do
7
7
  before(:each) do
8
8
  reader = mock('Reader')
9
9
  reader.stub!(:rules).and_return([Syntaxer::LanguageDefinition.new(:ruby, ["rb.example", "rake"], ["Rakefile", "Thorfile"], ["**/*"], nil, "ruby -wc %filename%")])
10
- Syntaxer.should_receive(:reader).and_return(reader)
10
+ reader.stub!(:files_count).and_return(2)
11
+ Syntaxer.should_receive(:reader).any_number_of_times.and_return(reader)
11
12
  Syntaxer.stub!(:root_path).and_return(fixtures_path(:ruby))
12
13
 
13
14
  Syntaxer::Printer.stub!(:print_result)
data/spec/printer_spec.rb CHANGED
@@ -9,11 +9,9 @@ describe "Syntaxer" do
9
9
  subject{Syntaxer::Printer}
10
10
 
11
11
  it "should be quite if passed --quite option" do
12
- IO.should_not_receive(:print)
13
- IO.should_not_receive(:puts)
14
-
12
+ ProgressBar.new.should_not_receive(:update)
15
13
  subject.quite = true
16
- subject.print_progress true
14
+ subject.update true
17
15
  subject.print_result ['a','b']
18
16
  end
19
17
  end
data/spec/spec_helper.rb CHANGED
@@ -37,7 +37,7 @@ def add_file_to_repo(lang, repo_dir, file_name)
37
37
  end
38
38
 
39
39
  def make_git_add(ruby_repo_dir)
40
- g = Git.open(Dir.new(ruby_repo_dir))
40
+ g = Git.open(File.expand_path(ruby_repo_dir))
41
41
 
42
42
  g.chdir do
43
43
  g.add('.')
@@ -45,7 +45,7 @@ def make_git_add(ruby_repo_dir)
45
45
  end
46
46
 
47
47
  def make_initial_commit(ruby_repo_dir)
48
- g = Git.open(Dir.new(ruby_repo_dir))
48
+ g = Git.open(File.expand_path(ruby_repo_dir))
49
49
  FileUtils.touch(File.join(ruby_repo_dir, 'README'))
50
50
 
51
51
  make_git_add(ruby_repo_dir)
@@ -54,7 +54,7 @@ def make_initial_commit(ruby_repo_dir)
54
54
  end
55
55
 
56
56
  def make_commit(ruby_repo_dir)
57
- g = Git.open(Dir.new(ruby_repo_dir))
57
+ g = Git.open(File.expand_path(ruby_repo_dir))
58
58
 
59
59
  g.chdir do
60
60
  g.commit('second commit')
@@ -23,7 +23,7 @@ describe "Syntaxer" do
23
23
  add_file_to_repo(:ruby, @repo_dir, "wrong.rb.example")
24
24
  make_git_add(@repo_dir)
25
25
  add_hook @repo_dir
26
- g = Git.open(Dir.new(@repo_dir))
26
+ g = Git.open(File.expand_path(@repo_dir))
27
27
  g.chdir do
28
28
  lambda {g.commit('second commit')}.should raise_exception
29
29
  end
@@ -33,7 +33,7 @@ describe "Syntaxer" do
33
33
  add_file_to_repo(:ruby, @repo_dir, "correct.rb.example")
34
34
  make_git_add(@repo_dir)
35
35
  add_hook @repo_dir
36
- g = Git.open(Dir.new(@repo_dir))
36
+ g = Git.open(File.expand_path(@repo_dir))
37
37
  g.chdir do
38
38
  lambda {g.commit('second commit')}.should_not raise_exception
39
39
  end
data/syntaxer.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{syntaxer}
8
- s.version = "0.2.0"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["artemk"]
12
- s.date = %q{2011-04-17}
12
+ s.date = %q{2011-04-18}
13
13
  s.default_executable = %q{syntaxer}
14
14
  s.description = %q{Syntax checker for ruby and other languages}
15
15
  s.email = %q{kramarenko.artyom@gmail.com}
@@ -84,6 +84,7 @@ Gem::Specification.new do |s|
84
84
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
85
85
  s.add_runtime_dependency(%q<git>, [">= 0"])
86
86
  s.add_runtime_dependency(%q<rainbow>, [">= 0"])
87
+ s.add_runtime_dependency(%q<progress_bar>, [">= 0"])
87
88
  s.add_development_dependency(%q<rspec>, [">= 2.5.0"])
88
89
  s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
89
90
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
@@ -92,6 +93,7 @@ Gem::Specification.new do |s|
92
93
  else
93
94
  s.add_dependency(%q<git>, [">= 0"])
94
95
  s.add_dependency(%q<rainbow>, [">= 0"])
96
+ s.add_dependency(%q<progress_bar>, [">= 0"])
95
97
  s.add_dependency(%q<rspec>, [">= 2.5.0"])
96
98
  s.add_dependency(%q<yard>, ["~> 0.6.0"])
97
99
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
@@ -101,6 +103,7 @@ Gem::Specification.new do |s|
101
103
  else
102
104
  s.add_dependency(%q<git>, [">= 0"])
103
105
  s.add_dependency(%q<rainbow>, [">= 0"])
106
+ s.add_dependency(%q<progress_bar>, [">= 0"])
104
107
  s.add_dependency(%q<rspec>, [">= 2.5.0"])
105
108
  s.add_dependency(%q<yard>, ["~> 0.6.0"])
106
109
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
metadata CHANGED
@@ -1,8 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: syntaxer
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 19
4
5
  prerelease:
5
- version: 0.2.0
6
+ segments:
7
+ - 0
8
+ - 3
9
+ - 0
10
+ version: 0.3.0
6
11
  platform: ruby
7
12
  authors:
8
13
  - artemk
@@ -10,86 +15,127 @@ autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
17
 
13
- date: 2011-04-17 00:00:00 +03:00
18
+ date: 2011-04-18 00:00:00 +03:00
14
19
  default_executable: syntaxer
15
20
  dependencies:
16
21
  - !ruby/object:Gem::Dependency
17
- name: git
22
+ type: :runtime
18
23
  requirement: &id001 !ruby/object:Gem::Requirement
19
24
  none: false
20
25
  requirements:
21
26
  - - ">="
22
27
  - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
23
31
  version: "0"
24
- type: :runtime
25
- prerelease: false
32
+ name: git
26
33
  version_requirements: *id001
34
+ prerelease: false
27
35
  - !ruby/object:Gem::Dependency
28
- name: rainbow
36
+ type: :runtime
29
37
  requirement: &id002 !ruby/object:Gem::Requirement
30
38
  none: false
31
39
  requirements:
32
40
  - - ">="
33
41
  - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
34
45
  version: "0"
35
- type: :runtime
36
- prerelease: false
46
+ name: rainbow
37
47
  version_requirements: *id002
48
+ prerelease: false
38
49
  - !ruby/object:Gem::Dependency
39
- name: rspec
50
+ type: :runtime
40
51
  requirement: &id003 !ruby/object:Gem::Requirement
41
52
  none: false
42
53
  requirements:
43
54
  - - ">="
44
55
  - !ruby/object:Gem::Version
45
- version: 2.5.0
46
- type: :development
47
- prerelease: false
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ name: progress_bar
48
61
  version_requirements: *id003
62
+ prerelease: false
49
63
  - !ruby/object:Gem::Dependency
50
- name: yard
64
+ type: :development
51
65
  requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 27
71
+ segments:
72
+ - 2
73
+ - 5
74
+ - 0
75
+ version: 2.5.0
76
+ name: rspec
77
+ version_requirements: *id004
78
+ prerelease: false
79
+ - !ruby/object:Gem::Dependency
80
+ type: :development
81
+ requirement: &id005 !ruby/object:Gem::Requirement
52
82
  none: false
53
83
  requirements:
54
84
  - - ~>
55
85
  - !ruby/object:Gem::Version
86
+ hash: 7
87
+ segments:
88
+ - 0
89
+ - 6
90
+ - 0
56
91
  version: 0.6.0
57
- type: :development
92
+ name: yard
93
+ version_requirements: *id005
58
94
  prerelease: false
59
- version_requirements: *id004
60
95
  - !ruby/object:Gem::Dependency
61
- name: jeweler
62
- requirement: &id005 !ruby/object:Gem::Requirement
96
+ type: :development
97
+ requirement: &id006 !ruby/object:Gem::Requirement
63
98
  none: false
64
99
  requirements:
65
100
  - - ~>
66
101
  - !ruby/object:Gem::Version
102
+ hash: 7
103
+ segments:
104
+ - 1
105
+ - 5
106
+ - 2
67
107
  version: 1.5.2
68
- type: :development
108
+ name: jeweler
109
+ version_requirements: *id006
69
110
  prerelease: false
70
- version_requirements: *id005
71
111
  - !ruby/object:Gem::Dependency
72
- name: cucumber
73
- requirement: &id006 !ruby/object:Gem::Requirement
112
+ type: :development
113
+ requirement: &id007 !ruby/object:Gem::Requirement
74
114
  none: false
75
115
  requirements:
76
116
  - - ">="
77
117
  - !ruby/object:Gem::Version
118
+ hash: 3
119
+ segments:
120
+ - 0
78
121
  version: "0"
79
- type: :development
122
+ name: cucumber
123
+ version_requirements: *id007
80
124
  prerelease: false
81
- version_requirements: *id006
82
125
  - !ruby/object:Gem::Dependency
83
- name: aruba
84
- requirement: &id007 !ruby/object:Gem::Requirement
126
+ type: :development
127
+ requirement: &id008 !ruby/object:Gem::Requirement
85
128
  none: false
86
129
  requirements:
87
130
  - - ">="
88
131
  - !ruby/object:Gem::Version
132
+ hash: 3
133
+ segments:
134
+ - 0
89
135
  version: "0"
90
- type: :development
136
+ name: aruba
137
+ version_requirements: *id008
91
138
  prerelease: false
92
- version_requirements: *id007
93
139
  description: Syntax checker for ruby and other languages
94
140
  email: kramarenko.artyom@gmail.com
95
141
  executables:
@@ -155,7 +201,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
201
  requirements:
156
202
  - - ">="
157
203
  - !ruby/object:Gem::Version
158
- hash: 3897909288735270095
204
+ hash: 3
159
205
  segments:
160
206
  - 0
161
207
  version: "0"
@@ -164,6 +210,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
210
  requirements:
165
211
  - - ">="
166
212
  - !ruby/object:Gem::Version
213
+ hash: 3
214
+ segments:
215
+ - 0
167
216
  version: "0"
168
217
  requirements: []
169
218