open-index/open-npm huggingface dataset:
npm package: @jasonmit/ember-cable
Description: Power your ember.js application with actioncable
Author: Salvatore Ferrucci
Latest version: 0.7.0

# ember-cable

This add-on enables simple integration of Rails Action Cable into Ember apps.

[![Build Status](https://travis-ci.org/algonauti/ember-cable.svg?branch=master)](https://travis-ci.org/algonauti/ember-cable)
[![Ember Observer Score](https://emberobserver.com/badges/ember-cable.svg)](https://emberobserver.com/addons/ember-cable)

### Installation
run the following command from inside your ember-cli project:

    ember install ember-cable

## Basic Usage

Once the addon is installed, the cable service can be injected wherever
needed in the application.

```js
// app/controllers/application.js
import Ember from 'ember';

export default Ember.Controller.extend({
  cableService: Ember.inject.service('cable'),

  setupConsumer: Ember.on('init', function() {
    var consumer = this.get('cableService').createConsumer('ws://localhost:4200/cable');

    consumer.subscriptions.create("NotificationChannel", {
      connected() {
        this.perform('hello', { foo: 'bar' });
        this.perform('hello');
      },
      received(data) {
        Ember.debug( "received(data) -> " + Ember.inspect(data) );
      },
      disconnected() {
        Ember.debug("NotificationChannel#disconnected");
      }
    });

    // Passing Parameters to Channel
    const subscription = consumer.subscriptions.create({ channel: 'NotificationChannel', room: 'Best Room' }, {
      received: (data) => {
        this.updateRecord(data);
      }
    });

    // Using mixin and inject your services
    var channelMixin = Ember.Mixin.create({
      store: Ember.inject.service(),

      received(data) {
        this.get("store").pushPayload(data);
      }
    });

    consumer.subscriptions.create({ channel: 'NotificationChannel' }, channelMixin);

    // Send actions to your Action Cable channel class
    subscription.perform("your_channel_action", { hey: "hello" });
  }),

  updateRecord(data) {
    Ember.debug( "updateRecord(data) -> " + Ember.inspect(data) );
  }
});

```

## License

ember-cable is released under the [MIT License](http://www.opensource.org/licenses/MIT).
npm package: @jasonmit/ember-cli-node-modules-to-vendor
Description: Easily import packages (non ember addons) from `node_modules`
Author: Kelly Selden
Latest version: 0.2.2

# ember-cli-node-modules-to-vendor

[![Greenkeeper badge](https://badges.greenkeeper.io/kellyselden/ember-cli-node-modules-to-vendor.svg)](https://greenkeeper.io/)
[![npm version](https://badge.fury.io/js/ember-cli-node-modules-to-vendor.svg)](https://badge.fury.io/js/ember-cli-node-modules-to-vendor)
[![Build Status](https://travis-ci.org/kellyselden/ember-cli-node-modules-to-vendor.svg?branch=master)](https://travis-ci.org/kellyselden/ember-cli-node-modules-to-vendor)

Easily import packages (non ember addons) from `node_modules` (you can import from any folder if you want to)

## Installation

`ember install ember-cli-node-modules-to-vendor`

## Usage

```js
// ember-cli-build.js

// ...

var app = new EmberApp(defaults, {
  nodeModulesToVendor: [
    'node_modules/some-package/dist/js'
  ]
});

// then you can easily do
app.import('vendor/a-file-from-the-folder-above.js');

// ...
```

## Advanced Usage

You can supply a tree if you want finer control:

```js
// ember-cli-build.js

var Funnel = require('broccoli-funnel');
var UnwatchedDir = require('broccoli-source').UnwatchedDir;
// ...

var app = new EmberApp(defaults, {
  nodeModulesToVendor: [
    /* UnwatchedDir is optional, but it is rare to need a watcher assigned to a node_modules dependencies */
    new Funnel(new UnwatchedDir('node_modules/some-package/dist/js'), {
      destDir: 'some-package',
      files: ['only-this-file.js']
    })
  ]
});

app.import('vendor/some-package/only-this-file.js');
```

_Note: omitting the `destDir` option will place the file directly into the `vendor`
folder, so `app.import('vendor/only-this-file.js')` would be your import instead._

You can conditionally import:

```js
// ember-cli-build.js

// ...

function isDevelopment() {
  return EmberApp.env !== 'production';
}

// ...

var nodeModulesToVendor = [];
if (isDevelopment()) {
  nodeModulesToVendor.push('node_modules/dev-helper/dist');
}

var app = new EmberApp(defaults, {
  nodeModulesToVendor: nodeModulesToVendor
});

if (isDevelopment()) {
  app.import('vendor/a-file-from-the-folder-above.js');
}

// ...
```
npm package: @jasonmit/ember-let
Description: A helper for binding values to HTMLBars template contexts
Latest version: 0.7.1

# ember-let

[![npm version](https://badge.fury.io/js/ember-let.svg)](https://badge.fury.io/js/ember-let)
[![Ember Observer Score](https://emberobserver.com/badges/ember-let.svg)](https://emberobserver.com/addons/ember-let)
[![Build Status](https://travis-ci.org/thefrontside/ember-let.svg?branch=master)](https://travis-ci.org/thefrontside/ember-let)


`ember-let` is an addon for binding variables to template contexts in Ember. It behaves much like the `with` helper, but lets you bind an arbitrary number of variables, including standalone values, hashes, and class instances. However, unlike `with`, the `let` helper will yield its block even if the bound values are `undefined`, `null`, or `[]`. This has the benefit of allowing the user to treat the block values as true variable bindings rather than simply aliases to existing values.

See examples below:

**Bind basic values**
```hbs
{{#let "abc" "123" as |first second|}}
  <li>{{first}}</li>
  <li>{{second}}</li>
{{/let}}
```

**Mix hashes and standalone values**
```hbs
{{#let (hash first="first" second="second") "third" as |hash standalone|}}
  <li>{{hash.first}}</li>
  <li>{{hash.second}}</li>
  <li>{{standalone}}</li>
{{/let}}
```

**Bind a class instance returned from a helper**
```hbs
{{#let (boolean) as |bool|}}
  {{bool.value}} - <button onClick={{action bool.toggle}}>toggle</button>
{{/let}}
```

**Inline use**
Note: requires Ember 2.0+ (ie. does not support 1.13)

```hbs
{{let greeting=(concat "hello " to)}}
{{greeting}} - <button {{action (action (mut to) "world")}}>Greet the world!</button>  
```

Inline let declarations are in scope until the parent element or block is closed, for example:

```hbs
{{#if person.isActive}}
  <div>
    {{let name=person.name}}
    <span>{{name}}</span>
  </div>
  {{!-- The name binding is not accessible here... --}}
{{/if}}
{{!-- ...or here. -- }}
```

## Installation

* `git clone` this repository
* `npm install`
* `bower install`

## Running

* `ember server`
* Visit your app at http://localhost:4200.

## Running Tests

* `npm test` (Runs `ember try:testall` to test your addon against multiple Ember versions)
* `ember test`
* `ember test --server`

## Building

* `ember build`

For more information on using ember-cli, visit [http://ember-cli.com/](http://ember-cli.com/).

## Code of Conduct
Please note that this project is released with a Contributor Code of
Conduct. By participating in this project you agree to abide by its
terms, which can be found in the `CODE_OF_CONDUCT.md` file in this
repository.