safe_yaml 0.9.2 → 0.9.3
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 +15 -0
- data/lib/safe_yaml/transform/to_integer.rb +4 -4
- data/lib/safe_yaml/version.rb +1 -1
- data/spec/transform/to_integer_spec.rb +5 -1
- metadata +5 -7
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NzIwZmQ5ODg1ODZjY2Q1YzMyNGFlNjE1N2QyZjczNDExMWQyZGNlNg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OGU2MzA2YTgzZDVkYTY2NGM3NjMyNGQ3ZTUwOTFjN2M0ODMxYzdjMg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NDAzMDU0MWU3OTRhMjdmYzIzMmI1OWM4YzNiYTU5OGFkNDlkNDA4OGI3ZWIx
|
10
|
+
NDU4OWRlNmMxMDM0NWE3YjMxYmQxYjczMTZhNDNlYjZlZTRiZDRiZTg0NWQz
|
11
|
+
MmFiMzA1YjRkODY0NDIwOTAyYTQ1NjE0OTc5NjEwMjFmMDlkYzI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NmEzYWQ5MjA1ZTNlZTAyOTdlYWFjYTU0NzNkZDJjMWEyZTgxODJlZTg1ZWQ3
|
14
|
+
MjY4YTAwYzU4ZTI0ZjJkNzZlZmQ4ZWM2ZGViYzI1MDRiZTI5Y2EyZDI2NDAx
|
15
|
+
ZGNjYjViNjkyYmMyNzgxZTc5ZDA4MzNmODVkODA4NGFlNzJkZGI=
|
@@ -2,10 +2,10 @@ module SafeYAML
|
|
2
2
|
class Transform
|
3
3
|
class ToInteger
|
4
4
|
MATCHERS = Deep.freeze([
|
5
|
-
/\A[-+]?[1-9][0-9_,]
|
6
|
-
/\A0[0-7]+\Z/,
|
7
|
-
/\A0x[0-9a-f]+\Z/i,
|
8
|
-
/\A0b[01_]+\Z/
|
5
|
+
/\A[-+]?(0|([1-9][0-9_,]*))\Z/, # decimal
|
6
|
+
/\A0[0-7]+\Z/, # octal
|
7
|
+
/\A0x[0-9a-f]+\Z/i, # hexadecimal
|
8
|
+
/\A0b[01_]+\Z/ # binary
|
9
9
|
])
|
10
10
|
|
11
11
|
def transform?(value)
|
data/lib/safe_yaml/version.rb
CHANGED
@@ -29,6 +29,10 @@ describe SafeYAML::Transform::ToInteger do
|
|
29
29
|
subject.transform?("09").should be_false
|
30
30
|
end
|
31
31
|
|
32
|
+
it "correctly parses 0 in decimal" do
|
33
|
+
subject.transform?("0").should == [true, 0]
|
34
|
+
end
|
35
|
+
|
32
36
|
it "defaults to a string for a number that resembles hexadecimal format but is not" do
|
33
37
|
subject.transform?("0x1G").should be_false
|
34
38
|
end
|
@@ -42,7 +46,7 @@ describe SafeYAML::Transform::ToInteger do
|
|
42
46
|
|
43
47
|
# octal
|
44
48
|
subject.transform?("02472256").should == [true, 685230]
|
45
|
-
|
49
|
+
|
46
50
|
# hexadecimal:
|
47
51
|
subject.transform?("0x_0A_74_AE").should == [true, 685230]
|
48
52
|
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: safe_yaml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
5
|
-
prerelease:
|
4
|
+
version: 0.9.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Dan Tao
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-06-06 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: Parse YAML safely, without that pesky arbitrary object deserialization
|
15
14
|
vulnerability
|
@@ -64,27 +63,26 @@ files:
|
|
64
63
|
homepage: http://dtao.github.com/safe_yaml/
|
65
64
|
licenses:
|
66
65
|
- MIT
|
66
|
+
metadata: {}
|
67
67
|
post_install_message:
|
68
68
|
rdoc_options: []
|
69
69
|
require_paths:
|
70
70
|
- lib
|
71
71
|
required_ruby_version: !ruby/object:Gem::Requirement
|
72
|
-
none: false
|
73
72
|
requirements:
|
74
73
|
- - ! '>='
|
75
74
|
- !ruby/object:Gem::Version
|
76
75
|
version: 1.8.7
|
77
76
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
77
|
requirements:
|
80
78
|
- - ! '>='
|
81
79
|
- !ruby/object:Gem::Version
|
82
80
|
version: '0'
|
83
81
|
requirements: []
|
84
82
|
rubyforge_project:
|
85
|
-
rubygems_version:
|
83
|
+
rubygems_version: 2.0.3
|
86
84
|
signing_key:
|
87
|
-
specification_version:
|
85
|
+
specification_version: 4
|
88
86
|
summary: SameYAML provides an alternative implementation of YAML.load suitable for
|
89
87
|
accepting user input in Ruby applications.
|
90
88
|
test_files:
|