review 4.1.0 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (259) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-tex.yml +35 -0
  3. data/.github/workflows/ruby-win.yml +19 -9
  4. data/.github/workflows/ruby.yml +7 -3
  5. data/.rubocop.yml +138 -34
  6. data/NEWS.ja.md +285 -0
  7. data/NEWS.md +285 -1
  8. data/README.md +7 -6
  9. data/Rakefile +7 -2
  10. data/bin/review +2 -4
  11. data/bin/review-catalog-converter +4 -4
  12. data/bin/review-check +8 -12
  13. data/bin/review-checkdep +2 -5
  14. data/bin/review-compile +18 -34
  15. data/bin/review-epub2html +1 -4
  16. data/bin/review-epubmaker +3 -4
  17. data/bin/review-idgxmlmaker +1 -3
  18. data/bin/review-index +5 -86
  19. data/bin/review-init +1 -4
  20. data/bin/review-pdfmaker +1 -3
  21. data/bin/review-preproc +30 -38
  22. data/bin/review-textmaker +1 -3
  23. data/bin/review-update +1 -4
  24. data/bin/review-validate +4 -4
  25. data/bin/review-vol +5 -82
  26. data/bin/review-webmaker +1 -3
  27. data/doc/config.yml.sample +45 -11
  28. data/doc/config.yml.sample-simple +3 -3
  29. data/doc/format.ja.md +103 -13
  30. data/doc/format.md +104 -16
  31. data/doc/makeindex.ja.md +2 -2
  32. data/doc/pdfmaker.ja.md +42 -0
  33. data/doc/pdfmaker.md +41 -0
  34. data/doc/quickstart.ja.md +19 -6
  35. data/doc/quickstart.md +18 -6
  36. data/doc/writing_vertical.ja.md +6 -0
  37. data/lib/review.rb +1 -1
  38. data/lib/review/book.rb +2 -2
  39. data/lib/review/book/base.rb +67 -29
  40. data/lib/review/book/bib.rb +21 -0
  41. data/lib/review/book/book_unit.rb +158 -0
  42. data/lib/review/book/chapter.rb +33 -26
  43. data/lib/review/book/index.rb +24 -185
  44. data/lib/review/book/index/item.rb +7 -1
  45. data/lib/review/book/page_metric.rb +7 -7
  46. data/lib/review/book/part.rb +26 -11
  47. data/lib/review/book/volume.rb +5 -5
  48. data/lib/review/builder.rb +121 -52
  49. data/lib/review/call_hook.rb +20 -0
  50. data/lib/review/catalog.rb +3 -2
  51. data/lib/review/compiler.rb +230 -111
  52. data/lib/review/configure.rb +91 -7
  53. data/lib/review/converter.rb +1 -1
  54. data/lib/review/epub2html.rb +6 -1
  55. data/lib/review/epubmaker.rb +124 -152
  56. data/lib/review/epubmaker/content.rb +113 -0
  57. data/lib/review/epubmaker/epubcommon.rb +372 -0
  58. data/lib/review/epubmaker/epubv2.rb +178 -0
  59. data/lib/review/epubmaker/epubv3.rb +231 -0
  60. data/lib/review/epubmaker/producer.rb +167 -0
  61. data/lib/review/epubmaker/reviewheaderlistener.rb +12 -2
  62. data/lib/review/epubmaker/zip_exporter.rb +84 -0
  63. data/lib/review/exception.rb +13 -0
  64. data/lib/review/htmlbuilder.rb +176 -89
  65. data/lib/review/htmlutils.rb +8 -11
  66. data/lib/review/i18n.rb +2 -1
  67. data/lib/review/idgxmlbuilder.rb +165 -75
  68. data/lib/review/idgxmlmaker.rb +24 -28
  69. data/lib/review/img_math.rb +238 -0
  70. data/lib/review/index_builder.rb +645 -0
  71. data/lib/review/init.rb +9 -17
  72. data/lib/review/latexbox.rb +58 -0
  73. data/lib/review/latexbuilder.rb +193 -75
  74. data/lib/review/latexutils.rb +9 -1
  75. data/lib/review/lineinput.rb +112 -2
  76. data/lib/review/loggable.rb +27 -0
  77. data/lib/review/logger.rb +90 -3
  78. data/lib/review/makerhelper.rb +17 -188
  79. data/lib/review/markdownbuilder.rb +54 -4
  80. data/lib/review/pdfmaker.rb +76 -84
  81. data/lib/review/plaintextbuilder.rb +106 -22
  82. data/lib/review/preprocessor.rb +107 -303
  83. data/lib/review/preprocessor/directive.rb +35 -0
  84. data/lib/review/preprocessor/line.rb +34 -0
  85. data/lib/review/preprocessor/repository.rb +177 -0
  86. data/lib/review/rstbuilder.rb +27 -8
  87. data/lib/review/sec_counter.rb +14 -0
  88. data/lib/review/template.rb +11 -1
  89. data/lib/review/textmaker.rb +27 -32
  90. data/lib/review/textutils.rb +3 -12
  91. data/lib/review/tocprinter.rb +242 -97
  92. data/lib/review/topbuilder.rb +98 -31
  93. data/lib/review/update.rb +12 -13
  94. data/lib/review/version.rb +1 -1
  95. data/lib/review/volumeprinter.rb +97 -0
  96. data/lib/review/webmaker.rb +40 -47
  97. data/lib/review/webtocprinter.rb +39 -35
  98. data/lib/review/yamlloader.rb +2 -1
  99. data/review.gemspec +5 -3
  100. data/samples/sample-book/src/config-epub2.yml +1 -1
  101. data/samples/sample-book/src/config.yml +3 -3
  102. data/samples/sample-book/src/lib/tasks/review.rake +19 -1
  103. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +2 -1
  104. data/samples/syntax-book/Gemfile +1 -1
  105. data/samples/syntax-book/ch01.re +1 -1
  106. data/samples/syntax-book/ch02.re +21 -6
  107. data/samples/syntax-book/ch03.re +1 -1
  108. data/samples/syntax-book/config.yml +1 -1
  109. data/samples/syntax-book/images/img3-2.png +0 -0
  110. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +2 -1
  111. data/templates/html/_colophon.html.erb +23 -0
  112. data/templates/html/_colophon_history.html.erb +9 -0
  113. data/templates/html/_cover.html.erb +10 -0
  114. data/templates/html/_part_body.html.erb +6 -0
  115. data/templates/html/_titlepage.html.erb +20 -0
  116. data/templates/html/layout-html5.html.erb +6 -0
  117. data/templates/html/layout-xhtml1.html.erb +6 -0
  118. data/templates/latex/config.erb +35 -23
  119. data/templates/latex/review-jlreq/README.md +3 -1
  120. data/templates/latex/review-jlreq/review-base.sty +36 -23
  121. data/templates/latex/review-jlreq/review-jlreq.cls +18 -25
  122. data/templates/latex/review-jlreq/review-style.sty +6 -1
  123. data/templates/latex/review-jlreq/review-tcbox.sty +348 -0
  124. data/templates/latex/review-jlreq/reviewmacro.sty +5 -0
  125. data/templates/latex/review-jsbook/README.md +7 -5
  126. data/templates/latex/review-jsbook/review-base.sty +40 -24
  127. data/templates/latex/review-jsbook/review-jsbook.cls +13 -3
  128. data/templates/latex/review-jsbook/review-style.sty +6 -1
  129. data/templates/latex/review-jsbook/review-tcbox.sty +348 -0
  130. data/templates/latex/review-jsbook/reviewmacro.sty +5 -0
  131. data/templates/opf/epubv2.opf.erb +7 -7
  132. data/templates/opf/epubv3.opf.erb +7 -7
  133. data/templates/opf/opf_manifest_epubv2.opf.erb +10 -0
  134. data/templates/opf/opf_manifest_epubv3.opf.erb +10 -0
  135. data/templates/opf/opf_metainfo_epubv2.opf.erb +17 -0
  136. data/templates/opf/opf_metainfo_epubv3.opf.erb +49 -0
  137. data/templates/opf/opf_tocx_epubv2.opf.erb +9 -0
  138. data/templates/opf/opf_tocx_epubv3.opf.erb +17 -0
  139. data/templates/web/html/layout-html5.html.erb +9 -8
  140. data/templates/web/html/layout-xhtml1.html.erb +6 -0
  141. data/test/assets/header_listener.html +35 -0
  142. data/test/assets/img_math/img1.png +0 -0
  143. data/test/assets/img_math/img2.png +0 -0
  144. data/test/assets/img_math/img3.png +0 -0
  145. data/test/assets/syntax_book_index_detail.txt +58 -0
  146. data/test/assets/test_template.tex +6 -3
  147. data/test/assets/test_template_backmatter.tex +6 -3
  148. data/test/book_test_helper.rb +11 -5
  149. data/test/run_test.rb +1 -1
  150. data/test/test_book.rb +54 -63
  151. data/test/test_book_chapter.rb +95 -54
  152. data/test/test_book_part.rb +3 -3
  153. data/test/test_builder.rb +29 -20
  154. data/test/test_catalog_converter_cmd.rb +1 -1
  155. data/test/test_converter.rb +1 -0
  156. data/test/test_epub3maker.rb +170 -126
  157. data/test/test_epubmaker.rb +254 -129
  158. data/test/test_epubmaker_cmd.rb +15 -4
  159. data/test/test_helper.rb +12 -5
  160. data/test/test_htmlbuilder.rb +926 -76
  161. data/test/test_htmlutils.rb +0 -12
  162. data/test/test_i18n.rb +33 -33
  163. data/test/test_idgxmlbuilder.rb +531 -20
  164. data/test/test_idgxmlmaker_cmd.rb +7 -3
  165. data/test/test_img_math.rb +111 -0
  166. data/test/test_index.rb +62 -52
  167. data/test/test_indexbuilder.rb +52 -0
  168. data/test/test_latexbuilder.rb +891 -20
  169. data/test/test_latexbuilder_v2.rb +56 -10
  170. data/test/test_lineinput.rb +20 -93
  171. data/test/test_logger.rb +7 -7
  172. data/test/test_makerhelper.rb +0 -12
  173. data/test/test_markdownbuilder.rb +32 -0
  174. data/test/test_pdfmaker.rb +100 -11
  175. data/test/test_pdfmaker_cmd.rb +3 -3
  176. data/test/test_plaintextbuilder.rb +546 -32
  177. data/test/test_preprocessor.rb +188 -1
  178. data/test/test_review_ext.rb +2 -1
  179. data/test/test_reviewheaderlistener.rb +49 -0
  180. data/test/test_rstbuilder.rb +25 -1
  181. data/test/test_sec_counter.rb +156 -0
  182. data/test/test_template.rb +12 -2
  183. data/test/test_textmaker_cmd.rb +5 -1
  184. data/test/test_tocprinter.rb +46 -0
  185. data/test/test_topbuilder.rb +324 -20
  186. data/test/test_update.rb +44 -44
  187. data/test/test_webtocprinter.rb +75 -43
  188. data/test/test_zip_exporter.rb +5 -6
  189. data/vendor/gentombow/LICENSE +1 -1
  190. data/vendor/gentombow/Makefile +0 -1
  191. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  192. data/vendor/gentombow/bounddvi-en.tex +1 -0
  193. data/vendor/gentombow/bounddvi.pdf +0 -0
  194. data/vendor/gentombow/bounddvi.sty +30 -7
  195. data/vendor/gentombow/bounddvi.tex +1 -0
  196. data/vendor/gentombow/create_archive.sh +1 -0
  197. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  198. data/vendor/gentombow/gentombow-ja.tex +9 -0
  199. data/vendor/gentombow/gentombow.pdf +0 -0
  200. data/vendor/gentombow/gentombow.sty +32 -10
  201. data/vendor/gentombow/gentombow.tex +8 -0
  202. data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
  203. data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
  204. data/vendor/jsclasses/Makefile +3 -2
  205. data/vendor/jsclasses/create_archive.sh +5 -5
  206. data/vendor/jsclasses/jis/Makefile +3 -2
  207. data/vendor/jsclasses/jis/jsarticle.cls +22 -18
  208. data/vendor/jsclasses/jis/jsbook.cls +22 -18
  209. data/vendor/jsclasses/jis/jsclasses.dtx +94 -13
  210. data/vendor/jsclasses/jis/jsclasses.ins +15 -5
  211. data/vendor/jsclasses/jis/jslogo.ins +9 -0
  212. data/vendor/jsclasses/jis/jslogo.sty +1 -13
  213. data/vendor/jsclasses/jis/jspf.cls +22 -18
  214. data/vendor/jsclasses/jis/jsreport.cls +22 -18
  215. data/vendor/jsclasses/jis/jsverb.ins +9 -0
  216. data/vendor/jsclasses/jis/jsverb.sty +1 -13
  217. data/vendor/jsclasses/jis/kiyou.cls +22 -18
  218. data/vendor/jsclasses/jis/minijs.sty +65 -22
  219. data/vendor/jsclasses/jis/okumacro.ins +9 -0
  220. data/vendor/jsclasses/jis/okumacro.sty +1 -13
  221. data/vendor/jsclasses/jis/okuverb.ins +9 -0
  222. data/vendor/jsclasses/jis/okuverb.sty +1 -13
  223. data/vendor/jsclasses/jis/winjis.sty +23 -19
  224. data/vendor/jsclasses/jsarticle.cls +22 -18
  225. data/vendor/jsclasses/jsbook.cls +22 -18
  226. data/vendor/jsclasses/jsclasses.dtx +94 -13
  227. data/vendor/jsclasses/jsclasses.ins +15 -5
  228. data/vendor/jsclasses/jsclasses.pdf +0 -0
  229. data/vendor/jsclasses/jslogo.ins +9 -0
  230. data/vendor/jsclasses/jslogo.pdf +0 -0
  231. data/vendor/jsclasses/jslogo.sty +1 -13
  232. data/vendor/jsclasses/jspf.cls +22 -18
  233. data/vendor/jsclasses/jsreport.cls +22 -18
  234. data/vendor/jsclasses/jsverb.ins +9 -0
  235. data/vendor/jsclasses/jsverb.pdf +0 -0
  236. data/vendor/jsclasses/jsverb.sty +1 -13
  237. data/vendor/jsclasses/kiyou.cls +22 -18
  238. data/vendor/jsclasses/minijs.sty +68 -22
  239. data/vendor/jsclasses/okumacro.ins +9 -0
  240. data/vendor/jsclasses/okumacro.pdf +0 -0
  241. data/vendor/jsclasses/okumacro.sty +1 -13
  242. data/vendor/jsclasses/okuverb.ins +9 -0
  243. data/vendor/jsclasses/okuverb.pdf +0 -0
  244. data/vendor/jsclasses/okuverb.sty +1 -13
  245. data/vendor/jsclasses/tests/relfont.tex +10 -0
  246. data/vendor/jsclasses/winjis.sty +23 -19
  247. metadata +106 -22
  248. data/.rubocop_todo.yml +0 -7
  249. data/lib/epubmaker.rb +0 -23
  250. data/lib/epubmaker/content.rb +0 -110
  251. data/lib/epubmaker/epubcommon.rb +0 -441
  252. data/lib/epubmaker/epubv2.rb +0 -143
  253. data/lib/epubmaker/epubv3.rb +0 -233
  254. data/lib/epubmaker/producer.rb +0 -375
  255. data/lib/epubmaker/zip_exporter.rb +0 -81
  256. data/lib/lineinput.rb +0 -155
  257. data/lib/review/book/compilable.rb +0 -178
  258. data/lib/review/tocparser.rb +0 -275
  259. data/test/test_tocparser.rb +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 364df2692f5e92ca2eaf1b327861324d6d964b1534d468c951476eb5603f1275
