All Projects → palkan → Acli

palkan / Acli

Licence: mit
Action Cable command-line client

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Acli

Anycable rails demo
AnyCable Rails demo application and its different variations
Stars: ✭ 68 (-59.76%)
Mutual labels:  rails, websockets
Claws
Awesome WebSocket CLient - an interactive command line client for testing websocket servers
Stars: ✭ 187 (+10.65%)
Mutual labels:  cli, websockets
Postfacto
Self-hosted retro tool aimed at helping remote teams
Stars: ✭ 224 (+32.54%)
Mutual labels:  rails, websockets
Tomo
A friendly CLI for deploying Rails apps ✨
Stars: ✭ 260 (+53.85%)
Mutual labels:  cli, rails
Streamhut
Stream your terminal to web without installing anything 🌐
Stars: ✭ 676 (+300%)
Mutual labels:  cli, websockets
Dockrails
Simple CLI to Generate and Run a Rails environment with Docker (in Development) !
Stars: ✭ 282 (+66.86%)
Mutual labels:  cli, rails
Websocat
Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions
Stars: ✭ 3,477 (+1957.4%)
Mutual labels:  cli, websockets
Wsdirector
All the world's a server, and all the men and women merely clients
Stars: ✭ 58 (-65.68%)
Mutual labels:  cli, websockets
Entangled
Rails in real time
Stars: ✭ 108 (-36.09%)
Mutual labels:  rails, websockets
Flipflop
Flipflop lets you declare and manage feature flags in your Rails application.
Stars: ✭ 165 (-2.37%)
Mutual labels:  rails
Grex
A command-line tool and library for generating regular expressions from user-provided test cases
Stars: ✭ 4,847 (+2768.05%)
Mutual labels:  cli
Staytus
💡 An open source solution for publishing the status of your services
Stars: ✭ 2,032 (+1102.37%)
Mutual labels:  rails
Cert
Cert is the Go tool to get TLS certificate information.
Stars: ✭ 166 (-1.78%)
Mutual labels:  cli
Craftsman
Craftsman is the workhorse behind the Wrapt framework and provides a suite of CLI commands for quickly scaffolding out new files and projects for your .NET Web APIs with simple CLI commands and configuration files.
Stars: ✭ 165 (-2.37%)
Mutual labels:  cli
Lua Resty Repl
Interactive console (REPL) for Openresty and luajit code
Stars: ✭ 165 (-2.37%)
Mutual labels:  cli
Turbolinks render
Support for `render` with Turbolinks in Rails controllers
Stars: ✭ 168 (-0.59%)
Mutual labels:  rails
Imgui Ws
Dear ImGui over WebSockets
Stars: ✭ 165 (-2.37%)
Mutual labels:  websockets
Manage Fastapi
🚀 CLI tool for FastAPI. Generating new FastAPI projects & boilerplates made easy.
Stars: ✭ 163 (-3.55%)
Mutual labels:  cli
Cash Cli
💰💰 Convert currency rates directly from your terminal!
Stars: ✭ 168 (-0.59%)
Mutual labels:  cli
Jira Cli
A jira user friendly command line client
Stars: ✭ 167 (-1.18%)
Mutual labels:  cli

Build

Action Cable CLI

ACLI is an Action Cable command-line interface written in mRuby.

It's a standalone binary which can be used:

  • In development for playing with Action Cable channels (instead of struggling with browsers)

  • For monitoring and benchmarking.

Sponsored by Evil Martians

Installation

Currently only MacOS (x86_64) and Linux (x86_64) are supported. PRs are welcomed for other platforms support.

Precompiled binaries

See GitHub releases.

You can also find edge (master) builds in Actions.

Homebrew

Coming soon

Usage

ACLI is an interactive tool by design, i.e., it is asking you for input if necessary. Just run it without any arguments:

$ acli

Enter URL:

# After successful connection you receive a message:
Connected to Action Cable at http://example.com/cable

Then you can run Action Cable commands:

# Subscribe to channel (without parameters)
\s channel_name

# Subscribe to channel with params

\s+ channel_name id:1

# or interactively

\s+
Enter channel ID:
...
# Generate params object by providing keys and values one by one
Enter key (or press ENTER to finish):
...
Enter value:
# After successful subscription you receive a message
Subscribed to channel_name


# Performing actions
\p speak message:Hello!

# or interactively (the same way as \s+)
\p+

You can also provide URL and channel info using CLI options:

acli -u http://example.com/cable -c channel_name

# or using full option names
acli --url=http://example.com/cable --channel=channel_name

# you can omit scheme and even path (/cable is used by default)
acli -u example.com

To pass channel params use --channel-params option:

acli -u http://example.com/cable -c ChatChannel --channel-params=id:1,name:"Jack"

You can pass additional request headers:

acli -u example.com --headers="x-api-token:secret,cookie:username=john"

Other commands:

# Print help
\?

# Quit
\q

Other command-line options:

# Print usage
acli -h

# Print version
acli -v

# Quit after M incoming messages (excluding pings and system messages)
acli -u http://example.com/cable -c channel_name --quit-after=M

Development

We have Docker & Dip configuration for development:

# initial provision
dip provision

# run rake tasks
dip rake test

# or open a console within a container
dip bash

You can also build the project locally (on MacOS or Linux): rake compile or rake test.

Requirements

Contributing

Bug reports and pull requests are welcome on GitHub.

License

The gem is available as open-source under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].