beginner.codes 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/lib/challenges.rb +9 -7
  5. metadata +17 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5006bebba31f4e53f2ed1aaf47e71c64522097718fbe76987cc75260a13b5a9
4
- data.tar.gz: d96051234873574596354dbb7ac583c0e9b1c680091212a10ea22f6e55b8fd3f
3
+ metadata.gz: b8de84d0cc7092d0bcb44af92ce102a8e94077a42e44dff82f2b115651109e71
4
+ data.tar.gz: 3f7e092d43c8df7e34aceb6546af41b423ba77bd773b248e4e461678a7235eda
5
5
  SHA512:
6
- metadata.gz: 074fd4a63171990caa85cf13a1892e6a76685f4e72581024b5de46761bf11663792cf829fd8c1fe50abd95224bd99dfa7e8e68ff7540f91b8461509f40dcfcea
7
- data.tar.gz: f72cacb87dcee5406547eb1d87bca7c585b6b3ded39fae93b4fdc3d4a8aadfda6a9e20fe9a2eab599063c75b3b038fa2f19936bab446846362519c38f1ed634b
6
+ metadata.gz: 309b1e6659355f613667320920e2b677b183d61f8f6914817566fd2d8e3acae5ed83b44c9f332f61f6eaf6cd9fec689bf6a5e2bf182104d89a9cd126da9b5b2d
7
+ data.tar.gz: c6437f9788090fc7ccc199f8ae28bb70f94190eed11d42a26ea0aa36185c71db2b400ba49b294b0779a4b6152c454bc7ce3ae333d23f390ae0a8e889e8610587
data/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ # 0.1.3 (1 November 2023)
2
+
3
+ ---
4
+
5
+ ## Enhancements
6
+
7
+ - Added some colors via the 'colorize' gem to make it a little more clear what the expected and received answers were.
8
+
9
+ ## Bug Fixes
10
+
11
+ ## Performance
12
+
13
+ ## Documentation
14
+
15
+ - Added comments to make code 10.25% more helpful
16
+ - Sometimes I feel I've got to <> <> run away.. I've got to <> <> get away..
17
+
18
+ ---
19
+
1
20
  # 0.1.2 (27 October 2023)
2
21
 
3
22
  ---
data/README.md CHANGED
@@ -15,6 +15,6 @@ def n_differences(nums)
15
15
  end # Your code goes here!!!
16
16
 
17
17
 
18
- test(458, n_differences)
18
+ test(458, :n_differences)
19
19
  ```
20
20
  This will handle downloading the necessary challenge test cases and will run them against your code. It will show you which tests failed, what went wrong, and how many tests succeeded.
data/lib/challenges.rb CHANGED
@@ -3,8 +3,8 @@
3
3
  require 'json'
4
4
  require 'uri'
5
5
  require 'net/http'
6
+ require 'colorize'
6
7
 
7
- # this gets imported to your file
8
8
 
9
9
  module Status
10
10
  SUCCESS = 1
@@ -25,10 +25,9 @@ class Result
25
25
  end
26
26
  end
27
27
 
28
-
28
+ # fetches the result from the source
29
29
  def get_tests(challenge)
30
30
  uri = URI("https://raw.githubusercontent.com/beginner-codes/challenges/main/weekday/test_cases_#{challenge}.json")
31
- # uri = URI("https://raw.githubusercontent.com/beginner-codes/challenges/bfb59fe9fbec461a33cc80b20d1d976e9095853c/weekday/test_cases_#{challenge}.json")
32
31
  response = Net::HTTP.get_response(uri)
33
32
  raise "Challenge #{challenge} was not found" unless response.is_a?(Net::HTTPSuccess)
34
33
 
@@ -36,6 +35,7 @@ def get_tests(challenge)
36
35
 
37
36
  end
38
37
 
38
+ # parses your functions and checks if it passes
39
39
  def run_tests(tests, solution_func)
40
40
  results = []
41
41
  tests.each_with_index do |test_case, index|
@@ -53,11 +53,12 @@ def run_tests(tests, solution_func)
53
53
  results
54
54
  end
55
55
 
56
+ # displays the results on the terminal
56
57
  def show_results(challenge, results, total_tests)
57
58
  failures = 0
58
59
  results.each do |result|
59
60
  if result.status.equal?(Status::FAILED)
60
- puts "Test #{result.index} failed: Expected #{result.expected}, got #{result.got}."
61
+ puts "Test #{result.index.to_s.blue} failed: Expected #{result.expected.to_s.green}, got #{result.got.to_s.red}"
61
62
  failures += 1
62
63
  elsif result.status.equal?(Status::EXCEPTION)
63
64
  puts "Test #{result.index} failed: #{result.got}"
@@ -65,11 +66,12 @@ def show_results(challenge, results, total_tests)
65
66
  end
66
67
  end
67
68
  puts ' ' if failures
68
- puts "---- Challenge #{challenge} Results ----"
69
- puts "#{total_tests - failures} passed, #{failures} failed"
70
- puts "\n**** Great job!!! ****" if failures.zero?
69
+ puts "---- Challenge #{challenge} Results ----".light_yellow.on_black
70
+ puts "#{(total_tests - failures).to_s.green} passed, #{failures.to_s.red} failed"
71
+ puts "\n**** Great job!!! ****".green if failures.zero?
71
72
  end
72
73
 
74
+ # the main entry point function
73
75
  def test(challenge, solution_func)
74
76
  tests = get_tests(challenge)
75
77
  results = run_tests(tests, solution_func)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beginner.codes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mr. Robinhood 5
@@ -9,8 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-10-28 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2023-11-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: colorize
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 1.1.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 1.1.0
14
28
  description: This is the un-official RubyGem for the Beginner.Codes Discord server.
15
29
  Test your daily challenge solutions with provided tests automatically to ensure
16
30
  you have a good solution.