bcdice 3.0.0.pre.alpha.2 → 3.0.0.pre.rc.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.
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