4
- data.tar.gz: 57b1f560b2a08559596f6eb55d3f5af942bb5712447470b506c1f2ac780287eb
3
+ metadata.gz: 413c947f61e128331f01df2d83a039d519145016ce5757d603be616867acf594
4
+ data.tar.gz: 3ba0c7cb9bb87e2b8668391d60865a9ff0d1b3f1481cffa0e1670cab540fd99e
5
5
  SHA512:
6
- metadata.gz: 53298e1df89dc374b4809a8c4b7602885dc911df397fd1271a2504c030649e059a3f876c499a0d0c358c56d16e7dc3d50183b36b06dfff6e4f41d0853497f76d
7
- data.tar.gz: 2ce2cd48f28475c89d5305c0097031d19cfdbe11d3b0d8e9f16213fe1ef1b977324fe5a1996706b69b7204789270535f5cfac0254b015a9a7a8d0efd496c5ffa
6
+ metadata.gz: 2131556e6cb7c916684b8fcdb6f1deea8a84b14dbbb5a2e62d4ad31caac832a2136d4afda25ee7c93670c56f24fd98f79090c90617e15db1cfb7ab331999b6b6
7
+ data.tar.gz: b929c23fa373de5780aeae97332103e19b444a57aa098ccf3f03c31716e7a46972d1213cc539d0785b76f94e2cdf5143521c3f9d446bbdb087030e357edacd7d
@@ -0,0 +1,35 @@
1
+ name: Test with TeXLive
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+
9
+ jobs:
10
+ build:
11
+
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ ruby: [2.5, 3.0]
17
+ os: [ubuntu-20.04]
18
+ steps:
19
+ - uses: actions/checkout@v2
20
+ - name: Install TeXLive 2020 in ubuntu
21
+ if: runner.os == 'Linux'
22
+ run: |
23
+ sudo apt-get update -y -qq && sudo apt-get install -y -qq texlive-lang-japanese texlive-fonts-recommended texlive-fonts-extra texlive-luatex texlive-extra-utils texlive-latex-extra dvipng poppler-utils
24
+ - name: Set up Ruby
25
+ uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: ${{ matrix.ruby }}
28
+ - name: fix ImageMagick policy.xml on Linux
29
+ if: runner.os == 'Linux'
30
+ run: sudo sed -i 's/none/read|write/g' /etc/ImageMagick-6/policy.xml
31
+ - name: Build and test with Rake
32
+ run: |
33
+ gem install bundler --no-document
34
+ bundle install --retry 3
35
+ bundle exec rake
@@ -1,6 +1,10 @@
1
1
  name: TestWin
