review 4.1.0 → 5.2.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.
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