<commit_before>LVDebounce
==========

An Objective-C library for blocking actions depending on when they were previously launched.

## Installation

Put this in your Podfile and smoke it:

```ruby
pod 'CBDActionBlocker'
```

## Usage

It's a pretty simple frameword, inspired by [`LVDebounce`](https://github.com/layervault/LVDebounce).

Here's a trite example:

```Objective-C
#import "CBDActionBlocker.h"

- (void)helloWorld {
    NSLog(@"Hello, World!"); // Will only run once
}

- (void)applicationDidFinishLaunching {
  for (int i = 0; i < 10; i++) {
      [CBDActionBlocker fireTarget:self selector:@selector(helloWorld) blockFiresDuring:1.0 resetBlocking:NO];
  }
}
```

The `resetBlocking` option does the following:

 - If `action` has been fired at time `100` with a `10`s blocking,
 - If at time `105`, the `action` is asked to be fired with a `10`s blocking:
    - with `resetBlocking:YES`, it will not be fired and be blocked until `115`
    - with `resetBlocking:NO`, it will not be fired but will still be blocked until `110`


That's all there is to it.<commit_msg>improve the README<commit_after>LVDebounce
==========

An Objective-C library for blocking actions depending on when they were previously launched.

## Installation

Put this in your Podfile and smoke it:

```ruby
pod 'CBDActionBlocker'
```

## Usage

It's a pretty simple frameword, inspired by [`LVDebounce`](https://github.com/layervault/LVDebounce).

Here's a trite example:

```Objective-C
#import "CBDActionBlocker.h"

- (void)helloWorld {
    NSLog(@"Hello, World!"); // Will only run once
}

- (void)applicationDidFinishLaunching {
  for (int i = 0; i < 10; i++) {
      [CBDActionBlocker fireTarget:self selector:@selector(helloWorld) blockFiresDuring:1.0 resetBlocking:NO];
  }
}
```

## The `resetBlocking` option

The `resetBlocking` option does the following:

 - If `action` has been fired at time `100` with a `10`s blocking,
 - If at time `105`, the `action` is asked to be fired with a `10`s blocking:
    - with `resetBlocking:YES`, it will not be fired and be blocked until `115`
    - with `resetBlocking:NO`, it will not be fired but will still be blocked until `110`


That's all there is to it.
{'fraction_non_alphanumeric': 0.12283894449499545, 'fraction_numerical': 0.01910828025477707, 'mean_word_length': 4.2860576923076925, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4112792', 'n_tokens_mistral': 759, 'n_tokens_neox': 696, 'n_words': 258}