2
2
 
3
- on: [push]
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
4
8
 
5
9
  jobs:
6
10
  build:
@@ -9,12 +13,12 @@ jobs:
9
13
  strategy:
10
14
  fail-fast: false
11
15
  matrix:
12
- ruby: [ '2.6.x', '2.5.x', '2.4.x' ]
16
+ ruby: [ '3.0', '2.6', '2.5', '2.4' ]
13
17
 
14
18
  steps:
15
- - uses: actions/checkout@v1
19
+ - uses: actions/checkout@v2
16
20
  - name: Set up Ruby
17
- uses: actions/setup-ruby@v1
21
+ uses: ruby/setup-ruby@v1
18
22
  with:
19
23
  ruby-version: ${{ matrix.ruby }}
20
24
  - name: Build and test with Rake
@@ -23,17 +27,23 @@ jobs:
23
27
  gem install bundler --no-document
24
28
  bundle install --retry 3
25
29
  bundle exec ruby test/run_test.rb --max-diff-target-string-size=10000 --verbose=v
26
- - name: Test with epubcheck-ruby
30
+ - name: install Re:VIEW and epubcheck-ruby
27
31
  shell: bash
28
32
  run: |
29
33
  gem install -N epubcheck-ruby
30
- ruby bin/review-init hello
34
+ rake install
35
+ - name: Test with epubcheck-ruby
36
+ shell: bash
37
+ run: |
38
+ review-init hello
31
39
  cd hello
32
- ruby ../bin/review-epubmaker config.yml
40
+ ruby -e 'Dir.glob("*.re"){|path| File.write(path, File.read(path).gsub("=", "= foo")) }'
41
+ review-epubmaker config.yml
33
42
  epubcheck book.epub
34
43
  cd ..
35
- ruby bin/review-init hello2 --epub-version 2
44
+ review-init hello2 --epub-version 2
36
45
  cd hello2
37
- ruby ../bin/review-epubmaker config.yml
46
+ ruby -e 'Dir.glob("*.re"){|path| File.write(path, File.read(path).gsub("=", "= foo")) }'
47
+ review-epubmaker config.yml
38
48
  epubcheck book.epub
39
49
  cd ..
@@ -1,6 +1,10 @@
1
1
  name: Test
2
2
 
3
- on: [push]
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
4
8
 
5
9
  jobs:
6
10
  build:
@@ -9,12 +13,12 @@ jobs:
9
13
  strategy:
10
14
  fail-fast: false
11
15
  matrix:
12
- ruby: [2.4, 2.5, 2.6, 2.7]
16
+ ruby: [2.4, 2.5, 2.6, 2.7, 3.0]
13
17
  os: [ubuntu-latest, macOS-latest]
14
18
  steps:
15
19
  - uses: actions/checkout@v2
16
20
  - name: Set up Ruby
17
- uses: eregon/use-ruby-action@master
21
+ uses: ruby/setup-ruby@v1
18
22
  with:
19
23
  ruby-version: ${{ matrix.ruby }}
20
24
  - name: fix ImageMagick policy.xml on Linux
data/.rubocop.yml CHANGED
@@ -1,14 +1,15 @@
1
1
  AllCops:
2
2
  Exclude:
3
- - lib/lineinput.rb
4
3
  - lib/uuid.rb
5
4
  - test/syntax-book/*
5
+ - tmp/*
6
6
  DisplayCopNames: true
7
+ NewCops: enable
8
+ TargetRubyVersion: 2.5
7
9
 
8
10
  require:
9
11
  - rubocop-performance
10
-
11
- inherit_from: .rubocop_todo.yml
12
+ - rubocop-rake
12
13
 
13
14
  #### Lint
14
15
 
@@ -25,9 +26,6 @@ Lint/AssignmentInCondition:
25
26
  Lint/ParenthesesAsGroupedExpression:
26
27
  Enabled: true
27
28
 
28
- #Lint/RescueWithoutErrorClass:
29
- # Enabled: false
30
-
31
29
  Lint/UnderscorePrefixedVariableName:
32
30
  Enabled: true
33
31
 
@@ -43,6 +41,22 @@ Lint/UselessAssignment:
43
41
  Lint/ErbNewArguments:
44
42
  Enabled: false
45
43
 
44
+ Lint/DeprecatedOpenSSLConstant:
45
+ Enabled: true
46
+
47
+ Lint/MixedRegexpCaptureTypes:
48
+ Enabled: true
49
+
50
+ Lint/RaiseException:
51
+ Enabled: true
52
+
53
+ Lint/StructNewOverride:
54
+ Enabled: true
55
+
56
+ # make it enable when supporting only Ruby 3.0 and higher.
57
+ Lint/RedundantDirGlobSort:
58
+ Enabled: false
59
+
46
60
  #### Performance
47
61
 
48
62
  Performance/RegexpMatch:
@@ -53,11 +67,44 @@ Performance/ReverseEach:
53
67
 
54
68
  # Use tr instead of gsub.
55
69
  Performance/StringReplacement:
56
- Enabled: false
70
+ Enabled: true
57
71
 
58
72
  Performance/RangeInclude:
59
73
  Enabled: true
60
74
 
75
+ Performance/DeletePrefix:
76
+ Enabled: false
77
+
78
+ Performance/RedundantMerge:
79
+ Enabled: true
80
+
81
+ Performance/AncestorsInclude:
82
+ Enabled: true
83
+
84
+ Performance/BigDecimalWithNumericArgument:
85
+ Enabled: true
86
+
87
+ Performance/RedundantSortBlock:
88
+ Enabled: true
89
+
90
+ Performance/RedundantStringChars:
91
+ Enabled: true
92
+
93
+ Performance/ReverseFirst:
94
+ Enabled: true
95
+
96
+ Performance/SortReverse:
97
+ Enabled: true
98
+
99
+ Performance/Squeeze:
100
+ Enabled: true
101
+
102
+ Performance/StringInclude:
103
+ Enabled: false
104
+
105
+ Performance/CollectionLiteralInLoop:
106
+ Enabled: false
107
+
61
108
  #### Style
62
109
 
63
110
  Style/AccessModifierDeclarations:
@@ -72,7 +119,7 @@ Style/Alias:
72
119
  Enabled: true
73
120
 
74
121
  Style/AndOr:
75
- Enabled: false
122
+ Enabled: true
76
123
 
77
124
  Style/BarePercentLiterals:
78
125
  EnforcedStyle: percent_q
@@ -81,9 +128,6 @@ Style/BarePercentLiterals:
81
128
  Style/BlockDelimiters:
82
129
  Enabled: true
83
130
 
84
- Style/BracesAroundHashParameters:
85
- Enabled: false
86
-
87
131
  Style/CaseEquality:
88
132
  Enabled: false
89
133
 
@@ -96,6 +140,9 @@ Style/ClassMethods:
96
140
  Style/CommentedKeyword:
97
141
  Enabled: false
98
142
 
143
+ Style/DocumentDynamicEvalDefinition:
144
+ Enabled: false
145
+
99
146
  Style/FloatDivision:
100
147
  Enabled: false
101
148
 
@@ -120,7 +167,7 @@ Style/EmptyElse:
120
167
  Enabled: true
121
168
 
122
169
  Style/EvalWithLocation:
123
- Enabled: false
170
+ Enabled: true
124
171
 
125
172
  Style/FormatString:
126
173
  EnforcedStyle: sprintf
@@ -133,7 +180,7 @@ Style/GuardClause:
133
180
  Enabled: false
134
181
 
135
182
  Style/IfInsideElse:
136
- Enabled: false
183
+ Enabled: true
137
184
 
138
185
  Style/IfUnlessModifier:
139
186
  Enabled: false
@@ -141,13 +188,10 @@ Style/IfUnlessModifier:
141
188
  Style/MutableConstant:
142
189
  Enabled: false
143
190
 
144
- #Style/MultipleComparison:
145
- # Enabled: true
146
-
147
- Style/RedundantInterpolation:
191
+ Style/MultipleComparison:
148
192
  Enabled: true
149
193
 
150
- Performance/RedundantMerge:
194
+ Style/RedundantInterpolation:
151
195
  Enabled: true
152
196
 
153
197
  Style/ZeroLengthPredicate:
@@ -211,11 +255,16 @@ Style/MethodCallWithArgsParentheses:
211
255
  - 'write'
212
256
  - 'warn'
213
257
  - 'error'
258
+ - 'error!'
259
+ - 'app_error'
214
260
  - 'raise'
215
261
  - 'yield'
216
262
  - 'source'
217
263
  - 'assert'
218
264
  - 'assert_equal'
265
+ - 'assert_raise'
266
+ - 'assert_raises'
267
+ - 'assert_nothing_raised'
219
268
  - 'sh'
220
269
  - 'mv'
221
270
  - 'rm_rf'
@@ -310,8 +359,50 @@ Style/RedundantPercentQ:
310
359
  Style/WhileUntilModifier:
311
360
  Enabled: false
312
361
 
313
- #Style/YodaCondition:
314
- # Enabled: true
362
+ Style/YodaCondition:
363
+ Enabled: true
364
+
365
+ Style/ExponentialNotation:
366
+ Enabled: true
367
+
368
+ Style/HashEachMethods:
369
+ Enabled: true
370
+
371
+ Style/HashTransformKeys:
372
+ Enabled: true
373
+
374
+ Style/HashTransformValues:
375
+ Enabled: true
376
+
377
+ Style/RedundantFetchBlock:
378
+ Enabled: true
379
+
380
+ Style/RedundantRegexpCharacterClass:
381
+ Enabled: true
382
+
383
+ Style/RedundantRegexpEscape:
384
+ Enabled: true
385
+
386
+ Style/SlicingWithRange:
387
+ Enabled: false
388
+
389
+ Style/AccessorGrouping:
390
+ Enabled: false
391
+
392
+ Style/CaseLikeIf:
393
+ Enabled: false
394
+
395
+ Style/StringConcatenation:
396
+ Enabled: false
397
+
398
+ Style/OptionalBooleanParameter:
399
+ Enabled: false
400
+
401
+ Style/SoleNestedConditional:
402
+ Enabled: false
403
+
404
+ Style/CombinableLoops:
405
+ Enabled: false
315
406
 
316
407
  ### Layout
317
408
 
@@ -339,7 +430,7 @@ Layout/EmptyLines:
339
430
  Enabled: true
340
431
 
341
432
  Layout/EmptyLineAfterGuardClause:
342
- Enabled: false
433
+ Enabled: true
343
434
 
344
435
  Layout/EmptyLinesAroundAccessModifier:
345
436
  Enabled: true
@@ -354,7 +445,7 @@ Layout/EmptyLinesAroundModuleBody:
354
445
  Enabled: true
355
446
 
356
447
  Layout/EndOfLine:
357
- Enabled: false
448
+ Enabled: true
358
449
 
359
450
  Layout/ExtraSpacing:
360
451
  Enabled: true
@@ -375,7 +466,7 @@ Layout/LeadingCommentSpace:
375
466
  Enabled: true
376
467
 
377
468
  Layout/MultilineOperationIndentation:
378
- Enabled: false
469
+ Enabled: true
379
470
 
380
471
  Layout/SpaceAroundBlockParameters:
381
472
  EnforcedStyleInsidePipes: no_space
@@ -397,7 +488,7 @@ Layout/SpaceAroundOperators:
397
488
  Enabled: true
398
489
 
399
490
  Layout/SpaceBeforeBlockBraces:
400
- Enabled: false
491
+ Enabled: true
401
492
 
402
493
  Layout/SpaceBeforeComma:
403
494
  Enabled: true
@@ -422,13 +513,24 @@ Layout/TrailingWhitespace:
422
513
  Enabled: true
423
514
  AllowInHeredoc: true
424
515
 
516
+ Layout/EmptyLinesAroundAttributeAccessor:
517
+ Enabled: true
518
+
519
+ Layout/SpaceAroundMethodCallOperator:
520
+ Enabled: true
521
+
522
+ Layout/LineLength:
523
+ Max: 256
524
+ Exclude:
525
+ - "test/**/*"
526
+
425
527
  #### Metrics
