rblade 1.0.1 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92480d7f16a4aa87c7b2680f9db5581cac5a2dc9a4e6ffeda163e279ce3910a4
4
- data.tar.gz: fe0b611017478bcb7f1a4c12e5deb5356b85dd85cfbc91b63cdee41dd76d8c6d
3
+ metadata.gz: 17ad9a35983e35fb1f6e34e57372546913afa14ec6c5d1e4fefee0860dc384ab
4
+ data.tar.gz: 5d58650e854920e85ea6d6d4df78337495afd842388e194f163c8383144b248d
5
5
  SHA512:
6
- metadata.gz: 3c92d262b7b478a88cd377d0f35ff789dc80e18485a0e39f1e2a46a491b3fa5b48fa6562be623dde9a4007d0d58f9e85f6c4cbb8efcbe9b3c6b670dcc0d9cd8c
7
- data.tar.gz: f6504a3e463cfd0a51cc8c76a78fc27db62aaace6d517a73f52fd7e1f2ec70d0bc65a2892d8f699fae27673554d624a5dcb60fbfeb2f894bf896c32a7cb95b12
6
+ metadata.gz: 5b7c6a166b2d049859f77f2c396b85e874bdd14d68cb587128cae5131f718637034855cadeb7bf6bef191546982b2a565f80b0745d1266c0fbd5abac7b9fa054
7
+ data.tar.gz: 0c88c2750047aae8885e88e740f40b16c4797f1590fdf96514d63ed2a9f60291d8868376a9ee8a2894ecfc55edb7c1506a7a7e403c5f4a87f2673aa4e9f9f0b7
@@ -0,0 +1,38 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Ruby
9
+
10
+ on:
11
+ push:
12
+ branches: [ "main" ]
13
+ pull_request:
14
+ branches: [ "main" ]
15
+
16
+ permissions:
17
+ contents: read
18
+
19
+ jobs:
20
+ test:
21
+
22
+ runs-on: ubuntu-latest
23
+ strategy:
24
+ matrix:
25
+ ruby-version: ['3.2']
26
+
27
+ steps:
28
+ - uses: actions/checkout@v4
29
+ - name: Set up Ruby
30
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
31
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
32
+ # uses: ruby/setup-ruby@v1
33
+ uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
34
+ with:
35
+ ruby-version: ${{ matrix.ruby-version }}
36
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
37
+ - name: Run tests
38
+ run: bundle exec rake
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 1.0.3 [2024-08-10]
2
+ - Add GitHub CI
3
+ - Add support for the Rails `raw` method for outputting unescaped HTML
4
+
5
+ ## 1.0.2 [2024-08-09]
6
+ - Fix non-string `@props` defaults being converted to slots
7
+
1
8
  ## 1.0.1 [2024-08-09]
2
9
  - Automatically detect when properties are used as slots
3
10
  - Change `_required` to `required` in @props
data/Rakefile CHANGED
@@ -3,4 +3,4 @@ require "standard/rake"
3
3
 
4
4
  Minitest::TestTask.create
5
5
 
6
- task default: "test"
6
+ task default: ["standard", "test"]
@@ -7,6 +7,7 @@ require "rblade/compiler/compiles_statements"
7
7
  require "rblade/compiler/tokenizes_components"
8
8
  require "rblade/compiler/tokenizes_statements"
9
9
  require "rblade/helpers/html_string"
10
+ require "active_support/core_ext/string/output_safety"
10
11
 
11
12
  Token = Struct.new(:type, :value)
12
13
 
@@ -21,7 +22,7 @@ module RBlade
21
22
  end
22
23
 
23
24
  def self.e string
24
- if string.is_a? HtmlString
25
+ if string.is_a?(HtmlString) || string.is_a?(ActiveSupport::SafeBuffer)
25
26
  string
26
27
  else
27
28
  h(string)
@@ -1,5 +1,3 @@
1
- require "rblade/compiler"
2
-
3
1
  module RBlade
4
2
  FILE_EXTENSIONS = [".rblade", ".html.rblade"]
5
3
 
@@ -24,9 +24,9 @@ module RBlade
24
24
  @content.respond_to?(method_name)
25
25
  end
26
26
 
27
- # Wraps var in a slot manager, if it isn't already
27
+ # Wraps var in a slot manager if it's a string
28
28
  def self.wrap var
29
- var.is_a?(self) ? var : new(var)
29
+ var.is_a?(String) ? new(var) : var
30
30
  end
31
31
 
32
32
  attr_reader :attributes
data/rblade.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "rblade"
3
- s.version = "1.0.1"
3
+ s.version = "1.0.3"
4
4
  s.summary = "A component-first templating engine for Rails"
5
5
  s.description = "RBlade is a simple, yet powerful templating engine for Ruby on Rails, inspired by Laravel Blade."
6
6
  s.authors = ["Simon J"]
@@ -8,6 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|storage)/}) }
9
9
  s.require_paths = ["lib"]
10
10
  s.homepage = "https://rubygems.org/gems/rblade"
11
+ s.metadata = {"source_code_uri" => "https://github.com/mwnciau/rblade"}
11
12
  s.license = "MIT"
12
13
  s.required_ruby_version = ">= 3.0.0"
13
14
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rblade
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon J
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-09 00:00:00.000000000 Z
11
+ date: 2024-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -73,6 +73,7 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
+ - ".github/workflows/ruby.yml"
76
77
  - ".gitignore"
77
78
  - ".standard.yml"
78
79
  - CHANGELOG.md
@@ -122,7 +123,8 @@ files:
122
123
  homepage: https://rubygems.org/gems/rblade
123
124
  licenses:
124
125
  - MIT
125
- metadata: {}
126
+ metadata:
127
+ source_code_uri: https://github.com/mwnciau/rblade
126
128
  post_install_message:
127
129
  rdoc_options: []
128
130
  require_paths: