@radioactive-labs/plutonium 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,95 +1,33 @@
1
- # Plutonium: Nuclear ☢️ Reactor Included
1
+ # Plutonium: It's like Rails, but for Rails!
2
2
 
3
3
  [![Ruby](https://github.com/radioactive-labs/plutonium-core/actions/workflows/main.yml/badge.svg)](https://github.com/radioactive-labs/plutonium-core/actions/workflows/main.yml)
4
4
 
5
- Watch the introduction video: [Plutonium in 30 minutes](https://www.youtube.com/watch?v=HMjzj-vVLIU)
5
+ **Plutonium** is a powerful Rapid Application Development (RAD) toolkit for Rails that picks up where Rails left off, introducing application-level concepts and tooling that transform the way you build applications.
6
6
 
7
- ---
7
+ ## Overview
8
8
 
9
- **Plutonium** picks up where Rails left off, introducing application level concepts and tooling, transforming the way you build applications with Rails.
10
- It's a culmination of lessons learned from years of developing nearly identical applications and is designed to save you from the drudgery of re-implementation.
9
+ Plutonium builds upon Rails' conventions and extends them with:
11
10
 
12
- **Why Choose Plutonium?**
11
+ - **Authentication & Authorization**: Integrates seamlessly with Rodauth or your existing auth system
12
+ - **Complete CRUD Operations**: Rich fields, forms, tables, and nested resources out of the box
13
+ - **Modular Architecture**: Package system based on Rails engines for better organization
14
+ - **Entity Scoping**: Built-in multi-tenancy support that "just works"
15
+ - **Smart Generators**: Eliminate boilerplate while maintaining flexibility
16
+ - **Modern UI**: Beautiful, responsive interface powered by Tailwind CSS and Hotwire
13
17
 
14
- - **Efficiency by Design:** Plutonium is built for developers who demand efficiency without compromise. It automates 90% of your application needs while giving you the flexibility to tailor the remaining 10% to your specific requirements.
15
- - **Comprehensive Features:** Plutonium covers a wide array of functionalities out of the box:
16
- - Authentication & Authorization
17
- - Complete CRUD operations with advanced features: customizable inputs, fields, tables, forms, pagination, actions, search, scopes, filtering, nested resources and much more.
18
- - Modular architecture leveraging Rails engines for improved packaging and namespacing.
19
- - Time-saving generators for boilerplate tasks.
20
- - **Omakase with a Twist:** Inspired by Rails' omakase philosophy, Plutonium delivers a convention-based approach but doesn't box you in. It's seamlessly integrated into your project, allowing you to write your application as you would with vanilla Rails but with powerful extensions.
21
- - **MVC and Beyond:** Plutonium adopts the MVC pattern, enhanced with modern web technologies like [hotwire](TODO), to deliver an interactive and robust user experience. It emphasizes progressive enhancement, ensuring a smooth development process and end-user experience.
22
- - **Rails Harmony:** A Plutonium app is a Rails app at its core. It respects and builds upon Rails' conventions, making it intuitive for Rails developers. If you know Rails, learning Plutonium requires only a few new concepts.
23
- - **Effortless Customization:** Plutonium is designed for easy customization to meet your unique requirements. Whether adjusting the functionality of entire resource groups or fine-tuning individual elements, our accessible low-level APIs and the familiar Rails conventions offer unparalleled flexibility. This ensures that any modifications you need to make can be implemented swiftly and smoothly, reducing complexity and enhancing your development experience.
24
- - **Community-Driven Dependencies:** Plutonium stands on the shoulders of giants, integrating with well-established gems chosen for their robustness and flexibility, including:
25
- - [ActiveInteraction](https://github.com/AaronLasseigne/active_interaction) for business logic
26
- - [Pagy](https://github.com/ddnexus/pagy) for pagination
27
- - [Action Policy](https://actionpolicy.evilmartians.io/): for authorization
28
- - [Simple Form](https://github.com/heartcombo/simple_form) for forms
29
- - [Rodauth](https://github.com/jeremyevans/rodauth) (via [rodauth-rails](https://github.com/janko/rodauth-rails)) for authentication. Rodauth is optional, allowing flexibility in choosing your auth solution
18
+ ## Project Status
30
19
 
31
- ## Quick Start
20
+ > [!WARNING]
21
+ > While Plutonium is actively used in production environments, it's still in early development. APIs may change, and some features are still evolving. We recommend thoroughly testing before deploying to production.
32
22
 
33
- Get Plutonium up and running in your Rails application with these simple steps:
23
+ ## Documentation
34
24
 
35
- 1. **Add Plutonium to your Gemfile:**
36
-
37
- ```ruby
38
- gem "plutonium"
39
- ```
40
-
41
- 2. **Bundle Install:**
42
-
43
- ```shell
44
- bundle
45
- ```
46
-
47
- 3. **Install Plutonium:**
48
-
49
- ```shell
50
- rails g pu:core:install
51
- ```
52
-
53
- Start building your Rails applications faster, with more flexibility and less boilerplate. **Plutonium** is here to revolutionize your development process.
54
-
55
- ## Usage
56
-
57
- TODO: Write usage instructions here
58
-
59
- ## Development
60
-
61
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
62
-
63
- To build assets, run `npm dev`
64
-
65
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
66
-
67
- ## Contributing
68
-
69
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/plutonium.
25
+ Visit our [documentation](https://radioactive-labs.github.io/plutonium-core/) for:
26
+ - Getting started guide
27
+ - Installation instructions
28
+ - Core concepts
29
+ - Tutorials
70
30
 
71
31
  ## License
72
32
 
73
33
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
74
-
75
- <!--
76
- # ------------------------------
77
-
78
- gem "plutonium", path: "/Users/stefan/code/plutonium/starters/plutonium/"
79
- gem "plutonium_generators", github: "radioactive-labs/plutonium-generators", group: [:development, :test]
80
-
81
-
82
-
83
- # rails new vulcan \
84
- # --skip-action-mailbox --skip-action-text --skip-active-storage --skip-action-cable --skip-jbuilder \
85
- # --skip-test --skip-system-test --javascript=esbuild --css=bootstrap --database=postgresql
86
-
87
-
88
- ```bash
89
- rails new pluton8_starter --name="Pluton8 Starter" --database=sqlite3 --skip-action-mailbox --skip-action-text --skip-active-storage --asset-pipeline=propshaft --skip-jbuilder --javascript=importmap --css=tailwind
90
-
91
- bin/rails app:template LOCATION=/Users/stefan/code/plutonium/starters/vulcan/gems/plutonium/templates/base.rb
92
- ```
93
-
94
- rails g pu:rodauth:account admin --no-defaults --login --logout --remember --change-password --internal-request --create-account --lockout --verify-account --audit-logging --close-account --otp --reset-password --reset-password-notify --active-sessions --recovery-codes --password-grace-period
95
- -->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radioactive-labs/plutonium",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Core assets for the Plutonium gem",
5
5
  "type": "module",
6
6
  "main": "src/js/core.js",
@@ -3561,7 +3561,6 @@
3561
3561
  window.Dismiss = Dismiss;
3562
3562
  window.initDismisses = initDismisses;
3563
3563
  }
3564
- var dismiss_default = Dismiss;
3565
3564
 
3566
3565
  // node_modules/@popperjs/core/lib/enums.js
3567
3566
  var top = "top";
@@ -7138,18 +7137,14 @@
7138
7137
 
7139
7138
  // src/js/controllers/resource_dismiss_controller.js
7140
7139
  var resource_dismiss_controller_default = class extends Controller {
7141
- static targets = ["trigger", "target"];
7142
7140
  static values = {
7143
7141
  after: Number
7144
7142
  };
7145
7143
  connect() {
7146
7144
  console.log(`resource-dismiss connected: ${this.element}`);
7147
- this.dismiss = new dismiss_default(this.targetTarget, this.triggerTarget);
7148
- console.log(this.hasAfterValue);
7149
- console.log(this.afterValue);
7150
7145
  if (this.hasAfterValue && this.afterValue > 0) {
7151
7146
  this.autoDismissTimeout = setTimeout(() => {
7152
- this.hide();
7147
+ this.dismiss();
7153
7148
  this.autoDismissTimeout = null;
7154
7149
  }, this.afterValue);
7155
7150
  }
@@ -7157,11 +7152,10 @@
7157
7152
  disconnect() {
7158
7153
  if (this.autoDismissTimeout)
7159
7154
  clearTimeout(this.autoDismissTimeout);
7160
- this.dismiss = null;
7161
7155
  this.autoDismissTimeout = null;
7162
7156
  }
7163
- hide() {
7164
- this.dismiss.hide();
7157
+ dismiss() {
7158
+ this.element.remove();
7165
7159
  }
7166
7160
  };
7167
7161