orb_template 0.1.0 → 0.1.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e989a3a4834e24471f5e0db08d8de0f8ae2bb9d9518b5292bee28c58b1d8f10c
4
- data.tar.gz: f1452ff5d326a96d9585229da9e9cccaf844df4dbdb2f69171682e20b28d152a
3
+ metadata.gz: b74243313337dd63535ee8506813a2f389bae51dc9acd867af03daa1698a4460
4
+ data.tar.gz: 7afda4bc5343e9ce87aebb99f0adaca66f9c46fb6cb47df861a3fb6db90753d6
5
5
  SHA512:
6
- metadata.gz: c2c6066121f20f18a9628c32a41266ff257062821ea264cd5adf99a35a2eaa2a20690d671920bd10c61e7e5626f8963d99cff23264306ce96eb53c140060ac37
7
- data.tar.gz: c6c0d9311c1e590a529730b0fe192e68fa6db4f302657e8ddf5661b2bf8074f8524e36896734aaf6929d9397f2127537f8ef2ba66fe46ec56dabc67a78eccee8
6
+ metadata.gz: 46d2138975a21d7011c519f5621ca98058d6823c6c1fa1a33634e0acfd5baa18cdddf15a68902c00562721017ded9bf6cb7d489875586c4eb15f991bed4d3cf7
7
+ data.tar.gz: 2ffee3abc581416c96b294e4d8d2d9b6fc46f6b332fbb75d2eb91a74d1c67d5907624c5f3e7ecff8f954fbe5dd13765dcb3f76f026a52487e9547c251800bd07
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.1.1] - 2025-11-28
4
+
5
+ ### Changed
6
+ - Removed dependency on ActiveSupport for improved lightweight usage
7
+ - Only load Railtie when running in Rails environment for better performance
8
+
9
+ ### Fixed
10
+ - Corrected Editor plugin URLs in README
11
+ - Fixed gem name to use lowercase in gemspec
12
+
13
+ ### Documentation
14
+ - Added demo video to README.md
15
+
3
16
  ## [0.1.0] - 2025-11-28
4
17
 
5
18
  - Initial release of the ORB library.
