xrb 0.5.0 → 0.6.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/ext/XRB_Extension.bundle +0 -0
- data/ext/markup.o +0 -0
- data/ext/query.o +0 -0
- data/ext/template.o +0 -0
- data/ext/xrb/escape.c +0 -2
- data/ext/xrb/tag.c +6 -1
- data/ext/xrb/xrb.c +0 -5
- data/lib/xrb/markup.rb +6 -0
- data/lib/xrb/tag.rb +5 -1
- data/lib/xrb/version.rb +1 -1
- data/license.md +1 -0
- data.tar.gz.sig +0 -0
- metadata +3 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd37ae9601f70b0cfcbabe16d8fcb75979e9f1f3c31b09c09dc09e0778ecee62
|
4
|
+
data.tar.gz: 24fec49db14fee7d33279c8a1ebd886be3c260c094a40315525ca53c86e82421
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 95f9e7530e0d5419c5a55a0a33d242f54fc15ac1f1e48d046c27b2b46d627e19b4fc7a90c111e428e502f58afe2a93818610758ecb757c31cc7990f2756f8220
|
7
|
+
data.tar.gz: 0fc975c1d6b59077b326efd428bb2f0039ead7198145c4b66aaab098fe0c58caaf0018c2568ea8fc0cab81b0f5346bd35df102eaac0ebe02e28ee7713ca020bd
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/ext/XRB_Extension.bundle
CHANGED
Binary file
|
data/ext/markup.o
CHANGED
Binary file
|
data/ext/query.o
CHANGED
Binary file
|
data/ext/template.o
CHANGED
Binary file
|
data/ext/xrb/escape.c
CHANGED
@@ -159,8 +159,6 @@ VALUE XRB_Markup_escape_string(VALUE self, VALUE string) {
|
|
159
159
|
|
160
160
|
void Init_XRB_escape(void) {
|
161
161
|
rb_XRB_MarkupString = rb_define_class_under(rb_XRB, "MarkupString", rb_cString);
|
162
|
-
rb_gc_register_mark_object(rb_XRB_MarkupString);
|
163
|
-
|
164
162
|
rb_include_module(rb_XRB_MarkupString, rb_XRB_Markup);
|
165
163
|
|
166
164
|
rb_undef_method(rb_class_of(rb_XRB_Markup), "escape_string");
|
data/ext/xrb/tag.c
CHANGED
@@ -97,13 +97,18 @@ VALUE XRB_Tag_append_attributes(VALUE self, VALUE buffer, VALUE attributes, VALU
|
|
97
97
|
|
98
98
|
for (i = 0; i < RARRAY_LEN(attributes); i++) {
|
99
99
|
VALUE attribute = RARRAY_AREF(attributes, i);
|
100
|
+
|
101
|
+
if (rb_type(attribute) != T_ARRAY || RARRAY_LEN(attribute) != 2) {
|
102
|
+
rb_raise(rb_eTypeError, "expected array for attribute key/value pair");
|
103
|
+
}
|
104
|
+
|
100
105
|
VALUE key = RARRAY_AREF(attribute, 0);
|
101
106
|
VALUE value = RARRAY_AREF(attribute, 1);
|
102
107
|
|
103
108
|
XRB_Tag_append_tag_attribute(buffer, key, value, prefix);
|
104
109
|
}
|
105
110
|
} else {
|
106
|
-
rb_raise(
|
111
|
+
rb_raise(rb_eTypeError, "expected hash or array for attributes");
|
107
112
|
}
|
108
113
|
|
109
114
|
return Qnil;
|
data/ext/xrb/xrb.c
CHANGED
@@ -50,13 +50,8 @@ void Init_XRB_Extension(void) {
|
|
50
50
|
id_concat = rb_intern("<<");
|
51
51
|
|
52
52
|
rb_XRB = rb_define_module("XRB");
|
53
|
-
rb_gc_register_mark_object(rb_XRB);
|
54
|
-
|
55
53
|
rb_XRB_Markup = rb_define_module_under(rb_XRB, "Markup");
|
56
|
-
rb_gc_register_mark_object(rb_XRB_Markup);
|
57
|
-
|
58
54
|
rb_XRB_Native = rb_define_module_under(rb_XRB, "Native");
|
59
|
-
rb_gc_register_mark_object(rb_XRB_Native);
|
60
55
|
|
61
56
|
Init_XRB_escape();
|
62
57
|
|
data/lib/xrb/markup.rb
CHANGED
@@ -46,6 +46,12 @@ module XRB
|
|
46
46
|
def self.raw(string)
|
47
47
|
self.new(string, false)
|
48
48
|
end
|
49
|
+
|
50
|
+
# This "string" is already escaped, thus it is safe to append to the output buffer.
|
51
|
+
# This predicate is used by Rails' `ActionView::OutputBuffer` to determine if the string should be escaped or not.
|
52
|
+
def html_safe?
|
53
|
+
true
|
54
|
+
end
|
49
55
|
end
|
50
56
|
|
51
57
|
module Script
|
data/lib/xrb/tag.rb
CHANGED
@@ -99,7 +99,11 @@ module XRB
|
|
99
99
|
when Hash
|
100
100
|
self.append_attributes(buffer, value, attribute_key)
|
101
101
|
when Array
|
102
|
-
|
102
|
+
value.each do |attribute|
|
103
|
+
raise TypeError, "expected array of key-value pairs" unless attribute.is_a?(Array) and attribute.size == 2
|
104
|
+
|
105
|
+
self.append_attributes(buffer, [attribute], attribute_key)
|
106
|
+
end
|
103
107
|
when TrueClass
|
104
108
|
buffer << ' ' << attribute_key.to_s
|
105
109
|
else
|
data/lib/xrb/version.rb
CHANGED
data/license.md
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
Copyright, 2012-2024, by Samuel Williams.
|
4
4
|
Copyright, 2020, by Cyril Roelandt.
|
5
5
|
Copyright, 2022, by Adam Daniels.
|
6
|
+
Copyright, 2024, by Jean Boussier.
|
6
7
|
|
7
8
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
of this software and associated documentation files (the "Software"), to deal
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
8
|
- Adam Daniels
|
9
9
|
- Cyril Roelandt
|
10
|
+
- Jean Boussier
|
10
11
|
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain:
|
@@ -39,7 +40,7 @@ cert_chain:
|
|
39
40
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
40
41
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
41
42
|
-----END CERTIFICATE-----
|
42
|
-
date: 2024-
|
43
|
+
date: 2024-05-06 00:00:00.000000000 Z
|
43
44
|
dependencies: []
|
44
45
|
description:
|
45
46
|
email:
|
metadata.gz.sig
CHANGED
Binary file
|