bcdice 3.0.0.pre.alpha.2 → 3.0.0.pre.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/README.md +1 -0
  4. data/i18n/KillDeathBusiness/ja_jp.yml +4 -4
  5. data/i18n/KillDeathBusiness/ko_kr.yml +5 -4
  6. data/i18n/MagicaLogia/ko_kr.yml +564 -0
  7. data/i18n/MonotoneMuseum/ja_jp.yml +37 -1
  8. data/i18n/StratoShout/ja_jp.yml +4 -4
  9. data/i18n/StratoShout/ko_kr.yml +4 -4
  10. data/lib/bcdice.rb +2 -1
  11. data/lib/bcdice/arithmetic.rb +22 -0
  12. data/lib/bcdice/arithmetic/node.rb +112 -43
  13. data/lib/bcdice/arithmetic/parser.rb +240 -0
  14. data/lib/bcdice/arithmetic_evaluator.rb +5 -156
  15. data/lib/bcdice/base.rb +8 -1
  16. data/lib/bcdice/command/lexer.rb +57 -0
  17. data/lib/bcdice/command/parsed.rb +65 -0
  18. data/lib/bcdice/command/parser.rb +489 -0
  19. data/lib/bcdice/common_command/add_dice.rb +1 -1
  20. data/lib/bcdice/common_command/add_dice/node.rb +142 -69
  21. data/lib/bcdice/common_command/add_dice/parser.rb +100 -83
  22. data/lib/bcdice/common_command/barabara_dice/node.rb +7 -1
  23. data/lib/bcdice/common_command/barabara_dice/result.rb +22 -0
  24. data/lib/bcdice/common_command/calc/node.rb +10 -1
  25. data/lib/bcdice/common_command/calc/parser.rb +1 -1
  26. data/lib/bcdice/common_command/d66_dice.rb +3 -1
  27. data/lib/bcdice/common_command/lexer.rb +2 -1
  28. data/lib/bcdice/common_command/upper_dice/parser.rb +118 -97
  29. data/lib/bcdice/common_command/version.rb +1 -1
  30. data/lib/bcdice/deprecated/checker.rb +6 -6
  31. data/lib/bcdice/dice_table.rb +1 -0
  32. data/lib/bcdice/dice_table/d66_parity_table.rb +34 -0
  33. data/lib/bcdice/game_system.rb +3 -0
  34. data/lib/bcdice/game_system/AceKillerGene.rb +1 -1
  35. data/lib/bcdice/game_system/AlchemiaStruggle.rb +312 -0
  36. data/lib/bcdice/game_system/Alshard.rb +0 -1
  37. data/lib/bcdice/game_system/Amadeus.rb +1 -1
  38. data/lib/bcdice/game_system/AnimaAnimus.rb +1 -5
  39. data/lib/bcdice/game_system/BadLife.rb +1 -1
  40. data/lib/bcdice/game_system/BeastBindTrinity.rb +1 -10
  41. data/lib/bcdice/game_system/BeginningIdol.rb +4 -4
  42. data/lib/bcdice/game_system/BeginningIdol_Korean.rb +4 -4
  43. data/lib/bcdice/game_system/BladeOfArcana.rb +4 -4
  44. data/lib/bcdice/game_system/BlindMythos.rb +12 -9
  45. data/lib/bcdice/game_system/BloodCrusade.rb +12 -38
  46. data/lib/bcdice/game_system/BloodMoon.rb +2 -2
  47. data/lib/bcdice/game_system/CardRanker.rb +23 -63
  48. data/lib/bcdice/game_system/ChaosFlare.rb +3 -3
  49. data/lib/bcdice/game_system/CodeLayerd.rb +1 -1
  50. data/lib/bcdice/game_system/ColossalHunter.rb +2 -2
  51. data/lib/bcdice/game_system/Cthulhu7th.rb +2 -2
  52. data/lib/bcdice/game_system/CthulhuTech.rb +0 -1
  53. data/lib/bcdice/game_system/DarkBlaze.rb +4 -4
  54. data/lib/bcdice/game_system/DeadlineHeroes.rb +1 -1
  55. data/lib/bcdice/game_system/DoubleCross.rb +60 -93
  56. data/lib/bcdice/game_system/EmbryoMachine.rb +5 -5
  57. data/lib/bcdice/game_system/EtrianOdysseySRS.rb +0 -1
  58. data/lib/bcdice/game_system/FilledWith.rb +3 -3
  59. data/lib/bcdice/game_system/FullMetalPanic.rb +0 -1
  60. data/lib/bcdice/game_system/GURPS.rb +1 -1
  61. data/lib/bcdice/game_system/Garako.rb +3 -2
  62. data/lib/bcdice/game_system/GardenOrder.rb +1 -1
  63. data/lib/bcdice/game_system/GehennaAn.rb +3 -3
  64. data/lib/bcdice/game_system/Gundog.rb +1 -1
  65. data/lib/bcdice/game_system/GundogRevised.rb +3 -3
  66. data/lib/bcdice/game_system/GundogZero.rb +2 -2
  67. data/lib/bcdice/game_system/GurpsFW.rb +2 -5
  68. data/lib/bcdice/game_system/HatsuneMiku.rb +1 -1
  69. data/lib/bcdice/game_system/HuntersMoon.rb +17 -110
  70. data/lib/bcdice/game_system/JuinKansen.rb +251 -0
  71. data/lib/bcdice/game_system/KanColle.rb +17 -166
  72. data/lib/bcdice/game_system/KillDeathBusiness.rb +35 -44
  73. data/lib/bcdice/game_system/KillDeathBusiness_Korean.rb +2 -1
  74. data/lib/bcdice/game_system/LogHorizon.rb +8 -8
  75. data/lib/bcdice/game_system/LostRoyal.rb +1 -3
  76. data/lib/bcdice/game_system/MagicaLogia.rb +3 -3
  77. data/lib/bcdice/game_system/MagicaLogia_Korean.rb +66 -0
  78. data/lib/bcdice/game_system/MeikyuDays.rb +1 -1
  79. data/lib/bcdice/game_system/MeikyuKingdom.rb +1 -1
  80. data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +1 -1
  81. data/lib/bcdice/game_system/MetalHeadExtream.rb +4 -4
  82. data/lib/bcdice/game_system/MetallicGuardian.rb +0 -1
  83. data/lib/bcdice/game_system/MonotoneMuseum.rb +3 -2
  84. data/lib/bcdice/game_system/MonotoneMuseum_Korean.rb +1 -1
  85. data/lib/bcdice/game_system/NSSQ.rb +2 -2
  86. data/lib/bcdice/game_system/Nechronica.rb +3 -3
  87. data/lib/bcdice/game_system/NightWizard.rb +1 -1
  88. data/lib/bcdice/game_system/NightmareHunterDeep.rb +3 -4
  89. data/lib/bcdice/game_system/NinjaSlayer.rb +26 -28
  90. data/lib/bcdice/game_system/OracleEngine.rb +13 -17
  91. data/lib/bcdice/game_system/Paradiso.rb +2 -2
  92. data/lib/bcdice/game_system/PhantasmAdventure.rb +0 -4
  93. data/lib/bcdice/game_system/Raisondetre.rb +1 -1
  94. data/lib/bcdice/game_system/RecordOfLodossWar.rb +2 -3
  95. data/lib/bcdice/game_system/RokumonSekai2.rb +2 -2
  96. data/lib/bcdice/game_system/RuinBreakers.rb +1 -1
  97. data/lib/bcdice/game_system/Ryutama.rb +1 -1
  98. data/lib/bcdice/game_system/SRS.rb +0 -5
  99. data/lib/bcdice/game_system/SamsaraBallad.rb +4 -3
  100. data/lib/bcdice/game_system/Satasupe.rb +22 -14
  101. data/lib/bcdice/game_system/ScreamHighSchool.rb +2 -2
  102. data/lib/bcdice/game_system/ShinkuuGakuen.rb +1 -1
  103. data/lib/bcdice/game_system/ShinobiGami.rb +75 -39
  104. data/lib/bcdice/game_system/StellarKnights.rb +1 -3
  105. data/lib/bcdice/game_system/SterileLife.rb +1 -1
  106. data/lib/bcdice/game_system/StrangerOfSwordCity.rb +1 -1
  107. data/lib/bcdice/game_system/StratoShout.rb +10 -36
  108. data/lib/bcdice/game_system/StratoShout_Korean.rb +2 -1
  109. data/lib/bcdice/game_system/SwordWorld.rb +5 -5
  110. data/lib/bcdice/game_system/SwordWorld2_5.rb +1 -1
  111. data/lib/bcdice/game_system/TherapieSein.rb +2 -2
  112. data/lib/bcdice/game_system/TokumeiTenkousei.rb +2 -2
  113. data/lib/bcdice/game_system/Torg.rb +1 -1
  114. data/lib/bcdice/game_system/TorgEternity.rb +4 -7
  115. data/lib/bcdice/game_system/TrinitySeven.rb +2 -2
  116. data/lib/bcdice/game_system/TunnelsAndTrolls.rb +6 -6
  117. data/lib/bcdice/game_system/TwilightGunsmoke.rb +1 -1
  118. data/lib/bcdice/game_system/Utakaze.rb +1 -1
  119. data/lib/bcdice/game_system/Warhammer.rb +6 -6
  120. data/lib/bcdice/game_system/Warhammer4.rb +9 -12
  121. data/lib/bcdice/game_system/ZettaiReido.rb +1 -1
  122. data/lib/bcdice/normalize.rb +1 -1
  123. data/lib/bcdice/preprocessor.rb +12 -8
  124. data/lib/bcdice/randomizer.rb +12 -0
  125. data/lib/bcdice/repl.rb +1 -1
  126. data/lib/bcdice/result.rb +2 -0
  127. data/lib/bcdice/user_defined_dice_table.rb +26 -15
  128. data/lib/bcdice/version.rb +1 -1
  129. metadata +14 -25
  130. data/.editorconfig +0 -21
  131. data/.github/.codecov.yaml +0 -10
  132. data/.github/workflows/coverage.yaml +0 -21
  133. data/.github/workflows/lint.yaml +0 -13
  134. data/.github/workflows/test.yml +0 -20
  135. data/.gitignore +0 -14
  136. data/.rubocop.yml +0 -108
  137. data/.rubocop_todo.yml +0 -114
  138. data/Gemfile +0 -14
  139. data/ROADMAP.md +0 -30
  140. data/Rakefile +0 -152
  141. data/bcdice.gemspec +0 -29
  142. data/bin/repl.rb +0 -21
  143. data/docs/README.txt +0 -2028
  144. data/docs/dicebot_sort_key.md +0 -72
  145. data/docs/how_to_make_dicebot.md +0 -453
  146. data/lib/bcdice/command_parser.rb +0 -242
  147. data/lib/bcdice/common_command/add_dice/parser.y +0 -153
  148. data/lib/bcdice/common_command/barabara_dice/parser.y +0 -107
  149. data/lib/bcdice/common_command/calc/parser.y +0 -79
  150. data/lib/bcdice/common_command/reroll_dice/parser.y +0 -158
  151. data/lib/bcdice/common_command/upper_dice/parser.y +0 -143
@@ -4,6 +4,8 @@ module BCDice
4
4
  UPPER_LIMIT_DICE_TIMES = 200
5
5
  UPPER_LIMIT_DICE_SIDES = 1000
6
6
 
7
+ UPPER_LIMIT_RANDS = 10000
8
+
7
9
  def initialize
8
10
  @rand_results = []
9
11
  @detailed_rand_results = []
@@ -30,6 +32,10 @@ module BCDice
30
32
  # @param sides [Integer] ダイスの面数
31
33
  # @return [Array<Integer>] ダイスの出目一覧
32
34
  def roll_barabara(times, sides)
35
+ if @rand_results.size + times > UPPER_LIMIT_RANDS
36
+ raise TooManyRandsError
37
+ end
38
+
33
39
  if times <= 0 || times > UPPER_LIMIT_DICE_TIMES
34
40
  return []
35
41
  end
@@ -113,6 +119,10 @@ module BCDice
113
119
  # @param sides [Integer]
114
120
  # @return [Integer] 1以上sides以下の整数
115
121
  def rand_inner(sides)
122
+ if @rand_results.size >= UPPER_LIMIT_RANDS
123
+ raise TooManyRandsError
124
+ end
125
+
116
126
  dice = random(sides)
117
127
 
118
128
  @rand_results << [dice, sides]