data/README.md CHANGED
@@ -2,7 +2,11 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/orb_template.svg)](https://badge.fury.io/rb/orb_template)
4
4
 
5
- ![ORB Logo](./assets/orb-lang-logo.png)
5
+
6
+
7
+ https://github.com/user-attachments/assets/8380b9a8-2063-40f3-a9b6-1b5d623d6f31
8
+
9
+
6
10
 
7
11
  **ORB** is a template language for Ruby with the express goal of providing a first-class DSL for rendering [ViewComponents](https://viewcomponent.org). It is heavily inspired by [React JSX](https://react.dev/learn/writing-markup-with-jsx) and [Surface](https://surace-ui.org).
8
12
 
@@ -327,11 +331,11 @@ Namespaces defined in this way will be searched in order of definition when reso
327
331
 
328
332
  ## Editor support
329
333
 
330
- - `VSCode` through the [ORB VSCode Extension](https://github/kuyio/orb-vscode).
331
- - `Zed` through the [ORB Zed Extension](https://github/kuyio/orb-zed).
332
- - `Neovim` through the [ORB Neovim Plugin](https://github/kuyio/orb-neovim).
334
+ - `VSCode` through the [ORB VSCode Extension](https://github.com/kuyio/vscode-orb).
335
+ - `Zed` through the [ORB Zed Extension](https://github.com/kuyio/zed-orb).
336
+ - Others through the [ORB Treesitter Grammer](https://github.com/kuyio/tree-sitter-orb).
333
337
 
334
- Your favorite editor is not listed? Feel free to contribute an extension/plugin for your editor of choice! The ORB tree-sitter grammar can be found [here](https://github.com/kuyio/tree-sitter-orb).
338
+ Your favorite editor is not listed? Feel free to contribute an extension/plugin for your editor of choice!
335
339
 
336
340
  ## Roadmap
337
341
 
data/lib/orb/ast.rb CHANGED
@@ -2,18 +2,16 @@
2
2
 
3
3
  module ORB
4
4
  module AST
5
- extend ActiveSupport::Autoload
6
-
7
- autoload :AbstractNode
8
- autoload :RootNode
9
- autoload :PublicCommentNode
10
- autoload :PrivateCommentNode
11
- autoload :TextNode
12
- autoload :TagNode
13
- autoload :Attribute
14
- autoload :PrintingExpressionNode
15
- autoload :ControlExpressionNode
16
- autoload :BlockNode
17
- autoload :NewlineNode
5
+ require_relative "ast/abstract_node"
6
+ require_relative "ast/attribute"
7
+ require_relative "ast/block_node"
8
+ require_relative "ast/control_expression_node"
9
+ require_relative "ast/newline_node"
10
+ require_relative "ast/public_comment_node"
11
+ require_relative "ast/printing_expression_node"
12
+ require_relative "ast/private_comment_node"
13
+ require_relative "ast/root_node"
14
+ require_relative "ast/tag_node"
15
+ require_relative "ast/text_node"
18
16
  end
19
17
  end
@@ -97,5 +97,5 @@ module ORB
97
97
  RailsTemplate.options[:streaming]
98
98
  end
99
99
  end
100
- ActionView::Template.register_template_handler(:orb, RailsTemplate.new)
100
+ ActionView::Template.register_template_handler(:orb, RailsTemplate.new) if defined?(ActionView)
101
101
  end
@@ -1,16 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # TODO: This class is a WIP and not used in production code, yet.
4
- #
3
+ require 'temple/utils'
4
+ require 'temple/mixins/dispatcher'
5
+ require 'temple/mixins/options'
6
+
7
+ # WIP - Not used in production yet
5
8
  # Eventually this class will be used to generate the Ruby code from the AST.
6
9
  # It tries to match the behaviour of the rails ERB Template handler as close as possible.
7
10
  module ORB
8
11
  module Temple
9
12
  module Generators
10
13
  class Generator
11
- include Utils
12
- include Mixins::CompiledDispatcher
13
- include Mixins::Options
14
+ include ::Temple::Utils
15
+ include ::Temple::Mixins::CompiledDispatcher
16
+ include ::Temple::Mixins::Options
14
17
 
15
18
  define_options :save_buffer,
16
19
  :streaming,
data/lib/orb/temple.rb CHANGED
@@ -2,15 +2,12 @@
2
2
 
3
3
  module ORB
4
4
  module Temple
5
- extend ActiveSupport::Autoload
6
-
7
- autoload :Filters
8
- autoload :ComponentFilter
9
- autoload :AttributesCompiler
10
- autoload :Parser
11
- autoload :Compiler
12
- autoload :Identity
13
- autoload :Engine
14
- autoload :Generator, 'orb/temple/generators'
5
+ require_relative "temple/filters"
6
+ require_relative "temple/attributes_compiler"
7
+ require_relative "temple/parser"
8
+ require_relative "temple/compiler"
9
+ require_relative "temple/identity"
10
+ require_relative "temple/engine"
11
+ require_relative "temple/generators"
15
12
  end
16
13
  end
data/lib/orb/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ORB
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
data/lib/orb.rb CHANGED
@@ -2,28 +2,20 @@
2
2
 
3
3
  require 'temple'
4
4
  require 'cgi/util'
5
- require "active_support/dependencies/autoload"
6
5
 
7
- module ORB
8
- extend ActiveSupport::Autoload
9
-
10
- autoload :Error, 'orb/errors'
11
- autoload :SyntaxError, 'orb/errors'
12
- autoload :ParserError, 'orb/errors'
13
- autoload :CompilerError, 'orb/errors'
14
- autoload :Token
15
- autoload :Tokenizer
16
- autoload :RenderContext
17
- autoload :AST
18
- autoload :Parser
19
- autoload :Document
20
- autoload :Template
21
- autoload :Temple
22
- autoload :RailsTemplate
23
-
24
- # Next-gen tokenizer built on top of strscan
25
- autoload :Tokenizer2
6
+ require_relative "orb/errors"
7
+ require_relative "orb/token"
8
+ require_relative "orb/tokenizer"
9
+ require_relative "orb/tokenizer2"
10
+ require_relative "orb/render_context"
11
+ require_relative "orb/ast"
12
+ require_relative "orb/parser"
13
+ require_relative "orb/document"
14
+ require_relative "orb/template"
15
+ require_relative "orb/temple"
16
+ require_relative "orb/rails_template"
26
17
 
18
+ module ORB
27
19
  # Configure class caching
28
20
  singleton_class.send(:attr_accessor, :cache_classes)
29
21
  self.cache_classes = true
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative './orb'
metadata CHANGED
@@ -1,14 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orb_template
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - KUY.io Inc.
8
8
  bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
- dependencies: []
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: temple
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 0.10.4
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 0.10.4
12
26
  description: 'ORB brings the declarative power of JSX to Ruby. It allows you to use
13
27
  ViewComponents as HTML elements (e.g., <Button />).
14
28
 
@@ -61,6 +75,7 @@ files:
61
75
  - lib/orb/utils/erb.rb
62
76
  - lib/orb/utils/orb.rb
63
77
  - lib/orb/version.rb
78
+ - lib/orb_template.rb
64
79
  homepage: https://github.com/kuyio/orb_template
65
80
  licenses:
66
81
  - MIT