Compare commits
4 Commits
6411883f58
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
f31001dd51
|
|||
|
1c6812483d
|
|||
|
a77e8f4fe5
|
|||
|
460c332d39
|
3
.gitignore
vendored
3
.gitignore
vendored
@@ -45,3 +45,6 @@ coverage/
|
|||||||
*.p12
|
*.p12
|
||||||
*.pfx
|
*.pfx
|
||||||
secrets/
|
secrets/
|
||||||
|
|
||||||
|
# Ruby
|
||||||
|
*.gem
|
||||||
|
|||||||
14
Gemfile
Normal file
14
Gemfile
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# Gemfile
|
||||||
|
|
||||||
|
# Default source for all public gems
|
||||||
|
source "https://rubygems.org"
|
||||||
|
|
||||||
|
# Other project gems
|
||||||
|
gem "rails", "~> 7.0"
|
||||||
|
gem "puma", "~> 6.4"
|
||||||
|
|
||||||
|
# Specify that the 'evercatch' gem should be fetched from Gitea server.
|
||||||
|
# The user must have their ~/.gem/credentials configured.
|
||||||
|
source "https://git.psmattas.com/api/packages/Evercatch/rubygems" do
|
||||||
|
gem "evercatch", "~> 0.0.1"
|
||||||
|
end
|
||||||
25
LICENSE
25
LICENSE
@@ -1,8 +1,21 @@
|
|||||||
Copyright (c) 2026 Evercatch. All rights reserved.
|
MIT License
|
||||||
|
|
||||||
This software and its source code are proprietary and confidential.
|
Copyright (c) 2026 Evercatch
|
||||||
Unauthorised copying, distribution, modification, or use of this software,
|
|
||||||
in whole or in part, via any medium, is strictly prohibited without the
|
|
||||||
prior written permission of Evercatch.
|
|
||||||
|
|
||||||
For licensing enquiries, contact: legal@evercatch.io
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|||||||
38
README.md
38
README.md
@@ -1,22 +1,26 @@
|
|||||||
# 📦 Repository Name
|
# 📦 Evercatch Ruby
|
||||||
|
|
||||||
> Short one-line description of what this repository does.
|
> Official Ruby SDK for Evercatch webhook infrastructure platform.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🧭 Overview
|
## 🧭 Overview
|
||||||
|
|
||||||
Describe what this service/module is responsible for within the Evercatch platform.
|
This repository contains the official Ruby SDK for the Evercatch platform. Its purpose is to provide a simple and convenient interface for developers to interact with the Evercatch API, manage webhooks, and handle events within their Ruby applications.
|
||||||
|
|
||||||
|
**⚠️ This SDK is currently under active development and is not yet ready for production use. The package published on RubyGems is a placeholder to reserve the name.**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🛠️ Tech Stack
|
## 🛠️ Tech Stack
|
||||||
|
|
||||||
|
The final technology stack is being determined. The planned stack is as follows:
|
||||||
|
|
||||||
| Layer | Technology |
|
| Layer | Technology |
|
||||||
| :--- | :--- |
|
| :--- | :--- |
|
||||||
| Language | — |
|
| Language | Ruby |
|
||||||
| Framework | — |
|
| Framework | None (Standard Library + Minimal Dependencies) |
|
||||||
| Key Dependencies | — |
|
| Key Dependencies | `httparty` or `net/http` (for HTTP), `Zod` (for data models) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -24,21 +28,27 @@ Describe what this service/module is responsible for within the Evercatch platfo
|
|||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- Docker & Docker Compose
|
- Ruby 2.7+
|
||||||
- Node.js / Python (specify version)
|
|
||||||
|
### Installation (Future)
|
||||||
|
|
||||||
|
Once released, the package will be available on RubyGems:
|
||||||
|
```bash
|
||||||
|
# This will not work until the first official release
|
||||||
|
gem install evercatch
|
||||||
|
```
|
||||||
|
|
||||||
### Local Development
|
### Local Development
|
||||||
|
|
||||||
|
The repository can be cloned for contribution or testing once development is further along.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Clone the repo
|
# Clone the repo
|
||||||
git clone https://git.psmattas.com/Evercatch/REPO_NAME.git
|
git clone https://git.psmattas.com/Evercatch/evercatch-ruby.git
|
||||||
cd REPO_NAME
|
|
||||||
|
|
||||||
# Copy environment variables
|
cd evercatch-ruby
|
||||||
cp .env.example .env
|
|
||||||
|
|
||||||
# Start services
|
# Note: The project is not yet functional.
|
||||||
docker compose up -d
|
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
39
Rakefile
Normal file
39
Rakefile
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# Rakefile for building and publishing the evercatch gem
|
||||||
|
|
||||||
|
# --- Configuration ---
|
||||||
|
GITEA_HOST = "https://git.psmattas.com/api/packages/Evercatch/rubygems"
|
||||||
|
GEMSPEC_FILE = "evercatch.gemspec"
|
||||||
|
# --------------------
|
||||||
|
|
||||||
|
# Load gemspec to get name and version
|
||||||
|
spec = Gem::Specification.load(GEMSPEC_FILE)
|
||||||
|
PACKAGE_FILE = "#{spec.name}-#{spec.version}.gem"
|
||||||
|
|
||||||
|
desc "Build the #{PACKAGE_FILE} gem"
|
||||||
|
task :build do
|
||||||
|
puts "Building #{PACKAGE_FILE}..."
|
||||||
|
system("gem build #{GEMSPEC_FILE}")
|
||||||
|
end
|
||||||
|
|
||||||
|
namespace :publish do
|
||||||
|
desc "Publish the gem to the public RubyGems.org registry"
|
||||||
|
task :public => :build do
|
||||||
|
puts "Publishing #{PACKAGE_FILE} to RubyGems.org..."
|
||||||
|
system("gem push #{PACKAGE_FILE}")
|
||||||
|
end
|
||||||
|
|
||||||
|
desc "Publish the gem to the private Gitea registry"
|
||||||
|
task :gitea => :build do
|
||||||
|
puts "Publishing #{PACKAGE_FILE} to Gitea..."
|
||||||
|
system("gem push --host #{GITEA_HOST} #{PACKAGE_FILE}")
|
||||||
|
end
|
||||||
|
|
||||||
|
desc "Publish the gem to both Gitea and RubyGems.org"
|
||||||
|
task :all => [:gitea, :public]
|
||||||
|
end
|
||||||
|
|
||||||
|
desc "Clean up built package files"
|
||||||
|
task :clean do
|
||||||
|
puts "Cleaning up *.gem files..."
|
||||||
|
system("rm -f *.gem")
|
||||||
|
end
|
||||||
14
evercatch.gemspec
Normal file
14
evercatch.gemspec
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
Gem::Specification.new do |s|
|
||||||
|
s.name = 'evercatch'
|
||||||
|
s.version = '0.0.1'
|
||||||
|
s.summary = 'Evercatch SDK for Ruby (Coming Soon)'
|
||||||
|
s.description = 'Official Ruby SDK for Evercatch webhook platform'
|
||||||
|
s.authors = ['Evercatch']
|
||||||
|
s.email = 'support@evercatch.dev'
|
||||||
|
s.files = ['lib/evercatch.rb']
|
||||||
|
s.homepage = 'https://git.psmattas.com/evercatch/evercatch-ruby'
|
||||||
|
s.license = 'MIT'
|
||||||
|
s.metadata = {
|
||||||
|
'source_code_uri' => 'https://git.psmattas.com/evercatch/evercatch-ruby'
|
||||||
|
}
|
||||||
|
end
|
||||||
7
lib/evercatch.rb
Normal file
7
lib/evercatch.rb
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Evercatch Ruby SDK
|
||||||
|
# Coming Soon - Q2 2026
|
||||||
|
# Visit https://evercatch.dev
|
||||||
|
|
||||||
|
module Evercatch
|
||||||
|
VERSION = "0.0.1"
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user