Wrapper around React useEffect, in-order to require a name for each effect
No description provided.
The missing standard library for TypeScript, for writing production-grade software.
A React helper hook for scheduling a layout effect with a fallback to a regular effect for environments where layout effects should not be used (such as server-side rendering).
A wrapper package that uses `useInsertionEffect` or a fallback for it
ESLint rule to require useEffect callbacks to be named functions instead of anonymous functions
An ESLint Plugin dedicated to enhancing code quality by enforcing best practices when utilizing the useEffect hook in React applications.
Compile regular expressions using named groups to ES5.
Compile regular expressions using duplicate named groups to index-based groups.
Decode named character references
Unified interfaces for common platform-specific services
Platform specific implementations for the Node.js runtime
It's react's useEffect hook, except using deep comparison on the inputs, not reference equality
Create components whose prop changes map to a global side effect
A list of color names and its values
Create components whose prop changes map to a global side effect
A React hook that uses useEffect() on the server and useLayoutEffect() in the browser
Ponyfill of the experimental `React.useEffectEvent` hook
Functional programming in TypeScript
sql named placeholders to unnamed compiler
A [React hook](https://reactjs.org/docs/hooks-intro.html) for managing side-effects in your reducers.
Experimental modules for the Effect ecosystem
OpenTelemetry integration for Effect
An easy to use, extensible pretty-printer for rendering documents for the terminal
Will allow a user to retrieve strain specific information such as Name, Race, Effects & Flavor.
In mathematics, Arnold's cat map is a chaotic map from the torus into itself, named after Vladimir Arnold, who demonstrated its effects in the 1960s using an image of a cat, hence the name.
Simple and effective cross-platform RPC protocol. Can work with any transport capable to pass structures (dictionaries, hashes, whatever you name it). Out of the box provides JSON and BOSS formats over streams and sockets.
The use library solves the multi-mixin problem by allowing you to selectively mixin specific methods from a module rather than mixing in all of them. In addition, you can alias methods on the fly as they are mixed in, effectively allowing you to change the name of the mixin method.
AridCache makes caching easy and effective. AridCache supports caching on all your model named scopes, class methods and instance methods right out of the box. AridCache prevents caching logic from cluttering your models and clarifies your logic by making explicit calls to cached result sets. AridCache is designed for handling large, expensive ActiveRecord collections but is equally useful for caching anything else as well.
== SYNOPSIS: Allows storing scopes as names; that way you can address subsets of your model space by meaningful names. require 'scoped_proxy' # Railsers: You might want to call this in environment.rb class User < ActiveRecord::Base scoped_proxy :role do |role| { :find => { :conditions => ['role = ?', role] } } end scoped_proxy :deleted, :find => { :conditions => 'deleted_at is not null' } end admins = User.role('admin') admins.count # => 12 admins.find(:all) # => [ ... ] User.deleted.count # => a number This implementation also brings (NEW, SHINY) default proxies. That means you can have a proxy in effect when no other proxy is in effect. class User < ActiveRecord::Base default_proxy :find => { :conditions => 'deleted_at is null' } end User.find(:all) # only finds users that aren't deleted
Fork of arid_cache which defines caching methods once on a class instead of per object, thus preventing "singleton can't be dumped" from memcached! AridCache makes caching easy and effective. AridCache supports caching on all your model named scopes, class methods and instance methods right out of the box. AridCache prevents caching logic from cluttering your models and clarifies your logic by making explicit calls to cached result sets. AridCache is designed for handling large, expensive ActiveRecord collections but is equally useful for caching anything else as well.
The purpose of this gem is to prevent directly running the inherited methods you choose to block at either the class or instance level, and instead do one of two things: run an alternative block which may or may not invoke the original method, or simply raise an error message. The error message can be customized. The original method can still be called under a different name. The entire object or class can return "unproxied" versions of themselves to preserve the original functionality. This was originally created to help enforce the use of interactors over directly calling ActiveRecord methods like create, save, and update. As with any metaprogramming, this gives you plenty of rope to hang yourself if you try to get too "clever". Treat this library like salt; use sparingly, because over time its cumulative effect will kill you :)
GuerrillaRotate ============== This plugin lets you have multiple view pages for the one action, so that you can rotate through different views in order to test which one is the most effective. This is known as A/B testing, split testing or side-by-side testing. It will automatically switch between the different views for different web requests (uses .rand so is pseudo random, not round-robin or anything). The particular view is sticky for a (rails) session, so that once that view has been chosen for that visitor they will see the same, consistent view each time. It integrates automagically into [Rubaidh::GoogleAnalytics](http://github.com/rubaidh/google_analytics) by setting the override_trackpageview to the name of the unique view file (instead of the action-based URL) so you can track it easily in Google Analytics. Without that you'll want to track it by putting different tracking codes in each of your view templates. Example ------- So, in your views you will create some new templates with something (can be anything including nothing) between the template name and the first part of the extension. So you might have the following files for the products/index action: app/views/products/index.html.erb app/views/products/index_alt.html.erb app/views/products/index_new.html.erb Then all you need to do is tell your controller to rotate for that action: ### app/controllers/products_controller.rb class ProductsController < ApplicationController guerrilla_rotate :index, :show # etc.. end NB: guerrilla_rotate is also aliased as guerilla_rotate for the alternative spelling and typos. Copyright © 2009 Jason King, released under the MIT license
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.
== Devise::Revokable A module for Devise[http://github.com/plataformatec/devise] This gem was created by "borrowing" heavily from Devise::Invitable[http://github.com/scambra/devise_invitable] It exists to extend Devise to provide the basis for what is essentially the reverse of the standard <tt>confirmable</tt> module. Where <tt>confirmable</tt> sends an email and awaits a response, before confirming a new registration, <tt>revokable</tt> allows immediate access and sends an email which provides a link to "revoke" the account if it was created fraudulently. This is useful if you want to lower the barrier to entry to creating accounts, and clearly, if account security isn't a concern. Note that tests are non-existent. Use freely but at your own risk. === Configuring It works like normal Devise modules. Add the <tt>:revokable</tt> module to the declaration. # in user.rb devise :revokable # plus other devise modules If the user who received the revocation email follows the provided link and confirms revocation, the account will effectively be "revoked" and inactive, unable to log in. Additionally, you may want to override <tt>#revoke!</tt> to perfom additional revocation on the account, e.g. deleting posts made, resetting personal information, etc. The super method yields to a block for this purpose. # in user.rb def revoke! super do self.some_method_that_resets_me! end end That's about the extent of it. As with typical devise modules you can override the mailers and views with your own. Additionally you can define the module accessor <tt>@@mailer</tt> on the module with a proc to handle your mail if you need to. This proc is yielded two arguments, the method name (e.g. :revocation_instructions), and the affected resource. # in config/initializers/devise_revokable.rb require 'devise_revokable' require 'my_mailer' DeviseRevokable.mailer = proc {|method_name, resource| MyMailer.send(:method_name, resource) }
Welcome to the WhatsApp API from Meta. Individual developers and existing Business Service Providers (BSPs) can now send and receive messages via the WhatsApp API using a cloud-hosted version of the WhatsApp Business API. Compared to the previous solutions, the cloud-based WhatsApp API is simpler to use and is a more cost-effective way for businesses to use WhatsApp. Please keep in mind the following configurations: | Name | Description | | --- | --- | | Version | Latest [Graph API version](https://developers.facebook.com/docs/graph-api/). For example: v13.0 | | User-Access-Token | Your user access token after signing up at [developers.facebook.com](https://developers.facebook.com). | | WABA-ID | Your WhatsApp Business Account (WABA) ID. | | Phone-Number-ID | ID for the phone number connected to the WhatsApp Business API. You can get this with a [Get Phone Number ID request](3184f675-d289-46f1-88e5-e2b11549c418). | | Business-ID | Your Business' ID. Once you have your Phone-Number-ID, make a [Get Business Profile request](#99fd3743-46cf-46c4-95b5-431c6a4eb0b0) to get your Business' ID. | | Recipient-Phone-Number | Phone number that you want to send a WhatsApp message to. | | Media-ID | ID for the media to [send a media message](#0a632754-3788-43bf-b785-ac6a73423d5a) or [media template message](#439c926a-8a6c-4972-ab2c-d99297716da9) to your customers. | | Media-URL | URL for the media to [download media content](#cbe5ece3-246c-48f3-b338-074187dfef66). |
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.