@@ -134,4 +144,6 @@ module BCDice
134
144
  @detailed_rand_results.push(detail)
135
145
  end
136
146
  end
147
+
148
+ class TooManyRandsError < StandardError; end
137
149
  end
@@ -99,7 +99,7 @@ module BCDice
99
99
  if block
100
100
  instance_exec(*args, &block)
101
101
  else
102
- eval_game_system(command)
102
+ eval_game_system(input)
103
103
  end
104
104
  end
105
105
 
@@ -38,6 +38,8 @@ module BCDice
38
38
 
39
39
  def initialize(text = nil)
40
40
  @text = text
41
+ @rands = nil
42
+ @detailed_rands = nil
41
43
  @secret = false
42
44
  @success = false
43
45
  @failure = false
@@ -14,25 +14,32 @@ module BCDice
14
14
  # TEXT
15
15
  # table = BCDice::UserDefinedDiceTable.new(text)
16
16
  # table.valid?() #=> true
17
- # table.roll() #=> "飲み物表(6) > 選ばれし者の知的飲料"
17
+ # table.roll().text #=> "飲み物表(6) > 選ばれし者の知的飲料"
18
+ # BCDice::UserDefinedDiceTable.eval(text) #=> #<BCDice::Result>
18
19
  #
19
20
  class UserDefinedDiceTable
