syntaxer 0.2.0 → 0.3.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.
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