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
- 2 Arrays 1 Sort
- 80's Kids #1: How Many Licks Does it Take?
- 80's Kids #3: Punky Brewster's Socks
- 80's Kids #4: Legends of the Hidden Temple
- 80's Kids #7: She's a Small Wonder
- A Needle in the Haystack
- AD2070: Help Lorimar troubleshoot his robots- ultrasonic distance analysis
- Acronym Buster
- Adding Binary Numbers
- Airport Arrivals/Departures - #1
- Algorithmic predicament- Bug Fixing #9
- Alphabet war - airstrike - letters massacre
- Alphabet war
- Alphabetized
- Always perfect
- Are they square 2?
- Array Info
- Arrays and hex color codes
- BBQ Pitmaster
- Balanced Number (Special Numbers Series #1 )
- Band name generator
- Barking mad
- Base Conversion
- Basic DeNico
- Basic Sequence Practice
- Batman Quotes
- Breadcrumb Generator
- Caesar Cipher Helper
- Calculating Expected Utility
- Cambridge Word Scramble
- Chuck Norris III - Cage Match
- Class conundrum - Bug Fixing #7
- Computing the complex logarithm function
- Convert between radians and degrees
- Correct the date-string
- Custom Christmas Tree
- Cycle Detection: greedy algorithm
- D&D Character generator #3: carrying capacity
- Decibel Scale
- Decimal to any Rational or Irrational Base Converter
- Delete occurrences of an element if it occurs more than n times
- Difference between biggest 2 numbers
- Déjà vu Duplicates
- EAN Validation
- Elementary Arithmetic - Carries Count
- Elo rating - one game, one pair
- Explosive Sum
- Factorial tail
- Feed Kahumolings!
- Fibonacci, Tribonacci and friends
- Find heavy ball - level: conqueror
- Find heavy ball - level: master
- Find heavy ball - level: novice
- Finish Guess the Number Game
- Geometric Mean I
- Geometric Mean II
- Get the Excel column title!
- Grasshopper - Bug Squashing
- Group Repeating Fractions
- HTML Complementary Color
- Hamming Numbers
- Hamster me
- Histogram - H1
- Job Matching #1
- Josephus Permutation
- Josephus Survivor
- Jumble words
- Jumping Number (Special Numbers Series #4)
- LOTTO 6 aus 49 - 6 of 49
- Last digit of a large number
- Make a spiral
- Map function issue
- Max number of people and year in a specific place
- Maximum Multiple
- Maximum Triplet Sum (Array Series #7)
- Morse Encoding
- Most improved - Puzzles #4
- Multiply Two Numbers Without Integers
- Name on billboard
- Ninja vs Samurai: Attack + Block
- No Modulo Mk II
- Number , number ... wait LETTER !
- Number encrypting: decypher
- One Variable Second Degree Equation Solver
- Parse the log
- Permutations Of An Array And Associated Values
- Prefill an Array
- Prime number decompositions
- Ratio of Bouncy Numbers
- RegExp Fun #1 - When I miss few days of gym
- Regex Password Validation
- Remember
- Remove HTML tags using regexp
- Return 1, 2, 3 randomly
- Sequence classifier
- Shop Inventory Manager
- Simple Events
- Simple fraction to mixed number converter
- Sweet Dreams are Made of Cheese
- Text align justify
- There are two kinds of people
- Tom's Allergies
- Transpose of a Matrix
- UN-usual Sort
- Width-Height Ratio
- validDate Regex
- validate code with simple regex
- zero-balanced Array
anter69
- Calculate Derivative #1 - Single Integer Equation
- Consecutive Count
- Find the Integral
- Iterative Rotation Cipher
- Square sums (simple)
- String -> N iterations -> String
- Strong password?
- Unary Messages
g964
- Backwards Read Primes
- Disguised sequences (II)
- Double Cola
- First Variation on Caesar Cipher
- Floating-point Approximation (III)
- Growth of a Population
- I love big nums and I cannot lie
- Is my friend cheating?
- Looking for a benefactor
- Meeting
- Primes in numbers
- What's a Perfect Power anyway?
- Which are in?
myjinxin2015
jhoffner
- ASCII85 Encoding & Decoding
- Codewars style ranking system
- Linked Lists - Get Nth Node
- Nesting Structure Comparison
- Ruby Array invoke instance method
- Simple Interactive Interpreter
- Simpler Interactive Interpreter
- Temperature converter
- The builder of things
- Typer.js
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 nestedit
.
- #10 Matrices: Creating Hankel Matrices
- Approximate Fractions
- Are you Geometric or Arithmetic? No, I´m both of them.
- Avoid trillion years of calculations !!
- Building Chains Using the Arithmetic Derivative of a Number
- Composed Integers Having Prime Factors Only Once
- Equivalent Dice
- Generate Numbers From Digits #2
- Identifying Top Users and their Corresponding Purchases On a Website
- Non Decomposable Primes as Sums of Perfect Squares
- Possible Triangles Formed with Available Iron Rods
- Primes with Even Digits
- Rearrangement of Numbers to Have The Minimum Divisible by a Given Factor
- Required Data I
- Simultaneous Equations - Three Variables
- Sorting Arrays by the Amount of Perfect Squares that Each Element May Generate
- The Primes as a Result of the Longest Consecutive Sum I (https://www.codewars.com/kata/57aaaada72292d3b8f0001b4/ruby)
- Tracking Hits for Different Sum Values for Different Kinds of Dice
- Working With Coloured Numbers II
- Working With Coloured Numbers
adrian.eyre
- Adding words - Part II
- Connect 4
- Guess Who?
- Guess the Word: Count Matching Letters
- Pigs in a Pen
- Street Fighter 2 - Character Selection - Part 2
- Sum of all the multiples of 3 or 5
- Vending Machine
nbeck
NaMe613
- Building blocks
- Consecutive Digit Constraints
- Fractions of a currency' smallest value
- Last man standing
- Recursive Floor Sequence
- Routes in a square grid
- Sequence generator
- Special Multiples
- Using the Codewars API - Kata Rank
- Zip it!
bellmyer
- Football Fever!
- Loop Through Conway's Game of Life
- Make Ruby Hashes Act Like JavaScript Objects
- Solve the Mysteries of Christianity
Blind4Basics
- Alphametics Solver
- Battleship field validator II
- Battleship field validator
- Bird Mountain
- Blaine is a pain
- Break the pieces (Evilized Edition)
- Cut the cake
- Expression Transpiler
- Gerrymander Solver
- Hard Sudoku Solver
- Hard Sudoku Solver
- Mahjong - #1 Pure Hand
- Path Finder #3: the Alpinist
- Puzzle Fighter
- Simplifying
- Symbolic differentiation of prefix expressions
- Transforming Maze Solver
KenKamau
user8436785
- 2D Vector Mapping
- Consecutive Ducks
- Hexagon Beam Max Sum
- Line Safari - Is that a line?
- List of all Rationals
- Schrödinger's Boolean
Firefly2002
- ATM Heist
- Climbing the Leaderboard
- Connect Four
- Dumb News: The Truth About CW Leaderboard !
- Find the Word Pair!
- How many are smaller than me II?
- Memory Reallocation
- Missing number in Unordered Arithmetic Progression
- One Line Task: Squirrel And Tree
- One line task: Square Every Digit
- Prime Streaming (PG-13)
10XL
- Argue the toss
- Find within array
- Generate An Array of Unique Strings
- Scraping: Codewars Top 500 Users
- The rarest pepe
- Translate to 1337
Mackay
- Calculate the function f(x) for a simple linear sequence (Easy)
- Calculate the function f(x) for a simple linear sequence (Medium)
- Football League Table System
- Guess the number!
- Roulette Bet Calculator
- Tile Map Path Finding
user578387
DiegoSalazar
- Basic HTTP Response Class
- Basic Router With Named Segments
- Implement Hash#safe_dig
- Map With Empty Fallback
- Readable N choose K
- Split Into Arrays of Equal Size
hilary
- 80's Kids #10: Captain Planet
- 80's Kids #6: Rock 'Em, Sock 'Em Robots
- 80's Kids #8: The Secret World of Alex Mack
- 80's Kids #9: Down in Fraggle Rock
- Create a House Cleaning Rota
- Magic The Gathering #2: Mana
leesc22
- Average Array
- Back to the Future?
- Simple Fun #332: Catch Thief
- Simple Fun #341: Minimum Bonus
- Simple Fun #344: Children And Apples
xDranik
narayanswa30663
Insti
- Every nth array element. (Advanced)
- Food combinations
- Reversi row rudiments
- Testing 'Food combinations'
Voile
- BECOME IMMORTAL
- Faberge easter eggs crush test [linear]
- Geohashing
- Insane Coloured Triangles
- Regular Expression - Check if divisible by 0b111 (7)
- Round and Round
- Upside-Down Numbers - Challenge Edition
moonfly
- Deadlock Detection
- Find The Object
- Re-entrant Mutex (aka Counting Mutex)
- Storing Codes
- Wait on All Threads
- Wait on Any Thread
nakulgupta18
user8476848
Lordnibbler
bestwebua
ineiti
- Add _ - accessors to Hash
- Get config values of hash
- Phone my kids
- Return substring instance count - 2
- Set - the card game
tachyonlabs
pawptart
kevinthomas
Coder_38
omegahm
srMarquinho
Beast
- Guess the list pattern #3
- Guess the list pattern #5
- Guess the list pattern #6
- Guess the string pattern #1 - Advanced
sunboshan
BattleRattle
davidhu2000
ogryzek
devtheory
JonathanHallam
obnounce
AcesOfGlory
user8580805
sahglie
wengzilla
hencethus
mcclaskc
noku
Dr Phil
arwengu
- Decimals or groups of thousands??
- [Minecraft Series #3] Lava is amazing!
- [Minecraft Series #4] Lava is amazing, however...
nekokat
Glyxerine
ReganRyanNZ
CorsaiR
ajLapid718
pioraid
Javatlacati
craecke
chipit24
SaladFork
rohitpaulk
benzrf
mcelearr
GeorgeSeeger
Antiokus314
Roy Gardiner
Chrono79
kkavita92
phaul
Fluffy
prestidigitation
lokulin
matstc
vgrichina
CrowdHailer
rsalgado
hagi
Tavio
donaldsebleung
- Esolang Interpreters #1 - Introduction to Esolangs and My First Interpreter (MiniStringFuck)
- The Prediction
Tokariev Serhii
user9935269
Unihedron
BurstNova
ggmoy
tansaku
cgthornt
hassanmir92
Leadboy
daveallie
JoshBrodieNZ
SnooperSnayk
troglodite
Drymonade
nyi
thatrubylove
mariohernandezv
Others
- The Power of Exponents
- The dropWhile Function
- Array of all primes up to number N
- Do you know how to make Query String?
- STRING-ASCII_STRING??
- Life of Possibilities
- Strip Url Params
- Calculate Hypotenuse of Right-angled Triangle
- Good vs Evil
- Who has the most money?
- Pascal's Triangle #2
- Dreidel dreidel
- Adding ordinal indicator suffixes to numbers
- Sort sentence pseudo-alphabetically
- Atbash Cipher Helper
- Palindrome for your Dome
- Big to Little Endian
- Evil Autocorrect Prank
- What adds up
- Bracket Duplicates
- Wind component calculation
- House of cards
- Ping-Pong service problem
- Run-length encoding
- NATO Phonetic Alphabet Ruby
- Triangular matrices.
- Triangle number check
- Enigeliisohe too Eniigeeliiisoohee Toroanisoliatooro
- Crack the Encrypted Email
- Next level string padding
- Backspaces in string
- Let's flat them out
- Doors in the school
- 0 to 100, real quick!
- DotNotation Transformer
- The Wolf of Wall Street
- Unique Strings
- Reversing Euclid's GCD. Parameters out of results
- Keith Numbers
- IBAN Validator
- Pythagorean Triplets
- Vonhyou's Math Class!
- Squares in a Rectangle
- Read a UPC/Barcode
- Word Segmentation: MaxMatch
- Where my anagrams at?
- Rotate an array matrix
- My smallest code interpreter (aka Brainf**k)
- Greed is Good
- Email Validation
- Convert PascalCase string into snake_case
- Can you get the loop ?
- #Hashtag
- Trip Checker
- Tree Reconstruction
- Blackjack Scorer
- Integer to English
- Cycle Detection: Floyd's The Tortoise and the The Hare
- self_converge
- Earliest Occurring Unique Value in Stream
- Endianness Conversion
- Quipu Calculator
- Fouriest transformation
- Snail
- The observed PIN
- Sort binary tree by levels
- Carmichael function
- Recover a secret string from random triplets
- Find all possible number combos that sum to a number
- Longest Common Subsequence (Performance version)
- Calculator
- Rail Fence Cipher: Encoding and Decoding
- Knight's Attack!
- Decode the Morse code, for real
- Count the likes
- Cable Matching Problem
- Synchonizing records
- counting in dot notation
- Count IPv6 Addresses (ruby only)
- Create a linked list class and its methods
- German Unicode Characters to ASCII Equivalents
- Date Range Formatter
- Texas Hold'em Poker
- Reverse word order in place.
- Best GF (Guardian Force) junctions based on compatibility
- Playfair cipher
- Palindromes
- Word proposals
- Square Root Games
- Mahjong II: Is this complex set a winning set?
- Dependency check
- Clock hands angle
- How many dots are covered
- Rep The Set, Gotta Rep The Power Set
- Count the number of instances of three identical digits on a four-digit digital clock
- Connecting Linked Lists
- Basic variable assignment
- Push a hash/an object into array
- Incorrect array_remove method
- Failed Sort - Bug Fixing #4
- Broken Collatz
- Not very secure
- Gravity Flip
- Find the max depth in an array
- Number of Rectangles in a Grid
- Slamming Lockers
- Thinking & Testing : Uniq or not Uniq
- 5 without alphanums!!!
- Player Contact Manager
- Hard Time Bomb
- Feynman's square question
- Mysterious function
- Sum #1
- Mr. Safety's treasures
- XOR string reduction
- Button sequences
- Towers of Hanoi
- Luck check
- Cheating a bit...
- A Chain adding function
- Did I Finish my Sudoku?
- Base64 Numeric Translator
- Find the code and open the safe
- Sting like a bee, float like a sponge?
- Path Finder #4: where are you?
- Ruby’s Eleven
- 6 By 6 Skyscrapers
- Haskellish Syntax
- Guess the Passtune
- The cross-stitch Kata
- stripper_namer
- Natural Language Calculator
- Easy hacking #1
- Triangular Peg Solitaire Solver
- Improving hashes.
- Grader
- Counting sheep...
- Are arrow functions odd?
- Who ate the cookie?
- Grasshopper - Messi Goals
- Compare within margin
- Add new item (collections are passed by reference)
- Remove First and Last Character Part Two
- Merging sorted integer arrays (without duplicates)
- Thinkful - Number Drills: Blue and red marbles
- Ensure question
- Who is going to pay for the wall?
- Help the Elite Squad of Brazilian forces BOPE
- Area or Perimeter
- Ruby Metaprogramming 101 - Dynamic Method Calls
- No Modulo
- Flatten
- Power of two
- Re-open class
- We Have Liftoff
- Last
- greetings with First Name AND Last Name
- Lazily executing a function
- Next birth-day of the week finder
- Find sum of top-left to bottom-right diagonals
- sum_eq_n?
- Center of the Matrix
- Converting integer to currency format
- Big Factorial
- Do you speak retsec?
- Russian postal code checker
- Parsing Commandline Arguments
- Find Duplicates
- Counting Array Elements
- Help the Fruit Guy
- Is n divisible by (...)?
- Capitals first!
- Trigrams
- Filter Coffee
- Array comparator
- Quicksum
- Simple template
- Translate anything into French !
- Integer Difference
- Sum squares of numbers in list that may contain more lists
- Personalising Spammy Marketing Emails
- Exclamation marks series #18: a simple slot machine that only contains exclamation marks and question marks
- String Scramble
- Changing letters
- No yelling!
- TIY-FizzBuzz
- Return the first M multiples of N
- Reverse the bits in an integer
- Odder Than the Rest
- Remove B M W
- Alphabetically ordered
- Knight position
- Dropzone
- Alphabetical Sequence
- Bob's Treasure Map
- Will you survive the zombie onslaught?
- Custom each() Array method
- Title Case
- Bag#every?
- Two Sum
- Format a string of names like 'Bart, Lisa & Maggie'.
- Array Exchange
- Command line parameters
- Word a10n (abbreviation)
- Pretty date
- Grouping and Counting
- Flexible Card Game
- Harshad or Niven numbers
- Multi-tap Keypad Text Entry on an Old Mobile Phone
- Tick Toward
- Format Text
- Tree Depth
- Polynomial Evaluation - Binomial Form
- Find the biggest piece of gold
- Lucky Sevens
- Parse HTML/CSS Colors
- Markings to White Triangles and How to Find Them
- Ka Ka Ka cypher - words only vol 1
- Matrix Rotation
- How many feelings?
- The Strongest Tree in the Forest
- Extract the domain name from a URL
- Custom Enumerators - Fibonacci
- Gift Unwrapping
- Vector Class
- Find All Array Values That Fall Within a Given Difference
- Dynamic instance variables & attributes
- Sum of pairs
- Pandigital Sequence
- Fluent Calculator
- To BrainFuck Transpiler
- Word statistics
- Clock Hands
- Tug-o'-War
- Construct Javascript-method syntax in Ruby
- Temp Tracker: Max, Min, Mean and Mode
- Server: Connection Pool
- Strings to worded numbers
- Easter Eggs
- Convert to ledger format
- Cost of Shopping
- Lat/Long Parser
- Event Date Dilemma
- Implement a client for an API
- Call a block on an array multiple times
- DIY ActiveRecord a.k.a KataRecord
- Narcissistic Numbers
- Robot Walk
- Brainunpack
- Compress string to return letter followed by numbers of times it occurs in a string
- Stop worrying!
- Go Shopping
- Gammas text manipulation 1: Detecting errors using regexp
- Non-consecutive Pairs
- Lucky Number - Simple
- Clear the Catacombs!
- Morse Code (translate text to and from morse code)
- The Black Panther Language
- Truncate string to first n words
- Basic Statement Coverage in Unit Testing
- Group your pupils