21
+ class << self
22
+ # @param text [String]
23
+ # @return [Result nil]
24
+ def roll(text)
25
+ new(text).roll()
26
+ end
27
+ end
28
+
20
29
  # @param text [String] ダイス表のテキストデータ
21
30
  def initialize(text)
22
31
  @text = text
23
- @randomizer = Randomizer.new
24
32
  @rows = nil
25
33
  end
26
34
 
27
- # @return [Randomizer]
28
- attr_accessor :randomizer
29
-
30
35
  # ダイス表をロールする
31
- # @return [String, nil]
32
- def roll
36
+ # @param randomizer [Randomizer]
37
+ # @return [Result, nil]
38
+ def roll(randomizer: Randomizer.new)
33
39
  parse()
34
- index = roll_index()
35
- unless index
40
+
41
+ index = roll_index(randomizer)
42
+ unless valid? && index
36
43
  return nil
37
44
  end
38
45
 
@@ -43,7 +50,11 @@ module BCDice
43
50
  end
44
51
 
45
52
  chosen = row.delete_prefix(key).gsub('\n', "\n").strip
46
- return "#{@name}(#{index}) > #{chosen}"
53
+ Result.new.tap do |r|
54
+ r.text = "#{@name}(#{index}) > #{chosen}"
55
+ r.rands = randomizer.rand_results
56
+ r.detailed_rands = randomizer.detailed_rand_results
57
+ end
47
58
  end
48
59
 
49
60
  # 有効なダイス表かをチェックする。テキスト形式のミスだけではなく、抜けている出目や範囲外の出目がないか確認する。
@@ -75,20 +86,20 @@ module BCDice
75
86
  private
76
87
 
77
88
  # @return [Integer, nil]
78
- def roll_index
89
+ def roll_index(randomizer)
79
90
  if (m = /^(\d+)D(\d+)$/.match(@type))
80
91
  times = m[1].to_i
81
92
  sides = m[2].to_i
82
- return @randomizer.roll_sum(times, sides)
93
+ return randomizer.roll_sum(times, sides)
83
94
  end
84
95
 
85
96
  case @type
86
97
  when "D66", "D66N"
87
- @randomizer.roll_d66(D66SortType::NO_SORT)
98
+ randomizer.roll_d66(D66SortType::NO_SORT)
88
99
  when "D66A", "D66S"
89
- @randomizer.roll_d66(D66SortType::ASC)
100
+ randomizer.roll_d66(D66SortType::ASC)
90
101
  when "D66D"
91
- @randomizer.roll_d66(D66SortType::DESC)
102
+ randomizer.roll_d66(D66SortType::DESC)
92
103
  end
93
104
  end
94
105
 
@@ -1,3 +1,3 @@
1
1
  module BCDice
2
- VERSION = "3.0.0-alpha.2".freeze
2
+ VERSION = "3.0.0-rc.1".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bcdice
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.pre.alpha.2
4
+ version: 3.0.0.pre.rc.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - SAKATA Sinji
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-20 00:00:00.000000000 Z
11
+ date: 2021-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -31,25 +31,9 @@ executables: []
31
31
  extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
