This gem doesn't really implement a state machine. All it really does is provide an easy way to transition a model from one status to another using standard form submit buttons, while also saving other changes made to that model.
This gem replaces standard checkboxes and radio buttons with Font Awesome characters making them look the same across all browsers.
Use user-agent string to reason about UX expectations. E.g. Should the Cancel button in dialogues be on the left or the right?
capybara-restore_state offers the ability to execute a block where the initial capybara state on entering the block is returned after the block is executed. This makes it possible to test things like clicking on the same button twice.
Helper for add social share feature in your Rails app. Twitter, Facebook, Vkontakte, Odnoklassniki, WhatsApp, Viber
Provides a Cell to render a 'Pay with Stripe' button and handle the response from Stripe.
Easily create beautiful CSS3 buttons with Compass.
Helper for add social share feature in your Rails app. Twitter, Facebook, Weibo, Douban, QQ, Tumblr ...
Remember the route prior to the current controller and redirect/use later In rails project, one common case is one form used to create or update an object can be routed from more than one page, when the object is created or updated, it should be redirected back to wherever it came from. Rails redirect_back doesn't work in this case because: 1. redirect_back in create/update action will go back to new/edit form. 2. usually the form is re-rendered if any error exists, which basically breaks the redirect_back. rails-source-path can hanlde this by explicily specifying the entry actions and remember the previous route in session store, hence can be used in the whole controller. Also a helper method is providered so it can be used in view like 'back' or 'cancel' button.
"Load more" button for apps in the Volt framework.
Merb_helpers_monkey is a Merb plug-in to extend the followng helper methods defined in merb-helpers: * radio_button() - to take boolean value as :checked option. * field_for(), form_for(), fieldset_for() - to take new :index_by option.
A nice way to scaffold that includes autocomplete search field with categories and a Load More button that simulates endless page. Requires: jQuery, jQueryUI
Rails plugin to use Intuit's Official QuickBooks Online Buttons in SVG format.
Rails engine that checks for pending migrations and presents an error screen that allows you to manage your migrations.
icic is a command line interface to automate creation of image asset for ios and android from single image file. This tool depend on ImageMagick / GraphicsMagic, please read on github (by clicking github star button) for more info.
...he sat at his desk in room 427 and he pushed buttons on a keyboard.
LINE Send button helper
Select tag using radio buttons, with provision for typing in custom "Other" value. Requires jQuery and Bootstrap 3.x
Prevent users sending duplicate requests by rapidly clicking links and buttons.
Implementation of view helper methods that utilize robust options and traits to generate semantic Bootstrap4 HTML for Ruby on Rails. Supply themes, rails helper options (such as :method and :confirm for a `link_to`). Example usage: `<%= ui.bootstrap :button, :primary, :block, href: user_path(@user), method: :delete, confirm: 'Are you sure?', tooltip: 'Adds a new user' %>` Which outputs a primary button with `btn-block` that uses rails method & confirm, and automatically supplies a tooltip (and there's much more!)
SASS Mixins for generate beautiful buttons
Adds social sharing buttons to video.js for Facebook and Twitter.
a sassified and gem packaged version if css3 github buttons
Designed for using morsecode on the Raspberry Pi with a keypad which has 4 buttons (dash, dot, separator, and send).
ActionView helpers for creating NAVER LINE share buttons.
Kanso - Semantic Flat Buttons integration with Rails and Asset Pipeline
angular-clipboard.js Copy text to clipboard by clicking a button, without using Flash
Helper for add social share feature in your Rails app. Twitter, Facebook, Weibo, Douban, QQ ...
The material design effect ripple in angular way, can be used on any button.
# Otto AsciiDoc static site generator. # Quickstart **Install Otto** ``` sh gem install ottogen ``` **Initialize a new site** ``` sh mkdir mysite && cd mysite otto init ``` **Build the site** ``` sh otto build ``` **Serve the site** ``` sh otto serve ``` **View the site** ``` sh open http://127.0.0.1:8778/ ``` # AsciiDoc Crash Course TODO **Paragraphs** **Text formatting** **Links** **Document header** **Section titles** **Automatic TOC** **Includes** **Lists** **Images** **Audio** **Videos** **Keyboard, button, and menu macros** **Literals and source code** **Admonitions** **More delimited blocks** **Tables** **IDs, roles, and options**
This gem provides an interface to access Novation's LaunchPad programmatically. LEDs can be lighted and button presses can be evaluated using launchpad's MIDI input/output.
This gem provides programmatic access to the Novation Launchpad MK2. LEDs can be lighted and button presses can be evaluated using launchpad's MIDI input/output.
Zocial Buttons support a lot of social icons. This gem is used for seamless integration of those icons.
Some common functions for Bootstrap tables and buttons.
CARIN IG for Blue Button® Test Kit
Add social payments to your business by adding a ‘Pay with Pygg’ button to your site!
This gem was created for a presentation around Sass
Reads a text file (if supplied as the first argument) and creates a pdf file with the same name but with .pdf as extension in the current directory via the program pdflatex (the only requirement besides ruby itself). If '-h' is the first argument, then the program displays the helptext and exits. The program can also read the input text from STDIN (STanDard IN) and create the pdf file in the user's home directory. When this method is used, no argument is given to the program and the text is simply piped directly into the program like this: $ echo 'Hello' | txt2pdf This would create a pdf file with only 'Hello' and the page number at the bottom of the resulting pdf page. With this, you could map a key binding in your window manager to create a pdf file from the text you selected in any program, be it the terminal, your browser or your text editor. In my wm of choice, i3, I have added the following to my i3 config: bindsym $mod+p exec xclip -o | txt2pdf This would create a pdf file from the text I have selected as I hit the 'Window Button' and 'p'.
This gem provides helper methods to create social share buttons in a Sinatra application.
A simple helper for creating Turbo-enabled buttons in Rails applications.
# Wuffl <strong> 1. Introduction </strong> Wuffl is a simple image viewer which can move pictures either to a „Selected“ folder or to a „Deleted“ folder. "Selected" and "Deleted" folders are located in the same folder as the chosen picture. Wuffl is available for Linux Ubuntu >=14.04, Mac >= OS Ventura and Windows >=10. Imagine you review you vacation photographs and you need to select which pictures to show to your friends at the next party, or you work your way through a bunch of old pictures and you need to select a view of them for a anniversary celebration. Wuffl allows you to move the picture to an extra folder ("Selected") or to a "Deleted" folder while viewing it. <strong> 2. Installation </strong> To use the Wuffl image viewer you require: <ul> <li> <a href="https://www.ruby-lang.org/en/downloads/"><code>ruby</code></a> (v2.4) </ul> as well as the following Ruby gems: <ul> <li><code>fastimage</code> <li><code>fileutils</code> <li><code>gtk3</code> <li><code>stringio</code></li> </ul> Get the Wullf image viewer by typing ```gem install wuffl``` in your command line. This will install the wuffl gem as well as the gems mentined above. <strong>3. Usage</strong> Using your terminal or cmd start Wuffl by typing <code> wuffl</code> After starting Wuffl you'll see a start screen with a line of buttons at the bottom. To select an image go to the top left corner, klick on <code>File</code> → <code>Open file</code> and browse to the location of you images. Then select an image and click <code>open</code> or just doubleclick on the selected image. <strong>4. Remarks</strong> If you have any remarks, bugs, questions etc. please tell me, I'd be happy to help.
The PayPal Button Manager SDK provides Ruby APIs to create, and manage PayPal Payments Standard buttons programmatically.
Give your cancel subscription button an ID of 'cancel'. Let The Churninator do its work and watch
J1 SCROLL Module is a gem-based module for J1 Template to enable smooth page scrolling, touch support, mousewheel support and a Back2Top button on every page.
The jekyll-squirrel-theme is a versatile, highly customizable theme designed for The Programming Squirrel. It is crafted to provide an exceptional user experience, emphasizing content readability and accessibility while reflecting the brand's unique personality. ### Key Features: - **Custom Branding**: Incorporates The Programming Squirrel’s signature colors, typography (Montserrat, Open Sans, Playfair Display), and playful aesthetic. - **Light and Dark Modes**: Includes responsive and accessible light and dark themes with a seamless toggle feature. - **Blog-Centric Design**: Optimized for showcasing articles, tutorials, and other written content with structured layouts and beautiful typography. - **Responsive Layout**: Fully responsive and mobile-friendly, ensuring the site looks great on all devices. - **Reusable Components**: Includes pre-styled cards, buttons, forms, and other reusable UI elements for consistency across the site. - **SEO Optimized**: Built-in SEO features to enhance search engine visibility and performance. - **Developer-Friendly**: Easy-to-extend theme architecture with clear documentation and customizable options. This theme is perfect for tech enthusiasts, educators, and content creators who value clean design, functionality, and a touch of whimsy in their websites.
SocialShareRails is a gem that simplifies adding social sharing buttons to Rails applications. It supports multiple social platforms, customizable styles, and provides an easy-to-use API for sharing.
This gem extends the internationalization (i18n) functionality in Ruby on Rails by adding a simple toggle button to your application’s UI. When activated, it overlays each translated string with a tooltip that displays its associated translation key on hover. This allows QA teams, product managers, and other non-technical stakeholders to quickly identify which translation keys correspond to specific pieces of text on the page—without diving into source code. Designed for simplicity and ease-of-use, the gem integrates seamlessly with the Rails asset pipeline and can be easily enabled or disabled as needed, streamlining your localization quality assurance process.
When building UIs for 'non tech people' things tend to get difficult to explain since some people do not know terms like button, select, etc. guided-tour helps with that.
Rails generator to create an Omniauth installation for Devise including social login buttons.
# Quick Start The Owner API uses the JSON format, and must be accessed over a [secure connection](https://en.wikipedia.org/wiki/HTTPS). Let’s assume that the access token provided by your account manager is “TOKEN”. Here’s how to get the list of ids of all your invoices from the first week of August with a shell script: ```bash query="end_date=2018-08-08T00%3A00%3A00%2B00%3A00&start_date=2018-08-01T00%3A00%3A00%2B00%3A00" curl -i "https://api-eu.getaround.com/owner/v1/invoices?${query}" \ -H "Authorization: Bearer TOKEN" \ -H "Accept:application/json" \ -H "Content-Type:application/json" ``` And here’s how to get the invoice with the id 12345: ```bash curl -i "https://api-eu.getaround.com/owner/v1/invoices/12345" \ -H "Authorization: Bearer TOKEN" \ -H "Accept: application/json" \ -H "Content-Type: application/json"" ``` See the [endpoints section](#tag/Invoices) of this guide for details about the response format. Dates in request params should follow the ISO 8601 standard. # Authentication All requests must be authenticated with a [bearer token header](https://tools.ietf.org/html/rfc6750#section-2.1). You token will be sent to you by your account manager. Unauthenticated requests will return a 401 status. # Pagination The page number and the number of items per page can be set with the “page” and “per_page” params. For example, this request will return the second page of invoices, and 50 invoices per page: `https://api-eu.getaround.com/owner/v1/invoices?page=2&per_page=50` Both of these params are optional. The default page size is 30 items. The Getaround Owner API follows the [RFC 8288 convention](https://datatracker.ietf.org/doc/html/rfc8288) of using the `Link` header to provide the `next` page URL. Please don't build the pagination URLs yourself. The `next` page will be missing when you are requesting the last available page. Here's an example response header from requesting the second page of invoices `https://api-eu.getaround.com/owner/v1/invoices?page=2&per_page=50` ``` Link: <https://api-eu.getaround.com/owner/v1/invoices?page=3&per_page=50>; rel="next" ``` # Throttling policy and Date range limitation We have throttling policy that prevents you to perform more than 100 requests per min from the same IP. Also, there is a limitation on the size of the range of dates given in params in some requests. All requests that need start_date and end_date, do not accept a range bigger than 30 days. # Webhooks Getaround can send webhook events that notify your application when certain events happen on your account. This is especially useful to follow the lifecycle of rentals, tracking for example bookings or cancellations. ### Setup To set up an endpoint, you need to define a route on your server for receiving events, and then <a href="mailto:owner-api@getaround.com">ask Getaround</a> to add this URL to your account. To acknowledge receipt of a event, your endpoint must: - Return a `2xx` HTTP status code. - Be a secure `https` endpoint with a valid SSL certificate. ### Testing Once Getaround has set up the endpoint, and it is properly configured as described above, a test `ping` event can be sent by clicking the button below: <form action="/docs/api/owner/fire_ping_webhook" method="post"><input type="submit" value="Send Ping Event"></form> You should receive the following JSON payload: ```json { "data": { "ping": "pong" }, "type": "ping", "occurred_at": "2019-04-18T08:30:05Z" } ``` ### Retries Webhook deliveries will be attempted for up to three days with an exponential back off. After that point the delivery will be abandoned. ### Verifying Signatures Getaround will also provide you with a secret token, which is used to create a hash signature with each payload. This hash signature is passed along with each request in the headers as `X-Drivy-Signature`. Suppose you have a basic server listening to webhooks that looks like this: ```ruby require 'sinatra' require 'json' post '/payload' do push = JSON.parse(params[:payload]) "I got some JSON: #{push.inspect}" end ``` The goal is to compute a hash using your secret token, and ensure that the hash from Getaround matches. Getaround uses an HMAC hexdigest to compute the hash, so you could change your server to look a little like this: ```ruby post '/payload' do request.body.rewind payload_body = request.body.read verify_signature(payload_body) push = JSON.parse(params[:payload]) "I got some JSON: #{push.inspect}" end def verify_signature(payload_body) signature = 'sha1=' + OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'), ENV['SECRET_TOKEN'], payload_body) return halt 500, "Signatures didn't match!" unless Rack::Utils.secure_compare(signature, request.env['HTTP_X_DRIVY_SIGNATURE']) end ``` Obviously, your language and server implementations may differ from this code. There are a couple of important things to point out, however: No matter which implementation you use, the hash signature starts with `sha1=`, using the key of your secret token and your payload body. Using a plain `==` operator is not advised. A method like secure_compare performs a "constant time" string comparison, which renders it safe from certain timing attacks against regular equality operators. ### Best Practices - **Acknowledge events immediately**. If your webhook script performs complex logic, or makes network calls, it’s possible that the script would time out before Getaround sees its complete execution. Ideally, your webhook handler code (acknowledging receipt of an event by returning a `2xx` status code) is separate of any other logic you do for that event. - **Handle duplicate events**. Webhook endpoints might occasionally receive the same event more than once. We advise you to guard against duplicated event receipts by making your event processing idempotent. One way of doing this is logging the events you’ve processed, and then not processing already-logged events. - **Do not expect events in order**. Getaround does not guarantee delivery of events in the order in which they are generated. Your endpoint should therefore handle this accordingly. We do provide an `occurred_at` timestamp for each event, though, to help reconcile ordering.