syntaxer 0.4.0 → 0.5.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/.travis.yml +5 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +3 -0
- data/{README.rdoc → README.markdown} +65 -23
- data/Rakefile +24 -0
- data/VERSION +1 -1
- data/bin/syntaxer +23 -3
- data/features/plain_check.feature +19 -0
- data/features/rails_check.feature +12 -0
- data/features/repository_check.feature +0 -4
- data/features/step_definitions/plain_checker.rb +20 -10
- data/features/step_definitions/rails_checker.rb +22 -1
- data/features/step_definitions/repository_checker.rb +2 -2
- data/features/support/env.rb +5 -1
- data/lib/syntaxer.rb +42 -9
- data/lib/syntaxer/checker.rb +45 -31
- data/lib/syntaxer/language_definition.rb +1 -1
- data/lib/syntaxer/printer.rb +4 -4
- data/lib/syntaxer/railtie.rb +9 -0
- data/lib/syntaxer/reader.rb +28 -5
- data/lib/syntaxer/runner.rb +57 -0
- data/lib/syntaxer/wizzard.rb +116 -0
- data/lib/syntaxer/writer.rb +88 -0
- data/lib/tasks/syntaxer.rake +2 -5
- data/spec/checker_spec.rb +3 -3
- data/spec/fixtures/syntaxer_rules_jslint.rb +9 -0
- data/spec/reader_spec.rb +13 -3
- data/spec/runner_spec.rb +42 -0
- data/spec/spec_helper.rb +7 -1
- data/spec/wizzard_spec.rb +95 -0
- data/syntaxer.gemspec +22 -5
- data/syntaxer_rails_rules_jslint.dist.rb +26 -0
- data/syntaxer_rules.dist.rb +7 -0
- metadata +48 -15
@@ -0,0 +1,88 @@
|
|
1
|
+
module Syntaxer
|
2
|
+
class Writer
|
3
|
+
# Recreate config DSL string operation general rules and set of
|
4
|
+
# languages
|
5
|
+
|
6
|
+
EXCLUDE_PROPERTIES = "executor", "exec_existence", "deferred", "name"
|
7
|
+
|
8
|
+
# Initializing Writer
|
9
|
+
#
|
10
|
+
# @param [Array] array of languages to recreate
|
11
|
+
# @param [LanguageRules]
|
12
|
+
def initialize langs, rules
|
13
|
+
raise ArgumentError unless rules.kind_of?(LanguageRules)
|
14
|
+
@config = ''
|
15
|
+
@allowed_methods = ["syntaxer", "lang", "languages"]
|
16
|
+
|
17
|
+
@config = syntaxer do
|
18
|
+
lang_st = ''
|
19
|
+
langs.each do |l|
|
20
|
+
language = l.first
|
21
|
+
@paths = l.last
|
22
|
+
rule = rules.find(language)
|
23
|
+
next if rule.nil?
|
24
|
+
|
25
|
+
@allowed_methods += rule.members if (rule.members - @allowed_methods).length > 0
|
26
|
+
lang_st += languages(rule.send(:name)) do
|
27
|
+
prop_st = ''
|
28
|
+
rule.members.each do |m|
|
29
|
+
properties = rule.send(m)
|
30
|
+
prop_st += property(m, properties) if m != "name"
|
31
|
+
end
|
32
|
+
prop_st
|
33
|
+
end
|
34
|
+
end
|
35
|
+
lang_st
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
# return config
|
41
|
+
#
|
42
|
+
# @return [String] DSL config string
|
43
|
+
def get_config
|
44
|
+
@config
|
45
|
+
end
|
46
|
+
|
47
|
+
protected
|
48
|
+
def method_missing name, *args, &b
|
49
|
+
name = name.to_sym
|
50
|
+
super unless @allowed_methods.include?(name.to_s)
|
51
|
+
if name == :lang || name == :syntaxer || name == :languages
|
52
|
+
block(name, args.first, &b)
|
53
|
+
else
|
54
|
+
property(name, args)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# Create DSL block
|
59
|
+
#
|
60
|
+
# @param [Symbol, String] block name
|
61
|
+
# @param [String] parameter that is passed in to block
|
62
|
+
# @return [String] DSL block string
|
63
|
+
def block name, param = nil, &b
|
64
|
+
sp = ' '*2 if name == :lang || name == :languages
|
65
|
+
body = yield self if block_given?
|
66
|
+
param = ":#{param.to_s}" unless param.nil?
|
67
|
+
"#{sp}#{name.to_s} #{param} do\n#{body}\n#{sp}end\n"
|
68
|
+
end
|
69
|
+
|
70
|
+
# Create DSL property of block
|
71
|
+
#
|
72
|
+
# @param [String] name of the property
|
73
|
+
# @param [Syntaxer::Runner, Array] properties
|
74
|
+
# @return [String] DSL property string
|
75
|
+
def property name, prop
|
76
|
+
return '' if EXCLUDE_PROPERTIES.include?(name.to_s) || prop.nil? || (prop.kind_of?(Array) && prop.empty?)
|
77
|
+
|
78
|
+
prop = prop.flatten.map{|p| "'#{p}'"}.join(', ') if prop.respond_to?(:flatten) && name.to_sym != :folders
|
79
|
+
prop = @paths.map{|f| "'#{f}'"}.join(',') if name.to_sym == :folders
|
80
|
+
|
81
|
+
prop = "'#{prop.exec_rule}'" if prop.instance_of?(Syntaxer::Runner) && !prop.exec_rule.nil?
|
82
|
+
prop = "Syntaxer::Runner.#{prop.language}" if prop.instance_of?(Syntaxer::Runner) && prop.exec_rule.nil?
|
83
|
+
|
84
|
+
' '*4 + "#{name.to_s} #{prop}\n"
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
88
|
+
end
|
data/lib/tasks/syntaxer.rake
CHANGED
@@ -1,9 +1,6 @@
|
|
1
1
|
namespace :syntaxer do
|
2
|
-
desc '
|
2
|
+
desc 'Install syntaxer to rails project'
|
3
3
|
task :install => :environment do
|
4
|
-
|
5
|
-
FileUtils.cp(File.join(File.dirname(__FILE__),'..','..','syntaxer_rails_rules.dist.rb'),\
|
6
|
-
File.join(Rails.root,'config','syntaxer.rb'))
|
7
|
-
puts "Syntaxer hook installed. Look to the config/syntaxer.rb to change configuration.".color(:green)
|
4
|
+
Syntaxer::Wizzard.start
|
8
5
|
end
|
9
6
|
end
|
data/spec/checker_spec.rb
CHANGED
@@ -6,7 +6,7 @@ describe "Syntaxer::Checker" do
|
|
6
6
|
|
7
7
|
before(:each) do
|
8
8
|
reader = mock('Reader')
|
9
|
-
reader.stub!(:rules).and_return([Syntaxer::LanguageDefinition.new(:ruby, ["rb.example", "rake"], ["Rakefile", "Thorfile"], ["**/*"], nil, "ruby -c %filename%", "ruby", true)])
|
9
|
+
reader.stub!(:rules).and_return([Syntaxer::LanguageDefinition.new(:ruby, ["rb.example", "rake"], ["Rakefile", "Thorfile"], ["**/*"], nil, Syntaxer::Runner.default("ruby -c %filename%"), "ruby", true)])
|
10
10
|
reader.stub!(:files_count).and_return(3)
|
11
11
|
Syntaxer.should_receive(:reader).any_number_of_times.and_return(reader)
|
12
12
|
Syntaxer.stub!(:root_path).and_return(fixtures_path(:ruby))
|
@@ -53,8 +53,8 @@ describe "Syntaxer::Checker" do
|
|
53
53
|
make_git_add(@repo_dir)
|
54
54
|
|
55
55
|
reader = mock('Reader')
|
56
|
-
reader.stub!(:rules).and_return([Syntaxer::LanguageDefinition.new(:ruby, ["example", "rake"], ["Rakefile", "Thorfile"], ["**/*"], nil, "ruby -c %filename%", "ruby", true)])
|
57
|
-
Syntaxer.should_receive(:reader).and_return(reader)
|
56
|
+
reader.stub!(:rules).and_return([Syntaxer::LanguageDefinition.new(:ruby, ["example", "rake"], ["Rakefile", "Thorfile"], ["**/*"], nil, Syntaxer::Runner.default("ruby -c %filename%"), "ruby", true)])
|
57
|
+
Syntaxer.should_receive(:reader).at_least(1).times.and_return(reader)
|
58
58
|
Syntaxer.stub!(:root_path).and_return(@repo_dir)
|
59
59
|
repo = Syntaxer::Repository.factory(@repo_dir, :git)
|
60
60
|
Syntaxer.stub!(:repository).and_return(repo)
|
data/spec/reader_spec.rb
CHANGED
@@ -4,10 +4,12 @@ describe "Syntaxer::Reader::DSLReader" do
|
|
4
4
|
|
5
5
|
context "#build" do
|
6
6
|
it "should build from default distr rules files" do
|
7
|
+
Syntaxer::Runner.stub(:default)
|
8
|
+
|
7
9
|
@reader = Syntaxer::Reader::DSLReader.build
|
8
|
-
@reader.rules.find(:ruby).should
|
9
|
-
@reader.rules.find(:haml).should
|
10
|
-
@reader.rules.find(:sass).should
|
10
|
+
@reader.rules.find(:ruby).should eql(Syntaxer::LanguageDefinition.new(:ruby, ["rb", "rake"], ["Rakefile", "Thorfile", "Gemfile"], ["**/*"], nil, Syntaxer::Runner.default("ruby -c %filename%"), "ruby", true, false))
|
11
|
+
@reader.rules.find(:haml).should eql(Syntaxer::LanguageDefinition.new(:haml, ["haml"], nil, ["**/*"], nil, Syntaxer::Runner.default("haml -c %filename%"), "haml", system("which haml 2>&1 > /dev/null"), false))
|
12
|
+
@reader.rules.find(:sass).should eql(Syntaxer::LanguageDefinition.new(:sass, ["sass"], nil, ["**/*"], nil, Syntaxer::Runner.default("sass -c %filename%"), "sass", system("which haml 2>&1 > /dev/null"), false))
|
11
13
|
|
12
14
|
end
|
13
15
|
end
|
@@ -114,5 +116,13 @@ describe "Syntaxer::Reader::DSLReader" do
|
|
114
116
|
@reader.overall_ignore_folders().should == []
|
115
117
|
end
|
116
118
|
end
|
119
|
+
|
120
|
+
context "#exec_rule" do
|
121
|
+
subject{Syntaxer::Reader::DSLReader.new}
|
122
|
+
it "should return Syntaxer::Runner instance" do
|
123
|
+
reader = Syntaxer::Reader::DSLReader.load(syntaxer_rules_example_file('syntaxer_rules_jslint'))
|
124
|
+
reader.rules.first.exec_rule.should be_instance_of(Syntaxer::Runner)
|
125
|
+
end
|
126
|
+
end
|
117
127
|
|
118
128
|
end
|
data/spec/runner_spec.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe "Syntaxer::Runner" do
|
4
|
+
subject{Syntaxer::Runner}
|
5
|
+
|
6
|
+
context "default runner" do
|
7
|
+
|
8
|
+
it "should return Syntaxer::Runner" do
|
9
|
+
subject.default("ruby -c %filename%").should be_instance_of(Syntaxer::Runner)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should have run method" do
|
13
|
+
subject.default("ruby -c %filename%").should respond_to(:run)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should invoke Open3#popen3" do
|
17
|
+
Open3.should_receive(:popen3)
|
18
|
+
subject.default("ruby -c %filename%").run('')
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
context "javascript runner" do
|
24
|
+
subject{Syntaxer::Runner.javascript}
|
25
|
+
|
26
|
+
it "should return Proc" do
|
27
|
+
subject.should be_instance_of(Proc)
|
28
|
+
end
|
29
|
+
|
30
|
+
it "Proc should return Syntaxer::Runner class instance" do
|
31
|
+
subject.call.should be_instance_of(Syntaxer::Runner)
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should invoke run of JSLint::Lint instance" do
|
35
|
+
ins = double()
|
36
|
+
ins.should_receive(:run)
|
37
|
+
JSLint::Lint.should_receive(:new).and_return(ins)
|
38
|
+
subject.call.run('', [])
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -24,7 +24,13 @@ end
|
|
24
24
|
def create_temp_git_repo
|
25
25
|
@dir = Dir.tmpdir + "/#{Time.now.to_i}" + "/git_repo"
|
26
26
|
FileUtils.mkdir_p(@dir)
|
27
|
-
|
27
|
+
@dir
|
28
|
+
end
|
29
|
+
|
30
|
+
def create_temp_dir
|
31
|
+
@dir = Dir.tmpdir + "/#{Time.now.to_i}" + "/syntaxer"
|
32
|
+
FileUtils.mkdir_p(@dir)
|
33
|
+
@dir
|
28
34
|
end
|
29
35
|
|
30
36
|
def create_temp_ruby_project
|
@@ -0,0 +1,95 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe "Syntaxer::Wizzard" do
|
4
|
+
subject{Syntaxer::Wizzard}
|
5
|
+
|
6
|
+
context "installation of config to non rails project without git and no jslint" do
|
7
|
+
|
8
|
+
before(:each) do
|
9
|
+
@working_dir = create_temp_dir
|
10
|
+
@options = {
|
11
|
+
:rails => false,
|
12
|
+
:git => false,
|
13
|
+
:config_path => @working_dir,
|
14
|
+
:config_path_exists => true,
|
15
|
+
:languages => [[:ruby, ['*/*', 'lib/*']]]
|
16
|
+
}
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should create config" do
|
20
|
+
subject.new(@options).run
|
21
|
+
FileTest.file?(File.join(@working_dir, Syntaxer::SYNTAXER_CONFIG_FILE_NAME)).should be_true
|
22
|
+
rules = Syntaxer::Reader::DSLReader.load(File.join(@working_dir, Syntaxer::SYNTAXER_CONFIG_FILE_NAME)).rules
|
23
|
+
ruby_rule = rules.find(:ruby)
|
24
|
+
ruby_rule.folders.should eql(@options[:languages].first.last)
|
25
|
+
end
|
26
|
+
|
27
|
+
after(:each) do
|
28
|
+
FileUtils.rm_r(@working_dir)
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
context "installation of config to rails project without git" do
|
34
|
+
before(:each) do
|
35
|
+
@working_dir = create_temp_dir
|
36
|
+
@options = {
|
37
|
+
:rails => true,
|
38
|
+
:git => false,
|
39
|
+
:config_path => @working_dir+"/config",
|
40
|
+
:config_path_exists => true,
|
41
|
+
:languages => [[:ruby, Syntaxer::Wizzard::FOLDERS_RAILS[:ruby]]]
|
42
|
+
}
|
43
|
+
FileUtils.mkdir_p(File.join(@working_dir,'config'))
|
44
|
+
File.new(File.join(@working_dir,'config','application.rb'),'w').close
|
45
|
+
File.new(File.join(@working_dir,'config','routes.rb'),'w').close
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should install config for rails without errors" do
|
49
|
+
subject.new(@options).run
|
50
|
+
rules = Syntaxer::Reader::DSLReader.load(File.join(@working_dir, 'config', Syntaxer::SYNTAXER_CONFIG_FILE_NAME)).rules
|
51
|
+
ruby_rules = rules.find(:ruby)
|
52
|
+
ruby_rules.folders.should eql(@options[:languages].first.last)
|
53
|
+
end
|
54
|
+
|
55
|
+
after(:each) do
|
56
|
+
FileUtils.rm_r(@working_dir)
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
context "installation of config to rails with git" do
|
62
|
+
before(:each) do
|
63
|
+
repo_dir = create_temp_ruby_project
|
64
|
+
@working_dir = repo_dir
|
65
|
+
File.new(File.join(@working_dir,'README'),'w').close
|
66
|
+
make_git_add(repo_dir)
|
67
|
+
make_initial_commit(repo_dir)
|
68
|
+
@options = {
|
69
|
+
:rails => true,
|
70
|
+
:root_path => repo_dir,
|
71
|
+
:git => true,
|
72
|
+
:config_path => @working_dir+"/config",
|
73
|
+
:config_path_exists => true,
|
74
|
+
:languages => [[:ruby, Syntaxer::Wizzard::FOLDERS_RAILS[:ruby]]]
|
75
|
+
}
|
76
|
+
FileUtils.mkdir_p(File.join(@working_dir,'config'))
|
77
|
+
File.new(File.join(@working_dir,'config','application.rb'),'w').close
|
78
|
+
File.new(File.join(@working_dir,'config','routes.rb'),'w').close
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should install hook to git and create syntaxer config" do
|
82
|
+
subject.new(@options).run
|
83
|
+
rules = Syntaxer::Reader::DSLReader.load(File.join(@working_dir, 'config', Syntaxer::SYNTAXER_CONFIG_FILE_NAME)).rules
|
84
|
+
ruby_rules = rules.find(:ruby)
|
85
|
+
ruby_rules.folders.should eql(@options[:languages].first.last)
|
86
|
+
FileTest.file?(File.join(@working_dir,'.git','hooks','pre-commit')).should be_true
|
87
|
+
end
|
88
|
+
|
89
|
+
after(:each) do
|
90
|
+
FileUtils.rm_r(@working_dir)
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
|
95
|
+
end
|
data/syntaxer.gemspec
CHANGED
@@ -5,24 +5,25 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{syntaxer}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.5.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-
|
12
|
+
s.date = %q{2011-05-10}
|
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}
|
16
16
|
s.executables = ["syntaxer"]
|
17
17
|
s.extra_rdoc_files = [
|
18
18
|
"LICENSE.txt",
|
19
|
-
"README.
|
19
|
+
"README.markdown"
|
20
20
|
]
|
21
21
|
s.files = [
|
22
|
+
".travis.yml",
|
22
23
|
"Gemfile",
|
23
24
|
"Gemfile.lock",
|
24
25
|
"LICENSE.txt",
|
25
|
-
"README.
|
26
|
+
"README.markdown",
|
26
27
|
"Rakefile",
|
27
28
|
"VERSION",
|
28
29
|
"bin/syntaxer",
|
@@ -47,6 +48,9 @@ Gem::Specification.new do |s|
|
|
47
48
|
"lib/syntaxer/railtie.rb",
|
48
49
|
"lib/syntaxer/reader.rb",
|
49
50
|
"lib/syntaxer/repository.rb",
|
51
|
+
"lib/syntaxer/runner.rb",
|
52
|
+
"lib/syntaxer/wizzard.rb",
|
53
|
+
"lib/syntaxer/writer.rb",
|
50
54
|
"lib/tasks/syntaxer.rake",
|
51
55
|
"rails/init.rb",
|
52
56
|
"spec/checker_spec.rb",
|
@@ -57,14 +61,18 @@ Gem::Specification.new do |s|
|
|
57
61
|
"spec/fixtures/ruby/wrong.rb.example",
|
58
62
|
"spec/fixtures/syntaxer_rules.rb",
|
59
63
|
"spec/fixtures/syntaxer_rules_git.rb",
|
64
|
+
"spec/fixtures/syntaxer_rules_jslint.rb",
|
60
65
|
"spec/language_rules_spec.rb",
|
61
66
|
"spec/printer_spec.rb",
|
62
67
|
"spec/reader_spec.rb",
|
63
68
|
"spec/repository_spec.rb",
|
69
|
+
"spec/runner_spec.rb",
|
64
70
|
"spec/spec_helper.rb",
|
65
71
|
"spec/syntaxer_spec.rb",
|
72
|
+
"spec/wizzard_spec.rb",
|
66
73
|
"syntaxer.gemspec",
|
67
74
|
"syntaxer_rails_rules.dist.rb",
|
75
|
+
"syntaxer_rails_rules_jslint.dist.rb",
|
68
76
|
"syntaxer_rules.dist.rb"
|
69
77
|
]
|
70
78
|
s.homepage = %q{http://github.com/artemk/syntaxer}
|
@@ -76,12 +84,15 @@ Gem::Specification.new do |s|
|
|
76
84
|
"spec/checker_spec.rb",
|
77
85
|
"spec/fixtures/syntaxer_rules.rb",
|
78
86
|
"spec/fixtures/syntaxer_rules_git.rb",
|
87
|
+
"spec/fixtures/syntaxer_rules_jslint.rb",
|
79
88
|
"spec/language_rules_spec.rb",
|
80
89
|
"spec/printer_spec.rb",
|
81
90
|
"spec/reader_spec.rb",
|
82
91
|
"spec/repository_spec.rb",
|
92
|
+
"spec/runner_spec.rb",
|
83
93
|
"spec/spec_helper.rb",
|
84
|
-
"spec/syntaxer_spec.rb"
|
94
|
+
"spec/syntaxer_spec.rb",
|
95
|
+
"spec/wizzard_spec.rb"
|
85
96
|
]
|
86
97
|
|
87
98
|
if s.respond_to? :specification_version then
|
@@ -91,6 +102,8 @@ Gem::Specification.new do |s|
|
|
91
102
|
s.add_runtime_dependency(%q<git>, [">= 0"])
|
92
103
|
s.add_runtime_dependency(%q<rainbow>, [">= 0"])
|
93
104
|
s.add_runtime_dependency(%q<progress_bar>, [">= 0"])
|
105
|
+
s.add_runtime_dependency(%q<jslint_on_rails>, [">= 1.0.6"])
|
106
|
+
s.add_runtime_dependency(%q<highline>, [">= 0"])
|
94
107
|
s.add_development_dependency(%q<rspec>, [">= 2.5.0"])
|
95
108
|
s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
|
96
109
|
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
@@ -100,6 +113,8 @@ Gem::Specification.new do |s|
|
|
100
113
|
s.add_dependency(%q<git>, [">= 0"])
|
101
114
|
s.add_dependency(%q<rainbow>, [">= 0"])
|
102
115
|
s.add_dependency(%q<progress_bar>, [">= 0"])
|
116
|
+
s.add_dependency(%q<jslint_on_rails>, [">= 1.0.6"])
|
117
|
+
s.add_dependency(%q<highline>, [">= 0"])
|
103
118
|
s.add_dependency(%q<rspec>, [">= 2.5.0"])
|
104
119
|
s.add_dependency(%q<yard>, ["~> 0.6.0"])
|
105
120
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
@@ -110,6 +125,8 @@ Gem::Specification.new do |s|
|
|
110
125
|
s.add_dependency(%q<git>, [">= 0"])
|
111
126
|
s.add_dependency(%q<rainbow>, [">= 0"])
|
112
127
|
s.add_dependency(%q<progress_bar>, [">= 0"])
|
128
|
+
s.add_dependency(%q<jslint_on_rails>, [">= 1.0.6"])
|
129
|
+
s.add_dependency(%q<highline>, [">= 0"])
|
113
130
|
s.add_dependency(%q<rspec>, [">= 2.5.0"])
|
114
131
|
s.add_dependency(%q<yard>, ["~> 0.6.0"])
|
115
132
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
@@ -0,0 +1,26 @@
|
|
1
|
+
syntaxer do
|
2
|
+
languages :ruby do
|
3
|
+
folders "app/*", "app/**/*", "lib/*", "lib/**/*"
|
4
|
+
extensions "rb", "rake"
|
5
|
+
specific_files "Rakefile", "Thorfile", "Gemfile"
|
6
|
+
exec_rule "ruby -c %filename%"
|
7
|
+
end
|
8
|
+
|
9
|
+
lang :sass do
|
10
|
+
folders "public/stylesheets/**/*"
|
11
|
+
extensions "sass"
|
12
|
+
exec_rule "sass -c %filename%"
|
13
|
+
end
|
14
|
+
|
15
|
+
lang :haml do
|
16
|
+
folders "app/views/**/*", "app/views/*"
|
17
|
+
extensions "haml"
|
18
|
+
exec_rule "haml -c %filename%"
|
19
|
+
end
|
20
|
+
|
21
|
+
lang :javascript do
|
22
|
+
folders "public/javascripts/*", "public/javascripts/**/*"
|
23
|
+
extensions "js"
|
24
|
+
exec_rule Syntaxer::Runner.javascript
|
25
|
+
end
|
26
|
+
end
|