- - ".editorconfig"
35
- - ".github/.codecov.yaml"
36
- - ".github/workflows/coverage.yaml"
37
- - ".github/workflows/lint.yaml"
38
- - ".github/workflows/test.yml"
39
- - ".gitignore"
40
- - ".rubocop.yml"
41
- - ".rubocop_todo.yml"
42
34
  - CHANGELOG.md
43
- - Gemfile
44
35
  - LICENSE
45
36
  - README.md
46
- - ROADMAP.md
47
- - Rakefile
48
- - bcdice.gemspec
49
- - bin/repl.rb
50
- - docs/README.txt
51
- - docs/dicebot_sort_key.md
52
- - docs/how_to_make_dicebot.md
53
37
  - i18n/Amadeus/ja_jp.yml
54
38
  - i18n/Amadeus/ko_kr.yml
55
39
  - i18n/Cthulhu/ja_jp.yml
@@ -74,6 +58,7 @@ files:
74
58
  - i18n/LogHorizon/ja_jp.yml
75
59
  - i18n/LogHorizon/ko_kr.yml
76
60
  - i18n/MagicaLogia/ja_jp.yml
61
+ - i18n/MagicaLogia/ko_kr.yml
77
62
  - i18n/MonotoneMuseum/ja_jp.yml
78
63
  - i18n/MonotoneMuseum/ko_kr.yml
79
64
  - i18n/Nechronica/ja_jp.yml
@@ -84,24 +69,26 @@ files:
84
69
  - i18n/ko_kr.yml
85
70
  - i18n/zh_hant.yml
86
71
  - lib/bcdice.rb
72
+ - lib/bcdice/arithmetic.rb
87
73
  - lib/bcdice/arithmetic/node.rb
74
+ - lib/bcdice/arithmetic/parser.rb
88
75
  - lib/bcdice/arithmetic_evaluator.rb
89
76
  - lib/bcdice/base.rb
90
- - lib/bcdice/command_parser.rb
77
+ - lib/bcdice/command/lexer.rb
78
+ - lib/bcdice/command/parsed.rb
79
+ - lib/bcdice/command/parser.rb
91
80
  - lib/bcdice/common_command.rb
92
81
  - lib/bcdice/common_command/add_dice.rb
93
82
  - lib/bcdice/common_command/add_dice/node.rb
94
83
  - lib/bcdice/common_command/add_dice/parser.rb
95
- - lib/bcdice/common_command/add_dice/parser.y
96
84
  - lib/bcdice/common_command/add_dice/randomizer.rb
97
85
  - lib/bcdice/common_command/barabara_dice.rb
98
86
  - lib/bcdice/common_command/barabara_dice/node.rb
99
87
  - lib/bcdice/common_command/barabara_dice/parser.rb
100
- - lib/bcdice/common_command/barabara_dice/parser.y
88
+ - lib/bcdice/common_command/barabara_dice/result.rb
101
89
  - lib/bcdice/common_command/calc.rb
102
90
  - lib/bcdice/common_command/calc/node.rb
103
91
  - lib/bcdice/common_command/calc/parser.rb
104
- - lib/bcdice/common_command/calc/parser.y
105
92
  - lib/bcdice/common_command/choice.rb
106
93
  - lib/bcdice/common_command/d66_dice.rb
107
94
  - lib/bcdice/common_command/lexer.rb
@@ -109,16 +96,15 @@ files:
109
96
  - lib/bcdice/common_command/reroll_dice.rb
110
97
  - lib/bcdice/common_command/reroll_dice/node.rb
111
98
  - lib/bcdice/common_command/reroll_dice/parser.rb
112
- - lib/bcdice/common_command/reroll_dice/parser.y
113
99
  - lib/bcdice/common_command/upper_dice.rb
114
100
  - lib/bcdice/common_command/upper_dice/node.rb
115
101
  - lib/bcdice/common_command/upper_dice/parser.rb
116
- - lib/bcdice/common_command/upper_dice/parser.y
117
102
  - lib/bcdice/common_command/version.rb
118
103
  - lib/bcdice/deprecated/checker.rb
119
104
  - lib/bcdice/dice_table.rb
120
105
  - lib/bcdice/dice_table/chain_table.rb
121
106
  - lib/bcdice/dice_table/d66_grid_table.rb
107
+ - lib/bcdice/dice_table/d66_parity_table.rb
122
108
  - lib/bcdice/dice_table/d66_range_table.rb
123
109
  - lib/bcdice/dice_table/d66_table.rb
