Converts anything to string with normalized form. JavaScript equivalent of XSLT normalize-space()
Trims and replaces sequences of whitespace characters by a single space.
A faster (by 16-70%) implementation of "normalize-space-x" package that uses at least 3x less RAM
XPath 1.0 normalize-space analog, winston log formatter
Safely remove repeating whitespace from HTML text.
Normalize slashes in a file path to be posix/unix-like forward slashes. Also condenses repeat slashes to a single slash and removes and trailing slashes, unless disabled.
Normalizes data that can be found in package.json files.
Utility for normalizing a numeric range, with a wrapping function useful for polar coordinates
Safe defaults for cssnano which require minimal configuration.
micromark utility normalize identifiers (as found in references, definitions)
Normalize a URL
Turn any flavor of allowable package.json bin into a normalized object
TypeScript definitions for normalize-package-data
Normalize URLs with PostCSS
Info on the properties and attributes of the web platform
Color normalization for React Native.
Use two values display syntax for inner and outer display types.
Normalize keyword values for position into length values.
Normalize unicode-range descriptors, and can convert to wildcard ranges.
Normalize multiple value display syntaxes into single values.
Convert two value syntax for repeat-style into one value.
modernize node.js to current ECMAScript standards
Read a package.json file
Trim whitespace inside and around CSS rules & declarations.
Unified data extraction — Regex, XPath 1.0, CSS Selectors, and JMESPath behind one query interface
Hurl, run and test HTTP requests
A fast Rust crate for WER, CER, and related ASR evaluation metrics
Universal Markdown - A post-Markdown superset with Bootstrap 5 integration and extensible syntax
XPath for HTML web scraping
Zenify provides a small utility to normalize whitespace in strings, including Japanese full-width spaces.
The PalindromeChecker gem provides a straightforward utility to determine whether a given text is a palindrome. It removes unnecessary characters like spaces, punctuation, and symbols, and normalizes case before performing the palindrome check. This makes it ideal for validating phrases, sentences, or simple strings in various applications. With easy-to-use class methods, this gem is perfect for beginners and useful for quick text validations.
A simple, text-based crowdfunding simulator. Run a group of projects through a series of funding rounds, in which they either receive or lose funds, or are skipped. They also receive a random pledge. Grant projects never lose funds. Match projects have all future funding matched after they reach half-funding. Statistics are printed to the console at the end of the simulation. The normal projects can be specified in a '.csv' file that is given as a command line argument when loading the program, or the default projects can be used. The format for 'csv' entries is Project Name,Goal,Initial_funding with a comma and no spaces between entries and underscores in place of commas within larger numbers (e.g. Your Project,10_000,0). The option is given to save a list of underfunded projects upon exiting the program. The list is saved in 'underfunded.txt' in the top-level folder of the application. Created as a bonus project while completing the Pragmatic Studio Ruby Programming course.
== Easily add colors, boxes, repetitions and emojis to your terminal output using pipes (|). Install using the Ruby Gem: > gem install pipetext Includes a library module which can be included in your code: require 'pipetext' class YellowPrinter include PipeText def print(string) write('|Y' + string + '|n') end end printer = YellowPrinter.new printer.print('This is yellow') The gem includes a command line interface too: > pipetext > pipetext '|Ccyan|n' Easily set your bash prompt colors using pipetext: > PS1=$(pipetext '|$|g\u|n@|g\h|n:|g\w|n$ ') Works with files: > pipetext <filename> Works with pipes too: > echo '|RRed test |u1f49c|n' | pipetext --- | pipe || & ampersand && Toggle (&) background color mode |& smoke |s white |W black text on white background |k&w red |r bright red |R red background &r green |g bright green |G green background &g blue |b bright blue |B blue background &b cyan |c bright cyan |C cyan background &c yellow |y bright yellow |Y yellow background &y magenta |m bright magenta |M magenta background &m --- Hex RGB color codes: Foreground |#RRGGBB Background &#RRGGBB Palette colors (256) using Hex: |p33&pF8 Clear Screen |! black with white background |K&w Blinking |@ white with magenta background |w&m invert |i smoke with green background |s&g Underlined |_ red with cyan background |r&c Italics |~ bright red with blue background |R&b Bold |+ green with yellow background |g&y Faint |. bright green with red background |G&r Crossed out |x normal color and background |n&n Escape Sequence |\ Center text using current position and line end number |{text to center} Add spaces to line end |; Set line end |]# Set current x,y cursor position |[x,y] Terminal bell |[bell] Move cursor up 1 line |^ Hide cursor |h Move cursor down 1 line |v Unhide cursor |H Move cursor forward 1 character |> Sleep timer in seconds |[#s] Move cursor back 1 character |< Sleep timer in milliseconds |[#ms] Capture variable |(variable name=data) Display variable |(variable name) Add to variable |(variable name+=data) Subtract from variable |(variable name-=data) Multiple variable |(variable name*=data) Divide variable |(variable name/=data) Copy variable to current number |(#variable name) |$ toggles [ and ] around empty sequences automatically for bash command prompts --- Emojis: https://unicode.org/emoji/charts/full-emoji-list.html |[Abbreviated CLDR Short Name] 😍 |[smiling face with heart-eyes] or ⚙ |[gear] 💤 |[zzz] 👨 |[man] 😍 |[sm f w he e] ✔ |U2714 ❌ |U274c ☮ |u262E 💎 |u1f48e 💜 |u1f49c --- Single or double line box mode with |- or |= ┌──┬──┐ ╔══╦══╗ +--+--+ <-- Draw this with this: |15 |-[--v--] |=[--v--] |o[--v--] │ │ │ ║ ║ ║ | | | |15 |-! ! ! |=! ! ! |o! ! ! 123456789012345├──┴──┤ ╠══╩══╣ +--+--+ |y1234567890|g12345|n|->--^--< |=>--^--< |o>--^--< 15 Spaces │ │ ║ ║ | | |c15|n Spaces|6 |-! ! |=! ! |o! ! (|15 ) └─────┘ ╚═════╝ +-----+ (||15 )|9 |-{-----} |={-----} |o{-----} ┌──────────────────┐ ╔════════════════════╗ |-[|18-]|4 |g&m|=[|20-]|n&n|O │ │ ║ ║ |-!|18 !|4 |g&m|=!|20 !|n&n|O ├──────────────────┤ ╠════════════════════╣ |->|18-<|4 &m|g|=>|20-<|n&n|O │ │ ║ ║ |-!|18 !|4 |g&m|=!|20 !|n&n|O └──────────────────┘ ╚════════════════════╝ |-{|18-}|4 |g&m|={|20-}|n&n|O --- Repetition using | followed by the number of characters to repeat and then the character to repeat. |15* does the * character 15 times like this: *************** --- ==Use the ++pipetext++ command to see other options and examples.
U U extends Ruby’s Unicode support. It provides a string class called U::String with an interface that mimics that of the String class in Ruby 2.0, but that can also be used from both Ruby 1.8. This interface also has more complete Unicode support and never modifies the receiver. Thus, a U::String is an immutable value object. U comes with complete and very accurate documentation¹. The documentation can realistically also be used as a reference to the Ruby String API and may actually be preferable, as it’s a lot more explicit and complete than the documentation that comes with Ruby. ¹ See http://disu.se/software/u-1.0/api/ § Installation Install u with % gem install u § Usage Usage is basically the following: require 'u-1.0' a = 'äbc' a.upcase # ⇒ 'äBC' a.u.upcase # ⇒ 'ÄBC' That is, you require the library, then you invoke #u on a String. This’ll give you a U::String that has much better Unicode support than a normal String. It’s important to note that U only uses UTF-8, which means that #u will try to #encode the String as such. This shouldn’t be an issue in most cases, as UTF-8 is now more or less the universal encoding – and rightfully so. As U::Strings¹ are immutable value objects, there’s also a U::Buffer² available for building U::Strings efficiently. See the API³ for more complete usage information. The following sections will only cover the extensions and differences that U::String exhibit from Ruby’s built-in String class. ¹ See http://disu.se/software/u-1.0/api/U/String/ ² See http://disu.se/software/u-1.0/api/U/Buffer/ ³ See http://disu.se/software/u-1.0/api/ § Unicode Properties There are quite a few property-checking interrogators that let you check if all characters in a U::String have the given Unicode property: • #alnum?¹ • #alpha?² • #assigned?³ • #case_ignorable?⁴ • #cased?⁵ • #cntrl?⁶ • #defined?⁷ • #digit?⁸ • #graph?⁹ • #newline?¹⁰ • #print?¹¹ • #punct?¹² • #soft_dotted?¹³ • #space?¹⁴ • #title?¹⁵ • #valid?¹⁶ • #wide?¹⁷ • #wide_cjk?¹⁸ • #xdigit?¹⁹ • #zero_width?²⁰ ¹ See http://disu.se/software/u-1.0/api/U/String/#alnum-p-instance-method ² See http://disu.se/software/u-1.0/api/U/String/#alpha-p-instance-method ³ See http://disu.se/software/u-1.0/api/U/String/#assigned-p-instance-method ⁴ See http://disu.se/software/u-1.0/api/U/String/#case_ignorable-p-instance-method ⁵ See http://disu.se/software/u-1.0/api/U/String/#cased-p-instance-method ⁶ See http://disu.se/software/u-1.0/api/U/String/#cntrl-p-instance-method ⁷ See http://disu.se/software/u-1.0/api/U/String/#defined-p-instance-method ⁸ See http://disu.se/software/u-1.0/api/U/String/#digit-p-instance-method ⁹ See http://disu.se/software/u-1.0/api/U/String/#graph-p-instance-method ¹⁰ See http://disu.se/software/u-1.0/api/U/String/#newline-p-instance-method ¹¹ See http://disu.se/software/u-1.0/api/U/String/#print-p-instance-method ¹² See http://disu.se/software/u-1.0/api/U/String/#punct-p-instance-method ¹³ See http://disu.se/software/u-1.0/api/U/String/#soft_dotted-p-instance-method ¹⁴ See http://disu.se/software/u-1.0/api/U/String/#space-p-instance-method ¹⁵ See http://disu.se/software/u-1.0/api/U/String/#title-p-instance-method ¹⁶ See http://disu.se/software/u-1.0/api/U/String/#valid-p-instance-method ¹⁷ See http://disu.se/software/u-1.0/api/U/String/#wide-p-instance-method ¹⁸ See http://disu.se/software/u-1.0/api/U/String/#wide_cjk-p-instance-method ¹⁹ See http://disu.se/software/u-1.0/api/U/String/#xdigit-p-instance-method ²⁰ See http://disu.se/software/u-1.0/api/U/String/#zero_width-p-instance-method Similar to these methods are • #folded?¹ • #lower?² • #upper?³ which check whether a ‹U::String› has been cased in a given manner. ¹ See http://disu.se/software/u-1.0/api/U/String/#folded-p-instance-method ² See http://disu.se/software/u-1.0/api/U/String/#lower-p-instance-method ³ See http://disu.se/software/u-1.0/api/U/String/#upper-p-instance-method There’s also a #normalized?¹ method that checks whether a ‹U::String› has been normalized on a given form. ¹ See http://disu.se/software/u-1.0/api/U/String/#normalized-p-instance-method You can also access certain Unicode properties of the characters of a U::String: • #canonical_combining_class¹ • #general_category² • #grapheme_break³ • #line_break⁴ • #script⁵ • #word_break⁶ ¹ See http://disu.se/software/u-1.0/api/U/String/#canonical_combining_class-instance-method ² See http://disu.se/software/u-1.0/api/U/String/#general_category-instance-method ³ See http://disu.se/software/u-1.0/api/U/String/#grapheme_break-instance-method ⁴ See http://disu.se/software/u-1.0/api/U/String/#line_break-instance-method ⁵ See http://disu.se/software/u-1.0/api/U/String/#script-instance-method ⁶ See http://disu.se/software/u-1.0/api/U/String/#word_break-instance-method § Locale-specific Comparisons Comparisons of U::Strings respect the current locale (and also allow you to specify a locale to use): ‹#<=>›¹, #casecmp², and #collation_key³. ¹ See http://disu.se/software/u-1.0/api/U/String/#comparison-operator ² See http://disu.se/software/u-1.0/api/U/String/#casecmp-instance-method ³ See http://disu.se/software/u-1.0/api/U/String/#collation_key-instance-method § Additional Enumerators There are a couple of additional enumerators in #each_grapheme_cluster¹ and #each_word² (along with aliases #grapheme_clusters³ and #words⁴). ¹ See http://disu.se/software/u-1.0/api/U/String/#each_grapheme_cluster-instance-method ² See http://disu.se/software/u-1.0/api/U/String/#each_word-instance-method ³ See http://disu.se/software/u-1.0/api/U/String/#grapheme_clusters-instance-method ⁴ See http://disu.se/software/u-1.0/api/U/String/#words-instance-method § Unicode-aware Sub-sequence Removal #Chomp¹, #chop², #lstrip³, #rstrip⁴, and #strip⁵ all look for Unicode newline and space characters, rather than only ASCII ones. ¹ See http://disu.se/software/u-1.0/api/U/String/#chomp-instance-method ² See http://disu.se/software/u-1.0/api/U/String/#chop-instance-method ³ See http://disu.se/software/u-1.0/api/U/String/#lstrip-instance-method ⁴ See http://disu.se/software/u-1.0/api/U/String/#rstrip-instance-method ⁵ See http://disu.se/software/u-1.0/api/U/String/#strip-instance-method § Unicode-aware Conversions Case-shifting methods #downcase¹ and #upcase² do proper Unicode casing and the interface is further augmented by #foldcase³ and #titlecase⁴. #Mirror⁵ and #normalize⁶ do conversions similar in nature to the case-shifting methods. ¹ See http://disu.se/software/u-1.0/api/U/String/#downcase-instance-method ² See http://disu.se/software/u-1.0/api/U/String/#upcase-instance-method ³ See http://disu.se/software/u-1.0/api/U/String/#foldcase-instance-method ⁴ See http://disu.se/software/u-1.0/api/U/String/#titlecase-instance-method ⁵ See http://disu.se/software/u-1.0/api/U/String/#mirror-instance-method ⁶ See http://disu.se/software/u-1.0/api/U/String/#normalize-instance-method § Width Calculations #Width¹ will return the number of cells on a terminal that a U::String will occupy. #Center², #ljust³, and #rjust⁴ deal in width rather than length, making them much more useful for generating terminal output. #%⁵ (and its alias #format⁶) similarly deal in width. ¹ See http://disu.se/software/u-1.0/api/U/String/#width-instance-method ² See http://disu.se/software/u-1.0/api/U/String/#center-instance-method ³ See http://disu.se/software/u-1.0/api/U/String/#ljust-instance-method ⁴ See http://disu.se/software/u-1.0/api/U/String/#rjust-instance-method ⁵ See http://disu.se/software/u-1.0/api/U/String/#modulo-operator ⁶ See http://disu.se/software/u-1.0/api/U/String/#format-instance-method § Extended Type Conversions Finally, #hex¹, #oct², and #to_i³ use Unicode alpha-numerics for their respective conversions. ¹ See http://disu.se/software/u-1.0/api/U/String/#hex-instance-method ² See http://disu.se/software/u-1.0/api/U/String/#oct-instance-method ³ See http://disu.se/software/u-1.0/api/U/String/#to_i-instance-method § News § 1.0.0 Initial public release! § Financing Currently, most of my time is spent at my day job and in my rather busy private life. Please motivate me to spend time on this piece of software by donating some of your money to this project. Yeah, I realize that requesting money to develop software is a bit, well, capitalistic of me. But please realize that I live in a capitalistic society and I need money to have other people give me the things that I need to continue living under the rules of said society. So, if you feel that this piece of software has helped you out enough to warrant a reward, please PayPal a donation to now@disu.se¹. Thanks! Your support won’t go unnoticed! ¹ Send a donation: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=now@disu.se&item_name=U § Reporting Bugs Please report any bugs that you encounter to the {issue tracker}¹. ¹ See https://github.com/now/u/issues § Authors Nikolai Weibull wrote the code, the tests, the documentation, and this README. § Licensing U is free software: you may redistribute it and/or modify it under the terms of the {GNU Lesser General Public License, version 3}¹ or later², as published by the {Free Software Foundation}³. ¹ See http://disu.se/licenses/lgpl-3.0/ ² See http://gnu.org/licenses/ ³ See http://fsf.org/
# FaradayError [](https://badge.fury.io/rb/faraday_error) A [Faraday](https://github.com/lostisland/faraday) middleware for adding request parameters to your exception tracker. ### Supports - [Honeybadger](https://www.honeybadger.io/) - [NewRelic](http://newrelic.com/) - Your favorite thing, as soon as you make a pull request! ## Installation Add this line to your application's Gemfile: ```ruby gem 'faraday_error' ``` And then execute: $ bundle Or install it yourself as: $ gem install faraday_error ## Usage Configure your Faraday connection to use this middleware. You can optionally specify a name; defaults to `faraday`. It is expected that you also use `Faraday::Response::RaiseError` somewhere in your stack. ```ruby connection = Faraday.new(url: 'http://localhost:4567') do |faraday| faraday.use FaradayError::Middleware, name: "example_request" faraday.use Faraday::Response::RaiseError faraday.adapter Faraday.default_adapter end ``` And that's it. Make a request as you normally would. ```ruby connection.post do |req| req.url '/503' req.headers['Content-Type'] = 'application/json' req.body = JSON.generate(abc: "xyz") end ``` If any request fails, Honeybadger's "context" for this error will include your request parameters. If sending JSON or `application/x-www-form-urlencoded`, these will be included in parsed form. ```json { "example_request": { "method": "post", "url": "http://localhost:4567/503", "request_headers": { "User-Agent": "Faraday v0.9.2", "Content-Type": "application/json" }, "body_length": 13, "body": { "abc": "xyz" } } } ``` ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). The included [RestReflector](../master/spec/rest_reflector.rb) Sinatra app is suitable for making requests that are guaranteed to fail in particlar ways. ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/jelder/faraday_error. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
No description provided.
No description provided.