Skip to content

Commit ce57c44

Browse files
committed
update: feature testing to eksa-mination
1 parent 613791c commit ce57c44

14 files changed

Lines changed: 141 additions & 54 deletions

.gitignore

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,30 @@
1-
eksa-framework.gemspec
2-
eksa-framework-0.1.0.gem
3-
eksa-framework-1.1.0.gem
4-
eksa-framework-1.1.1.gem
5-
eksa-framework-1.2.1.gem
6-
eksa-framework-2.2.1.gem
7-
eksa-framework-2.2.2.gem
8-
eksa-framework-2.3.2.gem
9-
eksa-framework-3.3.2.gem
10-
eksa-framework-3.3.3.gem
11-
eksa-framework-3.4.3.gem
12-
eksa-framework-3.5.0.gem
13-
eksa-framework-3.5.1.gem
14-
eksa-framework-3.5.2.gem
15-
.env
1+
# Compiled Gems
2+
*.gem
3+
4+
# Dependency directories
5+
/.bundle/
6+
/vendor/bundle/
7+
/lib/bundler/man/
8+
9+
# Build artifacts
10+
/pkg/
11+
/doc/
12+
13+
# SQLite Databases
14+
/db/*.db
15+
/db/*.sqlite3
16+
17+
# Environment Variables
18+
.env
19+
20+
# IDE and System Files
21+
.ruby-lsp/
22+
.vscode/
23+
.idea/
24+
.DS_Store
25+
.ruby-version
26+
.ruby-gemset
27+
28+
# Logs and temporary files
29+
/log/*.log
30+
/tmp/

Gemfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ gem 'bigdecimal', '~> 3.1'
1515
gem 'kramdown'
1616
gem 'kramdown-parser-gfm'
1717
gem 'bcrypt', '~> 3.1'
18-
gem 'rack-session', '~> 2.0'
18+
gem 'rack-session', '~> 2.0'
19+
gem 'eksa-mination'

Gemfile.lock

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ GEM
77
bson (5.2.0)
88
diff-lcs (1.6.2)
99
dotenv (2.8.1)
10+
eksa-mination (2.0.0)
1011
kramdown (2.5.2)
1112
rexml (>= 3.4.4)
1213
kramdown-parser-gfm (1.1.0)
@@ -48,6 +49,7 @@ DEPENDENCIES
4849
bcrypt (~> 3.1)
4950
bigdecimal (~> 3.1)
5051
dotenv (~> 2.8)
52+
eksa-mination
5153
kramdown
5254
kramdown-parser-gfm
5355
mongo (~> 2.19)
@@ -66,6 +68,7 @@ CHECKSUMS
6668
bson (5.2.0) sha256=c468c1e8a3cfa1e80531cc519a890f85586986721d8e305f83465cc36bb82608
6769
diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
6870
dotenv (2.8.1) sha256=c5944793349ae03c432e1780a2ca929d60b88c7d14d52d630db0508c3a8a17d8
71+
eksa-mination (2.0.0) sha256=9d2717d24e8b19c7f7a1e2fdbf98d258cda6281309e3dacaac9bb4b0a9e7f750
6972
kramdown (2.5.2) sha256=1ba542204c66b6f9111ff00dcc26075b95b220b07f2905d8261740c82f7f02fa
7073
kramdown-parser-gfm (1.1.0) sha256=fb39745516427d2988543bf01fc4cf0ab1149476382393e0e9c48592f6581729
7174
mongo (2.23.0) sha256=be2fe4cc6f7119fa6b79e82a1963b2406856b4dc92d0ccfb74db543897be3109

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# ✨ Eksa Framework v3.5.2
1+
# ✨ Eksa Framework v3.5.3
22

33
[![Ruby Version](https://img.shields.io/badge/ruby-3.0+-red.svg)](https://www.ruby-lang.org/)
44
[![Rack Version](https://img.shields.io/badge/rack-3.0+-blue.svg)](https://rack.github.io/)
@@ -9,7 +9,7 @@
99

1010
---
1111

12-
## 🚀 Fitur Unggulan v3.5.2
12+
## 🚀 Fitur Unggulan v3.5.3
1313

1414
* 💎 **Modern Glassmorphism UI**: Tampilan transparan yang indah dengan Tailwind CSS & Lucide Icons.
1515
* 📱 **Mobile Responsive Navigation**: Sistem navigasi adaptif dengan mobile drawer yang elegan.
@@ -18,7 +18,7 @@
1818
* 💾 **Agnostic Database Engine**: Dukungan multi-database (**SQLite** & **MongoDB Atlas**) dengan sistem adapter yang otomatis dan transparan.
1919
* 🛡️ **Secure Environment Variables**: Dukungan file `.env` untuk menyimpan kredensial database (MongoDB URI) secara aman.
2020
* ⚙️ **JIT Schema Initialization**: Inisialisasi tabel/koleksi secara otomatis tepat saat model pertama kali diakses.
21-
* 🧪 **Built-in Testing**: Lingkungan pengujian otomatis siap pakai menggunakan RSpec dan `rack-test`.
21+
* 🧪 **Built-in Testing**: Lingkungan pengujian otomatis siap pakai menggunakan **EksaMination** dan `rack-test`.
2222
* 🛡️ **Built-in Authentication**: Sistem keamanan BCrypt dengan proteksi sesi Rack untuk registrasi log-in area Admin.
2323
* 📝 **Interactive CMS Dashboard**: Panel admin integratif untuk mengedit isi blog Markdown & transisi visibilitas via UI.
2424
* 🔍 **Dynamic SEO Engine**: Penanganan otomatis file `robots.txt`, `sitemap.xml`, dan dukungan **JSON-LD** (Structured Data).
@@ -117,10 +117,11 @@ Eksa secara otomatis menghasilkan:
117117
- **JSON-LD**: Skema `BlogPosting` dan `WebSite` disematkan otomatis pada layout untuk peringkat SEO yang lebih baik.
118118

119119
### 5. Menjalankan Test
120-
Gunakan RSpec yang sudah terkonfigurasi untuk memastikan aplikasi stabil:
120+
Gunakan **EksaMination** (pendekatan pengujian yang lebih ringan dan terintegrasi) untuk memastikan aplikasi stabil:
121121

122122
```bash
123-
bundle exec rspec
123+
# Menjalankan semua test dengan format dokumentasi
124+
bundle exec eksa-mination -f documentation
124125
```
125126

126127
---

_posts/2026-03-15-welcome-to-eksa-framework.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
---
2-
published: true
3-
title: Welcome To Eksa Framework
4-
date: 2026-03-15 21:09:58.000000000 +07:00
5-
author: IshikawaUta
6-
category: Framework
7-
image: https://res.cloudinary.com/dzsqaauqn/image/upload/v1773645204/logo_ne3hy4.png
8-
---
9-
10-
# ✨ Eksa Framework v3.5.2
1+
---
2+
published: true
3+
title: Welcome To Eksa Framework
4+
date: 2026-03-15 21:09:58.000000000 +07:00
5+
author: IshikawaUta
6+
category: Framework
7+
image: https://res.cloudinary.com/dzsqaauqn/image/upload/v1773645204/logo_ne3hy4.png
8+
---
9+
10+
# ✨ Eksa Framework v3.5.3
1111

1212
**Eksa Framework** adalah *micro-framework* MVC (Model-View-Controller) modern yang dibangun di atas Ruby dan Rack. Didesain untuk pengembang yang menginginkan kecepatan, kode yang bersih, dan tampilan antarmuka **Glassmorphism** yang elegan secara *out-of-the-box*.
1313

1414
---
1515

16-
## 🚀 Fitur Unggulan v3.5.2
16+
## 🚀 Fitur Unggulan v3.5.3
1717

1818
* 💎 **Modern Glassmorphism UI**: Tampilan transparan yang indah dengan Tailwind CSS & Lucide Icons.
1919
* 📱 **Mobile Responsive Navigation**: Sistem navigasi adaptif dengan mobile drawer yang elegan.
@@ -22,7 +22,7 @@ image: https://res.cloudinary.com/dzsqaauqn/image/upload/v1773645204/logo_ne3hy4
2222
* 💾 **Agnostic Database Engine**: Dukungan multi-database (**SQLite** & **MongoDB Atlas**) dengan sistem adapter yang otomatis dan transparan.
2323
* 🛡️ **Secure Environment Variables**: Dukungan file `.env` untuk menyimpan kredensial database (MongoDB URI) secara aman.
2424
* ⚙️ **JIT Schema Initialization**: Inisialisasi tabel/koleksi secara otomatis tepat saat model pertama kali diakses.
25-
* 🧪 **Built-in Testing**: Lingkungan pengujian otomatis siap pakai menggunakan RSpec dan `rack-test`.
25+
* 🧪 **Built-in Testing**: Lingkungan pengujian otomatis siap pakai menggunakan **EksaMination** dan `rack-test`.
2626
* 🛡️ **Built-in Authentication**: Sistem keamanan BCrypt dengan proteksi sesi Rack untuk registrasi log-in area Admin.
2727
* 📝 **Interactive CMS Dashboard**: Panel admin integratif untuk mengedit isi blog Markdown & transisi visibilitas via UI.
2828
* 🔍 **Dynamic SEO Engine**: Penanganan otomatis file `robots.txt`, `sitemap.xml`, dan dukungan **JSON-LD** (Structured Data).
@@ -121,10 +121,11 @@ Eksa secara otomatis menghasilkan:
121121
- **JSON-LD**: Skema `BlogPosting` dan `WebSite` disematkan otomatis pada layout untuk peringkat SEO yang lebih baik.
122122

123123
### 5. Menjalankan Test
124-
Gunakan RSpec yang sudah terkonfigurasi untuk memastikan aplikasi stabil:
124+
Gunakan **EksaMination** (pendekatan pengujian yang lebih ringan dan terintegrasi) untuk memastikan aplikasi stabil:
125125

126126
```bash
127-
bundle exec rspec
127+
# Menjalankan semua test dengan format dokumentasi
128+
bundle exec eksa-mination -f documentation
128129
```
129130

130131
---

app/views/about.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<div class="space-y-6 text-white/80 leading-relaxed">
1010
<p class="text-lg text-center mx-auto max-w-2xl mb-10">
11-
<strong>Eksa Framework v3.5.2</strong> adalah <strong>micro-framework</strong> Ruby yang dibangun dari nol untuk mendemonstrasikan kekuatan arsitektur MVC, kesederhanaan Ruby, dengan keindahan antarmuka-antarmuka UI masa kini.
11+
<strong>Eksa Framework v3.5.3</strong> adalah <strong>micro-framework</strong> Ruby yang dibangun dari nol untuk mendemonstrasikan kekuatan arsitektur MVC, kesederhanaan Ruby, dengan keindahan antarmuka-antarmuka UI masa kini.
1212
</p>
1313

1414
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mt-8">

app/views/docs.html.erb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
</div>
77
<h1 class="text-4xl font-extrabold tracking-tight">Dokumentasi <span class="text-indigo-300">Eksa</span></h1>
88
</div>
9-
<p class="text-white/60 text-lg">Panduan profesional instalasi dan pengembangan aplikasi menggunakan Eksa Framework v3.5.2.</p>
9+
<p class="text-white/60 text-lg">Panduan profesional instalasi dan pengembangan aplikasi menggunakan Eksa Framework v3.5.3.</p>
1010
</div>
1111

1212
<div class="grid grid-cols-1 md:grid-cols-3 gap-8 mb-12">
@@ -180,7 +180,7 @@
180180
<h2 class="text-2xl font-bold mb-4 flex items-center gap-2">
181181
<i data-lucide="search" class="w-6 h-6 text-indigo-400"></i> SEO & JSON-LD
182182
</h2>
183-
<p class="text-white/60 mb-4 text-sm">Eksa v3.5.2 menyematkan data terstruktur secara otomatis untuk ranking pencarian yang lebih baik.</p>
183+
<p class="text-white/60 mb-4 text-sm">Eksa v3.5.3 menyematkan data terstruktur secara otomatis untuk ranking pencarian yang lebih baik.</p>
184184
<div class="bg-white/5 p-4 rounded-xl border border-white/10 flex items-center gap-3">
185185
<i data-lucide="check-circle-2" class="w-5 h-5 text-emerald-400"></i>
186186
<p class="text-xs text-white/70">Mendukung <code class="text-indigo-300">sitemap.xml</code>, <code class="text-indigo-300">robots.txt</code> secara dinamis.</p>
@@ -192,7 +192,7 @@
192192
<span class="bg-indigo-500/20 text-indigo-300 text-[10px] px-3 py-1 rounded-full border border-indigo-500/30 uppercase tracking-tighter">Rack 3.0 Compatible</span>
193193
<span class="bg-emerald-500/20 text-emerald-300 text-[10px] px-3 py-1 rounded-full border border-emerald-500/30 uppercase tracking-tighter">Production Ready</span>
194194
</div>
195-
<p class="text-white/40 text-sm italic">Eksa Framework v3.5.2 Professional Documentation</p>
195+
<p class="text-white/40 text-sm italic">Eksa Framework v3.5.3 Professional Documentation</p>
196196
<a href="/" class="inline-block mt-6 text-indigo-300 hover:text-white transition font-bold flex items-center justify-center gap-2">
197197
<i data-lucide="arrow-left" class="w-4 h-4"></i> Kembali ke Beranda
198198
</a>

app/views/index.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div class="flex flex-col md:flex-row justify-between items-start md:items-center mb-8 gap-4">
33
<div>
44
<span class="inline-block bg-indigo-500/20 text-indigo-200 text-xs font-bold px-3 py-1 rounded-full mb-3 border border-indigo-500/30">
5-
v3.5.2 Alpha
5+
v3.5.3 Alpha
66
</span>
77
<h1 class="text-4xl font-extrabold tracking-tight">
88
Halo, <span class="text-indigo-300"><%= @nama %></span>!

eksa-framework.gemspec

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# frozen_string_literal: true
2+
3+
require_relative "lib/eksa/version"
4+
5+
Gem::Specification.new do |spec|
6+
spec.name = "eksa-framework"
7+
spec.version = Eksa::VERSION
8+
spec.authors = ["IshikawaUta"]
9+
spec.email = ["komikers09@gmail.com"]
10+
11+
spec.summary = "Modern Glassmorphism Ruby MVC Framework."
12+
spec.description = "Framework MVC ringan dengan tema modern, sistem routing, dan dukungan multi-database (SQLite & MongoDB)."
13+
spec.homepage = "https://github.com/IshikawaUta/eksa-framework"
14+
spec.license = "MIT"
15+
spec.required_ruby_version = ">= 3.0.0"
16+
17+
# spec.metadata["allowed_push_host"] = "https://rubygems.org"
18+
19+
spec.metadata["homepage_uri"] = spec.homepage
20+
spec.metadata["source_code_uri"] = "https://github.com/IshikawaUta/eksa-framework"
21+
spec.metadata["changelog_uri"] = "https://github.com/IshikawaUta/eksa-framework/releases"
22+
23+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
24+
files = `git ls-files -z`.split("\x0")
25+
files += `git ls-files -zo --exclude-standard`.split("\x0")
26+
files.reject do |f|
27+
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|features)/|\.(?:git|travis|circleci)|appveyor)}) ||
28+
f.end_with?('.gem') || !File.exist?(f)
29+
end
30+
end
31+
32+
spec.bindir = "exe"
33+
spec.executables = ["eksa"]
34+
spec.require_paths = ["lib"]
35+
36+
spec.add_dependency "rack", "~> 3.0"
37+
spec.add_dependency "sqlite3", "~> 1.4"
38+
spec.add_dependency "puma", "~> 6.0"
39+
spec.add_dependency "rackup", "~> 2.3"
40+
spec.add_dependency "kramdown", "~> 2.4"
41+
spec.add_dependency "kramdown-parser-gfm", "~> 1.1"
42+
spec.add_dependency "bcrypt", "~> 3.1"
43+
spec.add_dependency "rack-session", "~> 2.0"
44+
spec.add_dependency "mongo", "~> 2.19"
45+
spec.add_dependency "dotenv", "~> 2.8"
46+
spec.add_dependency "bigdecimal", "~> 3.1"
47+
spec.add_dependency "eksa-mination", "~> 2.0"
48+
end

lib/eksa/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module Eksa
2-
VERSION = "3.5.2"
2+
VERSION = "3.5.3"
33
end

0 commit comments

Comments
 (0)