rblade 0.2.4 → 0.2.5

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: 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