A small utility to safely open URLs, upgrading http to https when necessary.
Type-safe Open Props integration for typestyles
Browser SDK for capturing privacy-safe Open Session replay context and emitting encrypted payloads.
Shared OpenFeature JS components (server and web)
Give a regex, get a robust predicate function that tests it against a string.
`Array.prototype.concat`, but made safe by ignoring Symbol.isConcatSpreadable
Push an array of items into an array, while being robust against prototype modification
Safer Node.js Buffer API
Type safe and validated Server Actions in your Next.js project.
The modular and type safe schema library for validating structural data
detect possibly catastrophic, exponential-time regular expressions
Stop getting EMFILE errors! Open only as many files as the operating system supports.
The Aikido Safe Chain wraps around the [npm cli](https://github.com/npm/cli), [npx](https://github.com/npm/cli/blob/latest/docs/content/commands/npx.md), [yarn](https://yarnpkg.com/), [pnpm](https://pnpm.io/), [pnpx](https://pnpm.io/cli/dlx), [rush](https
A flexible way to handle safe area, also works on Android and web.
Modern Buffer API polyfill without footguns
Regular expression matching for URL's. Maintained, safe, and browser-friendly version of url-regex. Resolves CVE-2020-7661. Works in Node v10.12.0+ and browsers.
Fault-tolerant CSS parser for PostCSS
Donor-backed Cisco Packet Tracer 9.x skill for natural-language planning, safe-open generation, editing, parity reporting, and runtime diagnostics across coding hosts.
detect possibly catastrophic, exponential-time regular expressions
URL and cookie safe UIDs
A deep deletion module for node (like `rm -rf`)
Deterministic and safely JSON.stringify to quickly serialize JavaScript objects
Safe Json Utils
Constant-time comparison algorithm to prevent timing attacks.
Ruby wrapper for liboqs from Open Quantum Safe library. This version included platform binary of Linux, MacOS and Windows based on git commit b803b54179c1cea9091d9331cc8085fc235e1be4
SafeURI is an alternative implementation that allows you to open an URI with safer approach - with SafeURI.#open, you can always force to use URI.parse(url).open, or File.open(filename) depending on the provided argument. The pipe character '|' is NOT accepted as it does not delegate to Kernel.#open (falls back to File.#open), unlike URI.#open that falls back to Kernel.#open when un-openable arguments are given.
Truncate strings by word count, character count, or sentence count with word-boundary awareness. Includes HTML-safe mode that properly closes open tags and handles multi-byte characters correctly.
The gem push command makes it incredibly easy to publish your gems... maybe a little too easy. PushSafety is a RubyGems plugin that refuses to push a gem unless it is on a whitelist. Add your open source gems to your whitelist, and keep your private gems safe from accidental pushes.
FreeImage is an Open Source library project for developers who would like to support popular graphics image formats like PNG, BMP, JPEG, TIFF and others as needed by today's multimedia applications. FreeImage is easy to use, fast, multithreading safe, compatible with all 32-bit or 64-bit versions of Windows, and cross-platform (works both with Linux and Mac OS X).
Wraps the Linux TCP_USER_TIMEOUT (and optional SO_KEEPALIVE) socket options behind a fiber-safe block API. Sockets opened inside the block inherit a deadline the kernel itself enforces — Ruby threads parked in blocking syscalls that Thread#kill and Timeout.timeout cannot interrupt are released when the kernel drops the connection. No-op on macOS and other non-Linux platforms.
winipc is a native extension that exposes Windows local inter-process communication through an ergonomic, safe-by-default Ruby API: duplex named pipes (byte and message mode, with a server and a connect-with-retry client), pagefile-backed shared memory via named file mappings, and named synchronization objects (mutex, event, semaphore). Pipe handles are opened for overlapped I/O so they cooperate with a fiber scheduler, and objects are created with a restrictive security descriptor by default. Windows MSVC (mswin) Ruby only.
# DnsChecker Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/dns_checker`. To experiment with that code, run `bin/console` for an interactive prompt. ## Installation Add this line to your application's Gemfile: ```ruby gem 'dns_checker' ``` And then execute: $ bundle Or install it yourself as: $ gem install dns_checker ## Usage Just use it! ## 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). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/dns_checker. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](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).
# Optio Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/optio`. To experiment with that code, run `bin/console` for an interactive prompt. ## Installation Add this line to your application's Gemfile: ```ruby gem 'optio' ``` And then execute: $ bundle Or install it yourself as: $ gem install optio ## Usage Write usage instructions here ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` 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). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/optio. 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). ## Code of Conduct Everyone interacting in the Optio project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/optio/blob/master/CODE_OF_CONDUCT.md).
# Soft Delete > In a production app, you should probably never really delete anything. [source](https://twitter.com/theebeastmaster/status/966870021099180034) A soft-delete marks a record as deleted, and keeps it in the database for historical reference. ## Installation Add this line to your application's Gemfile: ```ruby gem "soft_delete-workbar", require: "soft_delete" ``` And then execute: $ bundle Or install it yourself as: $ gem install soft_delete-workbar ## Usage Safely "delete" records from your database without losing them permanently. * Add SoftDelete to a model ``` class MyModel < ActiveRecord::Base include SoftDelete end ``` * Add a `deleted_at` column to the model's database table ``` rails g migration AddSoftDeleteToMyModels deleted_at:timestamp ``` * Safely call `MyModel#delete` without losing the record forever ## Methods Please see the `SoftDelete` module and the associated tests for a description of the methods that will be added to your model. * `.not_deleted` - records without a deleted_at timestamp * `.deleted` - records with a deleted_at timestamp * `#delete` - set the deleted_at timestamp * `#delete!` - delete the record from the database * `#destroy` - set the deleted_at timestamp, and run callbacks * `#destroy!` - delete the record from the database, and run callbacks * `#restore` - set the deleted_at timestamp to nil It will be necessary to exclude deleted records when querying the model. Use the `not_deleted` scope that now exists on the model. ```ruby class MyModelsController < ApplicationController def index @my_models = MyModel.not_deleted end end ``` ## 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). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/workbar-dev/soft_delete. ## License The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
= Webservice Client Library for InterMine Data-Warehouses This library provides an interface to the InterMine webservices API. It makes construction and execution of queries more straightforward, safe and convenient, and allows for results to be used directly in Ruby code. As well as traditional row based access, the library provides an object-orientated record result format (similar to ActiveRecords), and allows for fast, memory efficient iteration of result sets. == Example Get all protein domains associated with a set of genes and print their names: require "intermine/service" Service.new("www.flymine.org/query"). new_query("Pathway") select(:name). where("genes.symbol" => ["zen", "hox", "h", "bib"]). each_row { |row| puts row[:name]} == Who is this for? InterMine data warehouses are typically constructed to hold Biological data, and as this library facilitates programmatic access to these data, this install is primarily aimed at bioinformaticians. In particular, users of the following services may find it especially useful: * FlyMine (http://www.flymine.org/query) * YeastMine (http://yeastmine.yeastgenome.org/yeastmine) * RatMine (http://ratmine.mcw.edu/ratmine) * modMine (http://intermine.modencode.org/release-23) * metabolicMine (http://www.metabolicmine.org/beta) == How to use this library: We have tried to construct an interface to this library that does not require you to learn an entirely new set of concepts. As such, as well as the underlying methods that are common to all libraries, there is an additional set of aliases and sugar methods that emulate the DSL style of SQL: === SQL style service = Service.new("www.flymine.org/query") service.model. table("Gene"). select("*", "pathways.*"). where(:symbol => "zen"). order_by(:symbol). outerjoin(:pathways). each_row do |r| puts r end === Common InterMine interface service = Service.new("www.flymine.org/query") query = service.new_query("Gene") query.add_views("*", "pathways.*") query.add_constraint("symbol", "=", "zen") query.add_sort_order(:symbol) query.add_join(:pathways) query.each_row do |r| puts r end For more details, see the accompanying documentation and the unit tests for interface examples. Further documentation is available at www.intermine.org. == Support Support is available on our development mailing list: dev@intermine.org == License This code is Open Source under the LGPL. Source code for this gem can be checked out from https://github.com/intermine/intermine-ws-ruby
# 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.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.