rblade 0.2.4 → 0.2.5

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: 89abc20ace497e0f051bb38ed620c44bf4bc7067cfeb20d7d7af9f13b98337ae
4
- data.tar.gz: '0971c951b39f2cf94833a1d3d55eb3c561666995049d7d6f4fff553837615676'
3
+ metadata.gz: 418e9e009d866abaf770d8fee42675919627c041fdb6753a628710d41875d75d
4
+ data.tar.gz: 4f51870487d92dadbc8fddcd413c26cbcade77cc5bdd16b3be664912c0de70ac
5
5
  SHA512:
6
- metadata.gz: 73f515630bcfc90ea39862b6014d4b4a4afb4b29b33a09ae8ac58e8ead98786e26be03c4e63d5711c82a6728afd37e02549b56417bf5833d833d8f7ee473ed34
7
- data.tar.gz: 8965f3fe015315e49c3dfe5b31b8aa949f0f609ffd7664a87ab875ca9a2f0cf494ac0a2236896479dfe007e2ebe45e5acdafbdb9d6384197acc9390383f7365e
6
+ metadata.gz: 99a62b7cd0e707fce89b84cc082daaff2776b32d16b170f502db8b5b42dc2dd89d0c821d78a24ac2ebb0c8ef99442373b5ca2464a726d037b9fded893e625659
7
+ data.tar.gz: bf2d3d6ae6437ecf9a770180ea9cf8d3becd1223375313d3027ce16252d0083cb91b712067bb1a0da7e157e98041c8251edfc043229e1824c85e119640e60427
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.2.5 [2024-07-23]
2
+ - Improve how @props sets local variables
3
+
1
4
  ## 0.2.4 [2024-07-23]
2
5
  - Improve merging of classes
3
6
 
@@ -11,9 +11,9 @@ module RBlade
11
11
  props = extractProps args[0]
12
12
  props.map do |key, value|
13
13
  if value == "_required"
14
- "if !defined?(#{key});raise \"Props statement: #{key} is not defined\";end;"
14
+ "if !defined?(#{key})&&!attributes.has?(:'#{RBlade::escape_quotes(key)}');raise \"Props statement: #{key} is not defined\";end;#{key.sub /[^a-zA-Z0-9_]/, '_'}=attributes.default(:'#{RBlade::escape_quotes(key)}');"
15
15
  else
16
- "if !defined?(#{key});#{key}=#{value};end;"
16
+ "#{key.sub /[^a-zA-Z0-9_]/, '_'}=attributes.default(:'#{RBlade::escape_quotes(key)}',#{value});"
17
17
  end
18
18
  end.join
19
19
  end
@@ -11,7 +11,19 @@ module RBlade
11
11
  @attributes[:style] = mergeClasses(@attributes[:style], @attributes.delete(:_style))
12
12
  end
13
13
 
14
- @attributes.freeze
14
+ @attributes
15
+ end
16
+
17
+ def default(key, default = nil)
18
+ if @attributes[key].nil? && !default.nil?
19
+ @attributes[key] = default
20
+ end
21
+
22
+ @attributes[key]
23
+ end
24
+
25
+ def has?(key)
26
+ !@attributes[key].nil?
15
27
  end
16
28
 
17
29
  def to_h
data/rblade.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "rblade"
3
- s.version = "0.2.4"
3
+ s.version = "0.2.5"
4
4
  s.summary = "Blade templates for ruby"
5
5
  s.description = "A port of the Laravel blade templating engine to ruby"
6
6
  s.authors = ["Simon J"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rblade
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon J