Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
solid_assert is a simple implementation of an assert
utility in Ruby. It lets you write tests for your assumptions while coding.
Assertions are meant to test conditions about the integrity of your code. You should use them for testing assumptions like the following:
Add to your Gemfile
:
gem "solid_assert"
You can enable/disable assertions with:
SolidAssert.enable_assertions
SolidAssert.disable_assertions
Assertions are disabled by default and are typically used in development mode only. You might want to disable them in production for performance reasons.
Use assert
for testing conditions. You can optionally provide an error message.
assert some_string != "unexpected value"
assert user.authenticated?
assert apples_count > 5, "Not enough apples!"
assert !clients.empty?, "The list must NOT be empty!"
Use invariant
for testing blocks of code. This comes handy
when testing your assumptions requires several lines of code.
You can provide an optional message too.
invariant do
one_variable = calculate_some_value
other_variable = calculate_some_other_value
one_variable > other_variable
end
invariant "Lists must have equal sizes!" do
len = calculate_list_length
other_len = calculate_other_list_length
len == other_len
end
Failed assertion will raise SolidAssert::AssertionFailedError
error. You shouldn't catch it in a rescue
block! If it raised then something is wrong with either your code or with you assumption. Assertions shouldn't be used for handling error situations! Use Ruby built-in exception handling for that.
Create a file named solid_assert.rb
in the config/initializers
dir with the following content:
SolidAssert.enable_assertions unless Rails.env.production?
This way assertions will be disabled in production and enabled in the rest of environments.
FAQs
Unknown package
We found that solid_assert demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.