saddler 0.1.0 → 0.1.1
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 +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +18 -2
- data/lib/saddler.rb +22 -2
- data/lib/saddler/cli.rb +43 -7
- data/lib/saddler/error.rb +5 -0
- data/lib/saddler/validator.rb +13 -0
- data/lib/saddler/version.rb +1 -1
- data/saddler.gemspec +11 -1
- metadata +5 -3
- data/.travis.yml +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0203a1f51349d4087bbec200c6dbad7905e4c5f
|
4
|
+
data.tar.gz: 40049df61fa576c5bcde61ac0c669a4ad722c3fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7aeea7d80d28736a7618527414ba66f89e272f607809d3f5d903fea47aef20fa2ede61f8768c561f75bbd2e8918fe8a67d52121d1c32993e97aa8055b7d9b28b
|
7
|
+
data.tar.gz: 634660e5c7f571f863177591db94f95032c2fd7cf57cd7f6a9ce82413609e7bdfaa4b8224c9bdd228d1c336bb192e1456ce1364c566e1cbecab2eb6c71db373f
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
### 0.1.1 (2015-03-01)
|
2
|
+
|
3
|
+
#### Features
|
4
|
+
|
5
|
+
* **logger:** add logger ([e56ec137](https://github.com/packsaddle/ruby-saddler/commit/e56ec137327fb0fe211d2379bad670313a45a5db))
|
6
|
+
* **validator:** add xml validator([d230440](https://github.com/packsaddle/ruby-saddler/commit/d230440d5dfc09bffb6553e37ef6a5a0fbe0cf47))
|
7
|
+
|
8
|
+
## 0.1.0 (2015-02-24)
|
9
|
+
|
10
|
+
|
11
|
+
#### Features
|
12
|
+
|
13
|
+
* **app:** release
|
data/README.md
CHANGED
@@ -5,15 +5,23 @@
|
|
5
5
|
|
6
6
|
**checkstyle2anywhere**, you can exec any lint, security checker and tools.
|
7
7
|
|
8
|
+
### Pull Request Review Comment
|
9
|
+
|
10
|
+

|
11
|
+
|
12
|
+
### Pull Request Comment
|
13
|
+
|
14
|
+

|
15
|
+
|
8
16
|
## Usage
|
9
17
|
|
10
18
|
```
|
11
|
-
git diff -z --name-only
|
19
|
+
git diff -z --name-only origin/master \
|
12
20
|
| xargs -0 rubocop-select \
|
13
21
|
| xargs rubocop \
|
14
22
|
--require rubocop/formatter/checkstyle_formatter \
|
15
23
|
--format RuboCop::Formatter::CheckstyleFormatter \
|
16
|
-
| checkstyle_filter-git diff
|
24
|
+
| checkstyle_filter-git diff origin/master \
|
17
25
|
| saddler report \
|
18
26
|
--require saddler/reporter/github \
|
19
27
|
--reporter Saddler::Reporter::Github::PullRequestReviewComment
|
@@ -28,6 +36,14 @@ You can run this from any CI Service (e.g. circle-ci, travis-ci, jenkins, etc).
|
|
28
36
|
* [saddler-reporter-text](https://github.com/packsaddle/ruby-saddler-reporter-text)
|
29
37
|
* [saddler-reporter-github](https://github.com/packsaddle/ruby-saddler-reporter-github)
|
30
38
|
|
39
|
+
## Examples and Demo
|
40
|
+
You can send pull request to repos below. Try this!
|
41
|
+
|
42
|
+
* [TravisCI with Pull Request Review Comment](https://github.com/packsaddle/example-travis_ci-pull_request_review)
|
43
|
+
* [TravisCI with Pull Request Comment](https://github.com/packsaddle/example-travis_ci-pull_request)
|
44
|
+
* [CircleCI with Pull Request Review Comment](https://github.com/packsaddle/example-circle_ci-pull_request_review)
|
45
|
+
* [CircleCI with Pull Request Comment](https://github.com/packsaddle/example-circle_ci-pull_request)
|
46
|
+
|
31
47
|
## Installation
|
32
48
|
|
33
49
|
Add this line to your application's Gemfile:
|
data/lib/saddler.rb
CHANGED
@@ -1,6 +1,26 @@
|
|
1
|
-
require '
|
1
|
+
require 'logger'
|
2
|
+
require 'saddler/reporter/text'
|
3
|
+
require 'rexml/document'
|
4
|
+
|
5
|
+
require 'saddler/error'
|
2
6
|
require 'saddler/reporter'
|
7
|
+
require 'saddler/validator'
|
8
|
+
require 'saddler/version'
|
3
9
|
|
4
10
|
module Saddler
|
5
|
-
|
11
|
+
def self.default_logger
|
12
|
+
logger = Logger.new(STDERR)
|
13
|
+
logger.progname = 'Saddler'
|
14
|
+
logger.level = Logger::WARN
|
15
|
+
logger
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.logger
|
19
|
+
return @logger if @logger
|
20
|
+
@logger = default_logger
|
21
|
+
end
|
22
|
+
|
23
|
+
class << self
|
24
|
+
attr_writer :logger
|
25
|
+
end
|
6
26
|
end
|
data/lib/saddler/cli.rb
CHANGED
@@ -19,8 +19,39 @@ module Saddler
|
|
19
19
|
option :options, type: :hash, default: {}
|
20
20
|
option :require
|
21
21
|
option :reporter
|
22
|
+
option :debug, type: :boolean, default: false
|
23
|
+
option :verbose, type: :boolean, default: false
|
22
24
|
def report
|
23
|
-
|
25
|
+
if options[:debug]
|
26
|
+
logger.level = Logger::DEBUG
|
27
|
+
elsif options[:verbose]
|
28
|
+
logger.level = Logger::INFO
|
29
|
+
end
|
30
|
+
logger.debug(options)
|
31
|
+
|
32
|
+
data = fetch_data(options)
|
33
|
+
Validator.valid?(data)
|
34
|
+
require options[:require] if options[:require]
|
35
|
+
reporter = add_reporter(options)
|
36
|
+
|
37
|
+
reporter.report(data, options[:options])
|
38
|
+
rescue StandardError => e
|
39
|
+
logger.error('options')
|
40
|
+
logger.error(options)
|
41
|
+
logger.error('input data')
|
42
|
+
logger.error(data)
|
43
|
+
logger.error('reporter')
|
44
|
+
logger.error(reporter)
|
45
|
+
raise e
|
46
|
+
end
|
47
|
+
|
48
|
+
no_commands do
|
49
|
+
def logger
|
50
|
+
::Saddler.logger
|
51
|
+
end
|
52
|
+
|
53
|
+
def fetch_data(options)
|
54
|
+
data = \
|
24
55
|
if options[:data]
|
25
56
|
options[:data]
|
26
57
|
elsif options[:file]
|
@@ -30,15 +61,20 @@ module Saddler
|
|
30
61
|
ARGF.read
|
31
62
|
end
|
32
63
|
|
33
|
-
|
64
|
+
logger.info('input data')
|
65
|
+
logger.info(data)
|
66
|
+
fail NoInputError if !data || data.empty?
|
34
67
|
|
35
|
-
|
36
|
-
if options[:reporter]
|
37
|
-
reporter = ::Saddler::Reporter.add_reporter(options[:reporter], $stdout)
|
68
|
+
data
|
38
69
|
end
|
39
70
|
|
40
|
-
|
41
|
-
|
71
|
+
def add_reporter(options)
|
72
|
+
reporter = Reporter.add_reporter(options[:reporter], $stdout) if options[:reporter]
|
73
|
+
fail NoReporterError unless reporter
|
74
|
+
logger.info('use reporter')
|
75
|
+
logger.info(reporter)
|
76
|
+
reporter
|
77
|
+
end
|
42
78
|
end
|
43
79
|
end
|
44
80
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Saddler
|
2
|
+
class Validator
|
3
|
+
# NOTE: This is easy check
|
4
|
+
def self.valid?(data)
|
5
|
+
REXML::Document.new(data)
|
6
|
+
true
|
7
|
+
rescue REXML::ParseException => e
|
8
|
+
exception = InvalidXMLError.new(e.message)
|
9
|
+
exception.set_backtrace(e.backtrace)
|
10
|
+
raise exception
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/saddler/version.rb
CHANGED
data/saddler.gemspec
CHANGED
@@ -14,7 +14,17 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.homepage = 'https://github.com/packsaddle/ruby-saddler'
|
15
15
|
spec.license = 'MIT'
|
16
16
|
|
17
|
-
spec.files =
|
17
|
+
spec.files = \
|
18
|
+
`git ls-files -z`
|
19
|
+
.split("\x0")
|
20
|
+
.reject { |f| f.match(%r{^(test|spec|features)/}) }
|
21
|
+
.reject do |f|
|
22
|
+
[
|
23
|
+
'.travis.yml',
|
24
|
+
'circle.yml',
|
25
|
+
'.tachikoma.yml'
|
26
|
+
].include?(f)
|
27
|
+
end
|
18
28
|
spec.bindir = 'exe'
|
19
29
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
30
|
spec.require_paths = ['lib']
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: saddler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sanemat
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -90,7 +90,7 @@ extra_rdoc_files: []
|
|
90
90
|
files:
|
91
91
|
- ".gitignore"
|
92
92
|
- ".rubocop.yml"
|
93
|
-
-
|
93
|
+
- CHANGELOG.md
|
94
94
|
- CODE_OF_CONDUCT.md
|
95
95
|
- Gemfile
|
96
96
|
- LICENSE.txt
|
@@ -104,7 +104,9 @@ files:
|
|
104
104
|
- exe/saddler
|
105
105
|
- lib/saddler.rb
|
106
106
|
- lib/saddler/cli.rb
|
107
|
+
- lib/saddler/error.rb
|
107
108
|
- lib/saddler/reporter.rb
|
109
|
+
- lib/saddler/validator.rb
|
108
110
|
- lib/saddler/version.rb
|
109
111
|
- saddler.gemspec
|
110
112
|
homepage: https://github.com/packsaddle/ruby-saddler
|