Compare commits

..

4 Commits

Author SHA1 Message Date
f31001dd51 EC-21: FEAT: Added better tools for auto build & publishing
Refers: Evercatch/evercatch-board#21
2026-02-20 11:14:42 +00:00
1c6812483d EC-21: FIX: Updated License
to MIT

Refers: Evercatch/evercatch-board#21
2026-02-20 11:06:17 +00:00
a77e8f4fe5 Merge branch 'EC-21-Official-SDKs'
Refers: Evercatch/evercatch-board#21
2026-02-19 19:50:27 +00:00
460c332d39 EC-21: FEAT: Added new Ruby package and initialized the repo
All checks were successful
PR Management Bot / pr-bot (pull_request) Successful in 7s
PR Title Checker / Validate PR Title Format (pull_request) Successful in 2s
Refers Evercatch/evercatch-board#21
2026-02-19 19:47:44 +00:00
7 changed files with 120 additions and 20 deletions

3
.gitignore vendored
View File

@@ -45,3 +45,6 @@ coverage/
*.p12 *.p12
*.pfx *.pfx
secrets/ secrets/
# Ruby
*.gem

14
Gemfile Normal file
View 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
View File

@@ -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.

View File

@@ -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
View 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
View 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
View File

@@ -0,0 +1,7 @@
# Evercatch Ruby SDK
# Coming Soon - Q2 2026
# Visit https://evercatch.dev
module Evercatch
VERSION = "0.0.1"
end