登录 注册
开发者工具
2,708
Stars
0
Forks
0
Watchers
0
Open Issues
未知
许可证
Ruby
语言
创建时间
最近更新

项目能做什么

基于 Rack 的 Ruby A/B 测试框架。
来源:基于仓库元数据 · 内容以仓库实际 README 为准

使用说明 查看原始 README 原仓库文档

中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# [Split](https://libraries.io/rubygems/split)

[![Gem Version](https://badge.fury.io/rb/split.svg)](http://badge.fury.io/rb/split)
![Build status](https://github.com/splitrb/split/actions/workflows/ci.yml/badge.svg?branch=main)
[![Code Climate](https://codeclimate.com/github/splitrb/split/badges/gpa.svg)](https://codeclimate.com/github/splitrb/split)
[![Test Coverage](https://codeclimate.com/github/splitrb/split/badges/coverage.svg)](https://codeclimate.com/github/splitrb/split/coverage)
[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
[![Open Source Helpers](https://www.codetriage.com/splitrb/split/badges/users.svg)](https://www.codetriage.com/splitrb/split)

> 📈 The Rack Based A/B testing framework https://libraries.io/rubygems/split

Split is a rack based A/B testing framework designed to work with Rails, Sinatra or any other rack based app.

Split is heavily inspired by the [Abingo](https://github.com/ryanb/abingo) and [Vanity](https://github.com/assaf/vanity) Rails A/B testing plugins and [Resque](https://github.com/resque/resque) in its use of Redis.

Split is designed to be hacker friendly, allowing for maximum customisation and extensibility.

## Install

### Requirements

Split v4.0+ is currently tested with Ruby >= 2.5 and Rails >= 5.2.

If your project requires compatibility with Ruby 2.4.x or older Rails versions. You can try v3.0 or v0.8.0(for Ruby 1.9.3)

Split uses Redis as a datastore.

Split only supports Redis 4.0 or greater.

If you're on OS X, Homebrew is the simplest way to install Redis:

```bash
brew install redis
redis-server /usr/local/etc/redis.conf
```

You now have a Redis daemon running on port `6379`.

### Setup

```bash
gem install split
```

#### Rails

Adding `gem 'split'` to your Gemfile will autoload it when rails starts up, as long as you've configured Redis it will 'just work'.

#### Sinatra

To configure Sinatra with Split you need to enable sessions and mix in the helper methods. Add the following lines at the top of your Sinatra app:

```ruby
require 'split'

class MySinatraApp < Sinatra::Base
  enable :sessions
  helpers Split::Helper

  get '/' do
  ...
end
```

## Usage

To begin your A/B test use the `ab_test` method, naming your experiment with the first argument and then the different alternatives which you wish to test on as the other arguments.

`ab_test` returns one of the alternatives, if a user has already seen that test they will get the same alternative as before, which you can use to split your code on.

It can be used to render different templates, show different text or any other case based logic.

`ab_finished` is used to make a completion of an experiment, or conversion.

Example: View

```erb
<% ab_test(:login_button, "/images/button1.jpg", "/images/button2.jpg") do |button_file| %>
  <%= image_tag(button_file, alt: "Login!") %>
<% end %>
```

Example: Controller

```ruby
阅读完整原文

商业机会分析 规则生成(AI 未配置)

综合评分 43.4 分。该项目在“个人可实施性”维度得 45 分,“付费可能性”维度得 20.0 分,差异化空间 70.0 分(评分依据见评分卡)。

面向细分需求的二次开发产品

产品构想基于 split 的核心能力,聚焦一个更窄的场景(如某平台、某行业)做差异化。
目标用户该细分场景用户
难度/周期中 · 2~6 周
收费模式买断制 / 订阅制 / 广告
竞争风险细分需求规模需验证
依据 AI 推测:基于项目主题标签的判断
以上为规则引擎基于仓库公开数据生成的参考结论,包含推测成分,不构成投资或创业承诺;配置 AI 后可获得更深入的分析。
报告会保存到 个人中心

竞品与相似项目 GitHub Search 真实检索

项目中文简介Stars语言
trekhleb/learn-python 中文介绍暂未生成
📚 Playground and cheatsheet for learning Python. Collection
18,509 Python
Vanessa219/vditor 中文介绍暂未生成
♏ 一款浏览器端的 Markdown 编辑器,支持所见即所得(富文本)、即时渲染(类似 Typora)和分屏预览模式。
11,446 TypeScript
PDFCraftTool/pdfcraft 中文介绍暂未生成
PDFCraft is a free, privacy-focused PDF toolkit that runs en
9,820 TypeScript
Nevcairiel/LAVFilters 中文介绍暂未生成
LAV Filters - Open-Source DirectShow Media Splitter and Deco
9,248 C++
peazip/PeaZip 中文介绍暂未生成
Free Zip / Unzip software and Rar file extractor. Cross-plat
8,122 Pascal
foostan/crkbd 中文介绍暂未生成
Corne keyboard, a split keyboard with 3x6 column staggered k
7,737 Makefile
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。

项目优势与风险

技术成熟度创建于 ,最近推送 ,发布过 42 个 Release
社区活跃Star 2,708 / Fork 0 / Issue 0(数据支持,可自行核实)
许可证未检测到(需人工确认)
主要风险上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价

安装与使用

快速开始(以仓库 README 为准)
git clone https://github.com/splitrb/split.git
cd split
# 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)
阅读原仓库文档
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。