426
528
 
427
529
  Metrics/BlockNesting:
428
530
  Max: 4
429
531
 
430
532
  Metrics/ModuleLength:
431
- Max: 200
533
+ Max: 300
432
534
 
433
535
  Metrics/ParameterLists:
434
536
  Max: 8
@@ -441,11 +543,6 @@ Metrics/ClassLength:
441
543
  Exclude:
442
544
  - 'test/*.rb'
443
545
 
444
- Metrics/LineLength:
445
- Max: 256
446
- Exclude:
447
- - "test/**/*"
448
-
449
546
  ### should be < 50
450
547
  Metrics/MethodLength:
451
548
  Max: 100
@@ -456,7 +553,7 @@ Metrics/MethodLength:
456
553
 
457
554
  ### should be < 20
458
555
  Metrics/CyclomaticComplexity:
459
- Max: 32
556
+ Max: 25
460
557
 
461
558
  ### should be < 60
462
559
  Metrics/AbcSize:
@@ -480,8 +577,8 @@ Naming/AccessorMethodName:
480
577
  Enabled: true
481
578
 
482
579
  # When defining the == operator, name its argument other.
483
- #Style/BinaryOperatorParameterName:
484
- # Enabled: true
580
+ Naming/BinaryOperatorParameterName:
581
+ Enabled: true
485
582
 
486
583
  Naming/FileName:
487
584
  Enabled: false
@@ -490,7 +587,7 @@ Naming/HeredocDelimiterNaming:
490
587
  Enabled: false
491
588
 
492
589
  Naming/MemoizedInstanceVariableName:
493
- Enabled: false
590
+ Enabled: true
494
591
 
495
592
  Naming/MethodName:
496
593
  Enabled: true
@@ -505,8 +602,15 @@ Naming/VariableName:
505
602
  Naming/VariableNumber:
506
603
  EnforcedStyle: normalcase
507
604
  Enabled: true
605
+ Exclude:
606
+ - test/*
508
607
 
509
608
  #### Security
510
609
 
511
610
  Security/YAMLLoad:
512
611
  Enabled: true
612
+
613
+ #### Gemspec
614
+
615
+ Gemspec/RequiredRubyVersion:
616
+ Enabled: false