List of Ruby Kata to Update - codewars/content-issues GitHub Wiki

Ruby 3.0 was added. This page lists the kata requiring manual updates.

Overview

From Ruby 3.0, we'll be using RSpec under the hood instead of a custom test framework. Tests should be compatible as long as the structure matches describe -> it -> assertion. Assertion methods from the old test framework is still available to help with migration, but it should not be used for new tests.

/home/codewarrior/solution.txt no longer exists, use /workspace/solution.txt, which is the standard location for all languages and versions (also exists in older language versions).

Test.describe and Test.it are no longer supported.

To Update

To avoid enabling Ruby 3.0 for a kata with some edge cases, the structure of the test was checked before running it with Ruby 3.0. This section lists both kata with unsupported test structure or failing with Ruby 3.0.

Examples:

describe -> assertion is invalid:

describe "Group" do
  Test.assert_equals(add(1, 1), 2)
end

it without describe is invalid:

it "test case" do
  Test.assert_equals(add(1, 1), 2)
end

Top level assertion is invalid:

Test.assert_equals(add(1, 1), 2)

Useless test group/case like the following should be removed:

describe "Not a test group" do
  puts "some fancy output"
end

Unfortunately, there are many from myjinxin. Also, remove/minimize any logs in test cases.

Assertions can be updated to use RSpec matchers at the same time, but fixing the test structure to make it Ruby 3.0 compatible should be prioritized.

Use the new "Fork" feature to update:

You should see "Fork" when viewing a kata with the language you've completed in selected. Click that to open a translation editor with the current version filled in. The proposed changes can be merged or rejected after publishing, just like translations.

List of Kata

NOTE: If you find a repeating pattern that can be fixed using a Ruby script, let me know.

These are grouped by the translator unless the translator only did one.

