save_and_open_page
have_button(locator)| import { Controller } from "@hotwired/stimulus"; | |
| /** | |
| * 响应式属性控制器 / Responsive Attribute Controller | |
| * | |
| * 这个控制器用于根据屏幕尺寸动态改变元素的属性值。 | |
| * This controller is used to dynamically change element attributes based on screen size. | |
| * | |
| * ## 使用方法 / Usage | |
| * | |
| * 1. 在父元素上添加控制器 / Add controller to parent element: |
| class Api::ApplicationController < ActionController::API | |
| include Pagy::Backend | |
| include PagyCollectionSerializer::ControllerMixin | |
| end |
| #!/usr/bin/env ruby | |
| name = ARGV[0] | |
| if name.to_s.strip.empty? | |
| puts "usage: bin/create_engine <name>" | |
| exit(1) | |
| end | |
| cmd = <<-CMD | |
| bin/rails plugin new engines/#{name}_engine \ |
| # frozen_string_literal: true | |
| require 'json' | |
| require 'net/http' | |
| require 'digest' | |
| class UcloudAPI | |
| API_HOST = 'https://api.ucloud.cn' | |
| def initialize(public_key, private_key) |
| # frozen_string_literal: true | |
| require 'json' | |
| require 'net/http' | |
| class DnspodAPI | |
| API_HOST = 'https://dnsapi.cn' | |
| # API requires UserAgent contains app name/version and email | |
| def initialize(token, app_name:, app_version:, email:) |
| # | |
| # This is a simple rackup file for geminabox. It allows simple role-based authorization. | |
| # | |
| # roles: | |
| # - developer | |
| # - upload | |
| # - delete | |
| # - admin (can do anything) | |
| # | |
| # For example, a developer who can access the service and upload new gems would have the following roles: `%w(developer upload) |