[](https://github.com/CatChen/is-dev-dependency/actions/workflows/build.yml) [
ES6 spec-compliant Object.assign shim. From https://github.com/es-shims/es6-shim
A inter-process and inter-machine lockfile utility that works on a local or network file system
ES2019 spec-compliant String.prototype.trimEnd shim.
ES2019 spec-compliant String.prototype.trimStart shim.
🔕 (formerly) ActiveSupport Kernel Reporting Detritus with a few enhancementsFund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev
🍲 Kettle::Dev is a meta tool from kettle-rb to streamline development and testing. Acts as a shim dependency, pulling in many other dependencies, to give you OOTB productivity with a RubyGem, or Ruby app project. Configures a complete set of Rake tasks, for all the libraries is brings in, so they arrive ready to go. Fund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev
Ubuntu applet that lets you switch audio sinks, toggle RTP sender and inputs. Depends on PulseAudio and libappindicator-dev.
🏁 A regular expression matching Gitmoji (a subset of Unicode Emoji) symbolsFund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev
⏳️ Mark specs pending or skipped for specific Ruby engine (e.g. MRI or JRuby) & versions, or version ranges. Fund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev
🥘 A Covered Kettle of Test Coverage SOUP (Software of Unknown Provenance) Four-line SimpleCov config, w/ curated, opinionated, pre-configured, dependencies for every CI platform, batteries included. Fund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev
🍲 Kettle::Test is a meta tool from kettle-rb to streamline testing. Acts as a shim dependency, pulling in many other dependencies, to give you OOTB productivity with a RubyGem, or Ruby app project. Configures RSpec w/ syntactic sugar to make writing tests, and testing more scenarios, easier.Configures each dependency library for proper use in the test suite, so they arrive ready to go. Fund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev
Help overlooked open source projects - the ones at the bottom of the stack, and the dev dependencies - by funding them.
🗿 Generate both SHA256 & SHA512 checksums into the checksums directory, and git commit them. gem install stone_checksums Then, use the rake task or the script: rake build:generate_checksums gem_checksums Control options with ENV variables! Fund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev
⌚️ Timecop::Rspec provides Timecop time-machines for RSpec that allow youto time-travel test examples, context/describes, and/or your entire test suite. Find out how your code will behave... in the future! Fund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev
Chef-Berksfile-Env ================== A Chef plugin which allows you to lock down your Chef Environment's cookbook versions with a Berksfile. This is effectively the same as doing `berks apply ...` but via `knife environment from file ...`. View the [Change Log](https://github.com/bbaugher/chef-berksfile-env/blob/master/CHANGELOG.md) to see what has changed. Installation ------------ /opt/chef/embedded/bin/gem install chef-berksfile-env Usage ----- In your chef repo create a Berksfile next to your Chef environment file like this, chef-repo/environments/[ENV_NAME]/Berksfile This is the default location that will used by the plugin. We have to put the Berksfile in its own directory since [multiple Berksfiles can't exist in the same directory](https://github.com/berkshelf/berkshelf/issues/1247). The berksfile should include any cookbooks that your nodes or roles explicitly mention for that environment, source "https://supermarket.getchef.com" cookbook "java" cookbook "yum", "~> 2.0" ... Next we need to generate our Berksfile's lock file, berks install Your environment file must by in `.rb` format and look like this, require 'chef-berksfile-env' # The name must be defined first so we can use it to find the Berksfile name "my_env" # Load Berksfile locked dependencies as my environment's cookbook version contraints load_berksfile ... Now our environment will use the locked versions of the cookbooks and transitive dependencies generated by our Berksfile. Upgrading to the latest dependecies is now as simple as, berks install Our Berksfile also provides an easy way to ensure all the cookbooks and their versions that our environment requires are uploaded to our chef-server, berks upload How the Plugin Finds the Berksfile ---------------------------------- If you are curious how the plugin knows to find the Berksfile in `chef-repo/environments/[ENV]/Berksfile`, you want to put your Berksfile somewhere else or you have run into this error `Expected Berksfile at [/path/../Berksfile] but does not exist`, this section will explain how this works and ways to tweak the path or fix your error. `load_berksfile` has an optional argument which represents the path to your Berksfile. This path can be pseduo relative (explained in a moment) or absolute. By default the value is `environments/[ENV_NAME]/Berksfile`. By pseduo relative I mean that its a relative path but the plugin will check to see if the directory we are executing from partially matches our relative path. So if we are running knife from `/home/chef-repo/environments` and our relative path is `chef-repo/environments/dev/Berksfile` the plugin will see that the relative path is partially included in our execution directory and will attempt to merge the two to come up with `/home/chef-repo/environments/dev/Berksfile`. If we can't make any match at all we attempt to guess the path by just joining the relative path with our execution directory. So why do we do this? Well the only way to use this plugin is if your environment is in Ruby format. Chef's `knife from file ...` uses Ruby's `instance_eval` in order to do this. This means the code on Chef's end effectively looks like this, env.instance_eval(IO.read(env_ruby_file)) which means that any context about the location of the environment file is lost. So we have no great way to discern the location of our environment Ruby file, so instead we guess.
# 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).