124
110
  - lib/bcdice/dice_table/range_table.rb
@@ -133,6 +119,7 @@ files:
133
119
  - lib/bcdice/game_system/AFF2e.rb
134
120
  - lib/bcdice/game_system/AceKillerGene.rb
135
121
  - lib/bcdice/game_system/Airgetlamh.rb
122
+ - lib/bcdice/game_system/AlchemiaStruggle.rb
136
123
  - lib/bcdice/game_system/Alsetto.rb
137
124
  - lib/bcdice/game_system/Alshard.rb
138
125
  - lib/bcdice/game_system/AlterRaise.rb
@@ -222,6 +209,7 @@ files:
222
209
  - lib/bcdice/game_system/Insane_Korean.rb
223
210
  - lib/bcdice/game_system/IthaWenUa.rb
224
211
  - lib/bcdice/game_system/JamesBond.rb
212
+ - lib/bcdice/game_system/JuinKansen.rb
225
213
  - lib/bcdice/game_system/Kamigakari.rb
226
214
  - lib/bcdice/game_system/Kamigakari_Korean.rb
227
215
  - lib/bcdice/game_system/KanColle.rb
@@ -235,6 +223,7 @@ files:
235
223
  - lib/bcdice/game_system/LostRecord.rb
236
224
  - lib/bcdice/game_system/LostRoyal.rb
237
225
  - lib/bcdice/game_system/MagicaLogia.rb
226
+ - lib/bcdice/game_system/MagicaLogia_Korean.rb
238
227
  - lib/bcdice/game_system/MeikyuDays.rb
239
228
  - lib/bcdice/game_system/MeikyuKingdom.rb
240
229
  - lib/bcdice/game_system/MeikyuKingdomBasic.rb
@@ -351,7 +340,7 @@ files:
351
340
  - lib/bcdice/version.rb
352
341
  homepage: https://bcdice.org
353
342
  licenses:
354
- - MIT
343
+ - BSD-3-Clause
355
344
  metadata:
356
345
  allowed_push_host: https://rubygems.org/
357
346
  homepage_uri: https://bcdice.org
@@ -1,21 +0,0 @@
1
- root = true
2
-
3
- [*]
4
- end_of_line = lf
5
- insert_final_newline = true
6
- charset = utf-8
7
-
8
- [*.rb]
9
- indent_style = space
10
- indent_size = 2
11
- trim_trailing_whitespace = true
12
-
13
- [Rakefile]
14
- indent_style = space
15
- indent_size = 2
16
- trim_trailing_whitespace = true
17
-
18
- [*.yml]
19
- indent_style = space
20
- indent_size = 2
21
- trim_trailing_whitespace = true
@@ -1,10 +0,0 @@
1
- coverage:
2
- status:
3
- project:
4
- default:
5
- target: 75
6
- threshold: 5%
7
- patch:
8
- default:
9
- target: 75
10
- threshold: 5%
@@ -1,21 +0,0 @@
1
- name: Coverage
2
- on: [push, pull_request]
3
- jobs:
4
- coverage:
5
- strategy:
6
- fail-fast: false
7
- runs-on: ubuntu-latest
8
- steps:
9
- - uses: actions/checkout@v2
10
- - uses: ruby/setup-ruby@v1
11
- with:
12
- ruby-version: 2.7
13
- bundler-cache: true
14
- - run: bundle install
15
- - uses: paambaati/codeclimate-action@v2.6.0
16
- env:
17
- CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
18
- with:
19
- coverageCommand: bundle exec rake test
20
- coverageLocations: |
21
- ${{github.workspace}}/coverage/.resultset.json:simplecov
@@ -1,13 +0,0 @@
1
- name: Lint
2
- on: [push, pull_request]
3
- jobs:
4
- lint:
5
- runs-on: ubuntu-latest
6
- steps:
7
- - uses: actions/checkout@v2
8
- - uses: ruby/setup-ruby@v1
9
- with:
10
- ruby-version: 2.7
11
- bundler-cache: true
12
- - run: bundle install
13
- - run: bundle exec rake rubocop
@@ -1,20 +0,0 @@
1
- name: Test
2
- on: [push, pull_request]
3
- jobs:
4
- test:
5
- strategy:
6
- fail-fast: false
7
- matrix:
8
- ruby: [2.5, 2.6, 2.7]
9
- runs-on: ubuntu-latest
10
- steps:
11
- - uses: actions/checkout@v2
12
- - uses: ruby/setup-ruby@v1
13
- with:
14
- ruby-version: ${{ matrix.ruby }}
15
- bundler-cache: true
16
- - name: "Set CHECK_COVERAGE=true on Ruby 2.7"
17
- run: echo "CHECK_COVERAGE=true" >> $GITHUB_ENV
18
- if: matrix.ruby == '2.7'
19
- - run: bundle install
20
- - run: bundle exec rake test
data/.gitignore DELETED
@@ -1,14 +0,0 @@
1
- bcdice.exe
2
- *.rb~
3
- *.bak
4
- *.txt~
5
- *.html~
6
- tmp.txt
7
- .bundle/
8
- vendor/
9
- Gemfile.lock
10
- coverage/
11
- doc/
12
- .yardoc/
13
- bin/repl_history
14
- pkg/
@@ -1,108 +0,0 @@
1
- inherit_from: .rubocop_todo.yml
2
-
3
- AllCops:
4
- Exclude:
5
- - 'node_modules/**/*'
6
- - 'tmp/**/*'
7
- - 'vendor/**/*'
8
- - '.git/**/*'
9
- - lib/bcdice/common_command/add_dice/parser.rb
10
- - lib/bcdice/common_command/barabara_dice/parser.rb
11
- - lib/bcdice/common_command/calc/parser.rb
12
- - lib/bcdice/common_command/reroll_dice/parser.rb
13
- - lib/bcdice/common_command/upper_dice/parser.rb
14
-
15
- # Due to old Ruby 1.8.x
16
- Style/Lambda:
17
- EnforcedStyle: lambda
18
-
19
- # Due to old Ruby 1.8.x
20
- Style/SpecialGlobalVars:
21
- EnforcedStyle: use_perl_names
22
-
23
- Layout/EndOfLine:
24
- EnforcedStyle: lf
25
-
26
- Layout/FirstArrayElementIndentation:
27
- EnforcedStyle: consistent
28
-
29
- Layout/SpaceInsideHashLiteralBraces:
30
- EnforcedStyle: no_space
31
-
32
- Naming/VariableName:
33
- Enabled: false
34
-
35
- Naming/VariableNumber:
36
- Enabled: false
37
-
38
- Style/AsciiComments:
39
- Enabled: false
40
-
41
- Style/CommentedKeyword:
42
- Enabled: false
43
-
44
- Style/ConditionalAssignment:
45
- Enabled: false
46
-
47
- Style/DefWithParentheses:
48
- Enabled: false
49
-
50
- Style/Documentation:
51
- Enabled: false
52
-
53
- Style/NegatedWhile:
54
- Enabled: false
55
-
56
- Style/NumericLiterals:
57
- MinDigits: 6
58
-
59
- Style/WordArray:
60
- Enabled: true
61
- EnforcedStyle: brackets
62
-
63
- Style/FrozenStringLiteralComment:
64
- Enabled: false
65
-
66
- Style/GuardClause:
67
- Enabled: false
68
-
69
- Style/IfUnlessModifier:
70
- Enabled: false
71
-
72
- Style/MethodCallWithoutArgsParentheses:
73
- Enabled: false
74
-
75
- Style/NumericPredicate:
76
- Enabled: false
77
-
78
- Style/PercentLiteralDelimiters:
79
- Enabled: false
80
-
81
- Style/RedundantReturn:
82
- Enabled: false
83
-
84
- Style/StringLiterals:
85
- Enabled: true
86
- EnforcedStyle: double_quotes
87
- Exclude:
88
- - 'lib/bcdice/game_system/*.rb'
89
-
90
- Style/SymbolProc:
91
- Exclude:
92
- - 'lib/bcdice/repl.rb' # DSLを実装しているため
93
-
94
- Style/SymbolArray:
95
- Enabled: true
96
- EnforcedStyle: brackets
97
-
98
- Style/TrailingCommaInArrayLiteral:
99
- Enabled: false
100
-
101
- Style/TrailingCommaInHashLiteral:
102
- Enabled: false
103
-
104
- Style/WhileUntilModifier:
105
- Enabled: false
106
-
107
- Style/YodaCondition:
108
- EnforcedStyle: forbid_for_equality_operators_only