GiacomoSorbi

  1. 80's Kids #7: She's a Small Wonder
  2. AD2070: Help Lorimar troubleshoot his robots- ultrasonic distance analysis
  3. Acronym Buster
  4. Adding Binary Numbers
  5. Airport Arrivals/Departures - #1
  6. Always perfect
  7. Arrays and hex color codes
  8. Barking mad
  9. Base Conversion
  10. Calculating Expected Utility
  11. Cambridge Word Scramble
  12. Class conundrum - Bug Fixing #7
  13. Correct the date-string
  14. Déjà vu Duplicates
  15. Elo rating - one game, one pair
  16. Feed Kahumolings!
  17. Find heavy ball - level: conqueror
  18. Find heavy ball - level: master
  19. Find heavy ball - level: novice
  20. Finish Guess the Number Game
  21. Geometric Mean I
  22. Geometric Mean II
  23. Get the Excel column title!
  24. Grasshopper - Bug Squashing
  25. HTML Complementary Color
  26. Job Matching #1
  27. Jumble words
  28. Jumping Number (Special Numbers Series #4)
  29. LOTTO 6 aus 49 - 6 of 49
  30. Map function issue
  31. Max number of people and year in a specific place
  32. Maximum Triplet Sum (Array Series #7)
  33. Multiply Two Numbers Without Integers
  34. Name on billboard
  35. Ninja vs Samurai: Attack + Block
  36. No Modulo Mk II
  37. Number , number ... wait LETTER !
  38. Number encrypting: decypher
  39. Parse the log
  40. Permutations Of An Array And Associated Values
  41. Prefill an Array
  42. Ratio of Bouncy Numbers
  43. RegExp Fun #1 - When I miss few days of gym
  44. Regex Password Validation
  45. Remove HTML tags using regexp
  46. Return 1, 2, 3 randomly
  47. Shop Inventory Manager
  48. Simple Events
  49. Simple fraction to mixed number converter
  50. Text align justify
  51. There are two kinds of people
  52. Tom's Allergies
  53. Transpose of a Matrix
  54. Width-Height Ratio
  55. validDate Regex

anter69

  1. Iterative Rotation Cipher
  2. Square sums (simple)
  3. Unary Messages

g964

  1. Backwards Read Primes
  2. Floating-point Approximation (III)
  3. What's a Perfect Power anyway?
  4. Which are in?

myjinxin2015

  1. Simple Fun #128: Doubly Not Less
  2. Simple Fun #56: Beautiful Text

jhoffner

  1. ASCII85 Encoding & Decoding
  2. Codewars style ranking system
  3. Linked Lists - Get Nth Node
  4. Ruby Array invoke instance method
  5. Simple Interactive Interpreter
  6. Simpler Interactive Interpreter
  7. Temperature converter
  8. The builder of things

raulbc777

Can be updated by s/it .+\n\s+(.+)\s+end/\1/

Removes it when there's a single line in between. Some tests have more than one line inside a nested it.

  1. #10 Matrices: Creating Hankel Matrices
  2. Approximate Fractions
  3. Are you Geometric or Arithmetic? No, I´m both of them.
  4. Avoid trillion years of calculations !!
  5. Building Chains Using the Arithmetic Derivative of a Number
  6. Composed Integers Having Prime Factors Only Once
  7. Equivalent Dice
  8. Generate Numbers From Digits #2
  9. Identifying Top Users and their Corresponding Purchases On a Website
  10. Non Decomposable Primes as Sums of Perfect Squares
  11. Possible Triangles Formed with Available Iron Rods
  12. Primes with Even Digits
  13. Rearrangement of Numbers to Have The Minimum Divisible by a Given Factor
  14. Required Data I
  15. Simultaneous Equations - Three Variables
  16. Sorting Arrays by the Amount of Perfect Squares that Each Element May Generate
  17. The Primes as a Result of the Longest Consecutive Sum I
  18. Tracking Hits for Different Sum Values for Different Kinds of Dice
  19. Working With Coloured Numbers II
  20. Working With Coloured Numbers

adrian.eyre

  1. Connect 4
  2. Guess Who?
  3. Guess the Word: Count Matching Letters
  4. Pigs in a Pen
  5. Vending Machine

NaMe613

  1. Consecutive Digit Constraints
  2. Fractions of a currency' smallest value
  3. Recursive Floor Sequence
  4. Sequence generator
  5. Special Multiples
  6. Using the Codewars API - Kata Rank
  7. Zip it!

bellmyer

  1. Loop Through Conway's Game of Life
  2. Make Ruby Hashes Act Like JavaScript Objects
  3. Solve the Mysteries of Christianity

Blind4Basics

  1. Alphametics Solver
  2. Battleship field validator II
  3. Battleship field validator
  4. Bird Mountain
  5. Blaine is a pain
  6. Break the pieces (Evilized Edition)
  7. Cut the cake
  8. Expression Transpiler
  9. Gerrymander Solver
  10. Hard Sudoku Solver
  11. Hard Sudoku Solver
  12. Mahjong - #1 Pure Hand
  13. Path Finder #3: the Alpinist
  14. Puzzle Fighter
  15. Simplifying
  16. Symbolic differentiation of prefix expressions
  17. Transforming Maze Solver

KenKamau

  1. Product-Sum Numbers
  2. String array duplicates

user8436785

  1. Hexagon Beam Max Sum
  2. Line Safari - Is that a line?
  3. List of all Rationals
  4. Schrödinger's Boolean

Firefly2002

  1. ATM Heist
  2. Climbing the Leaderboard
  3. Find the Word Pair!
  4. How many are smaller than me II?
  5. Missing number in Unordered Arithmetic Progression
  6. Prime Streaming (PG-13)

10XL

  1. Generate An Array of Unique Strings
  2. Scraping: Codewars Top 500 Users
  3. Translate to 1337

Mackay

  1. Football League Table System
  2. Guess the number!
  3. Roulette Bet Calculator

user578387

  1. Array#reduce
  2. Binding within the List Monad
  3. Function Composition

DiegoSalazar

  1. Basic HTTP Response Class
  2. Basic Router With Named Segments
  3. Map With Empty Fallback

hilary

  1. 80's Kids #6: Rock 'Em, Sock 'Em Robots
  2. 80's Kids #8: The Secret World of Alex Mack
  3. Create a House Cleaning Rota
  4. Magic The Gathering #2: Mana

xDranik

  1. Holiday Shopping Priority Queue

narayanswa30663

  1. Arrays and Procs #1
  2. Arrays and Procs #2
  3. Quadratic Enumerator

Insti

  1. Every nth array element. (Advanced)
  2. Food combinations
  3. Testing 'Food combinations'

Voile

  1. BECOME IMMORTAL
  2. Faberge easter eggs crush test [linear]
  3. Geohashing
  4. Insane Coloured Triangles
  5. Regular Expression - Check if divisible by 0b111 (7)
  6. Upside-Down Numbers - Challenge Edition

moonfly

  1. Deadlock Detection
  2. Find The Object
  3. Re-entrant Mutex (aka Counting Mutex)
  4. Storing Codes
  5. Wait on All Threads
  6. Wait on Any Thread

user8476848

  1. We are the Robots d[(0)(0)]b

Lordnibbler

  1. EventEmitter

ineiti

  1. Get config values of hash
  2. Phone my kids
  3. Set - the card game

tachyonlabs

  1. Twice Their Age

omegahm

  1. Santa's Secret Sorting Sequence

Beast

  1. Guess the list pattern #3
  2. Guess the list pattern #5
  3. Guess the list pattern #6
  4. Guess the string pattern #1 - Advanced

sunboshan

  1. Enhenced Fixnum.times method
  2. Filtering Cookie

BattleRattle

  1. Only One Gift Per Child
  2. SantaClausable Interface
  3. Trick the Christmas Calendar!

davidhu2000

  1. Fantasy Football Showdown!
  2. Ruby Functions #1: Define the "Each" Function

ogryzek

  1. Color Ghost
  2. Find the Capitals

devtheory

  1. Numbble

sahglie

  1. ruby + accumulate

hencethus

  1. First n Prime Numbers
  2. Making Change: Part 2
  3. Making Change
  4. Name That Integer

mcclaskc

  1. 1337 Classes
  2. Custom attr_accessor

noku

  1. Slices of a Series of Digits

Dr Phil

  1. Binary Genetic Algorithms

Glyxerine

  1. Queue Battle

ReganRyanNZ

  1. Hello new meta-class!

CorsaiR

  1. Polynomial Class

ajLapid718

  1. High-Stakes Binary Blackjack

pioraid

  1. Playing with cubes I

Javatlacati

  1. Anchorize me!
  2. Make them bark!

chipit24

  1. Polybius Square

rohitpaulk

  1. Choose featured projects for Gratipay's homepage!
  2. Give me my booleans, Mr. Hash!

benzrf

  1. Command-line Option Parser
  2. Instant Runoff Voting

mcelearr

  1. Gone fishin'

GeorgeSeeger

  1. Rotate Rectangles By 45 Degree Jumps

Antiokus314

  1. Abstract Model Magic
  2. Memoized Fibonacci

Roy Gardiner

  1. Simple string validation

Chrono79

  1. Making Copies

phaul

  1. Chess - Pawn move generator
  2. Iterate function
  3. Recipe DSL

vgrichina

  1. Reverse linked list

rsalgado

  1. Binary multiple of 3

hagi

  1. Sherlock on numbers
  2. Sherlock on pockets

Tavio

  1. Integer division

donaldsebleung

  1. Esolang Interpreters #1 - Introduction to Esolangs and My First Interpreter (MiniStringFuck)
  2. The Prediction

Unihedron

  1. Completed Mahjong Hands

BurstNova

  1. The Greatest Warrior

ggmoy

  1. Break the pieces
  2. Tiny Three-Pass Compiler

tansaku

  1. Evaluate mathematical expression
  2. Linear Regression with One Variable

cgthornt

  1. Hash With Indifferent Access
  2. Roles and Permissions

daveallie

  1. Fat Ninjas
  2. Galaxy Getaway

JoshBrodieNZ

  1. Don't rely on luck.
  2. Method Lockdown

SnooperSnayk

  1. Rubyfunge Interpreter

Drymonade

  1. Well efficiency calculator

nyi

  1. Internal Scrambler

thatrubylove

  1. A functional deck of cards....
  2. Lambdas as a mechanism for Open/Closed

Others

  1. The Power of Exponents
  2. The dropWhile Function
  3. Array of all primes up to number N
  4. Do you know how to make Query String?
  5. Life of Possibilities
  6. Strip Url Params
  7. Calculate Hypotenuse of Right-angled Triangle
  8. Evil Autocorrect Prank
  9. What adds up
  10. Crack the Encrypted Email
  11. Next level string padding
  12. IBAN Validator
  13. Vonhyou's Math Class!
  14. My smallest code interpreter (aka Brainf**k)
  15. #Hashtag
  16. Trip Checker
  17. Tree Reconstruction
  18. Integer to English
  19. Cycle Detection: Floyd's The Tortoise and the The Hare
  20. Earliest Occurring Unique Value in Stream
  21. Endianness Conversion
  22. Quipu Calculator
  23. Fouriest transformation
  24. Recover a secret string from random triplets
  25. Longest Common Subsequence (Performance version)
  26. Decode the Morse code, for real
  27. Cable Matching Problem
  28. Synchonizing records
  29. German Unicode Characters to ASCII Equivalents
  30. Date Range Formatter
  31. Best GF (Guardian Force) junctions based on compatibility
  32. Playfair cipher
  33. Mahjong II: Is this complex set a winning set?
  34. Dependency check
  35. How many dots are covered
  36. Count the number of instances of three identical digits on a four-digit digital clock
  37. Basic variable assignment
  38. Push a hash/an object into array
  39. Not very secure
  40. Gravity Flip
  41. Find the max depth in an array
  42. Number of Rectangles in a Grid
  43. Slamming Lockers
  44. Thinking & Testing : Uniq or not Uniq
  45. 5 without alphanums!!!
  46. Player Contact Manager
  47. Hard Time Bomb
  48. Feynman's square question
  49. Mysterious function
  50. Sum #1
  51. Mr. Safety's treasures
  52. XOR string reduction
  53. Towers of Hanoi
  54. Luck check
  55. Cheating a bit...
  56. A Chain adding function
  57. Find the code and open the safe
  58. Sting like a bee, float like a sponge?
  59. Path Finder #4: where are you?
  60. Ruby’s Eleven
  61. 6 By 6 Skyscrapers
  62. Haskellish Syntax
  63. Guess the Passtune
  64. The cross-stitch Kata
  65. Natural Language Calculator
  66. Improving hashes.
  67. Grader
  68. Grasshopper - Messi Goals
  69. Compare within margin
  70. Add new item (collections are passed by reference)
  71. Merging sorted integer arrays (without duplicates)
  72. No Modulo
  73. Re-open class
  74. Next birth-day of the week finder
  75. sum_eq_n?
  76. Center of the Matrix
  77. Russian postal code checker
  78. Parsing Commandline Arguments
  79. Find Duplicates
  80. Is n divisible by (...)?
  81. Quicksum
  82. Simple template
  83. Translate anything into French !
  84. Personalising Spammy Marketing Emails
  85. Return the first M multiples of N
  86. Remove B M W
  87. Custom each() Array method
  88. Title Case
  89. Bag#every?
  90. Two Sum
  91. Array Exchange
  92. Word a10n (abbreviation)
  93. Pretty date
  94. Flexible Card Game
  95. Format Text
  96. Tree Depth
  97. Find the biggest piece of gold
  98. Lucky Sevens
  99. Markings to White Triangles and How to Find Them
  100. The Strongest Tree in the Forest
  101. Extract the domain name from a URL
  102. Custom Enumerators - Fibonacci
  103. Vector Class
  104. Find All Array Values That Fall Within a Given Difference
  105. Dynamic instance variables & attributes
  106. Pandigital Sequence
  107. Fluent Calculator
  108. To BrainFuck Transpiler
  109. Word statistics
  110. Clock Hands
  111. Construct Javascript-method syntax in Ruby
  112. Temp Tracker: Max, Min, Mean and Mode
  113. Server: Connection Pool
  114. Easter Eggs
  115. Event Date Dilemma
  116. Implement a client for an API
  117. Call a block on an array multiple times
  118. DIY ActiveRecord a.k.a KataRecord
  119. Brainunpack
  120. Gammas text manipulation 1: Detecting errors using regexp
  121. The Black Panther Language