safe_yaml-store 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/safe_yaml/store.rb +39 -0
  3. metadata +58 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: db5fe88b52fe88bbcd076641be99abc4e678249e
4
+ data.tar.gz: 93fb6da5c3bf75d3fe69b09fbf0cdd5512958790
5
+ SHA512:
6
+ metadata.gz: 092cb02eb673b82e428a07dc9a4ea7f0a226c8a91d4ddb47d03de964a06348a6bff5d48c3d6d2aa7bd7e4c231a5601d0c4c80fb767a1c6bffb4fee2a081857a7
7
+ data.tar.gz: 6630dfde80f758590f796a2e82b77442e78a155da7e5e6ab3c344a722fe4839e3354e05563f1bfd0fb4a086a14ed9b8eb7023a8eaebdf2873371aaae16f2f73d
@@ -0,0 +1,39 @@
1
+ require 'safe_yaml/load'
2
+ require 'yaml/store'
3
+
4
+ module SafeYAML
5
+
6
+ class Store < YAML::Store
7
+
8
+ # Override YAML::Store#initialize to accept additional option
9
+ # +safe_yaml_opts+.
10
+ def initialize(file_name, yaml_opts = {}, safe_yaml_opts = {})
11
+ @safe_yaml_opts = safe_yaml_opts
12
+ super(file_name, yaml_opts)
13
+ end
14
+
15
+ # Override YAML::Store#load to use SafeYAML.load instead of
16
+ # YAML.load (via #safe_yaml_load).
17
+ #--
18
+ # PStore#load is private, while YAML::Store#load is public.
19
+ #++
20
+ def load(content)
21
+ table = safe_yaml_load(content)
22
+ table == false ? {} : table
23
+ end
24
+
25
+ private
26
+
27
+ if SafeYAML::YAML_ENGINE == 'psych'
28
+ def safe_yaml_load(content)
29
+ SafeYAML.load(content, nil, @safe_yaml_opts)
30
+ end
31
+ else
32
+ def safe_yaml_load(content)
33
+ SafeYAML.load(content, @safe_yaml_opts)
34
+ end
35
+ end
36
+
37
+ end
38
+
39
+ end
metadata ADDED
@@ -0,0 +1,58 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: safe_yaml-store
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jens Wille
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-11-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: safe_yaml
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ description: Store YAML safely
28
+ email: jens.wille@gmail.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - lib/safe_yaml/store.rb
34
+ homepage: https://github.com/dtao/safe_yaml/pull/68
35
+ licenses:
36
+ - MIT
37
+ metadata: {}
38
+ post_install_message:
39
+ rdoc_options: []
40
+ require_paths:
41
+ - lib
42
+ required_ruby_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.8.7
47
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ requirements: []
53
+ rubyforge_project:
54
+ rubygems_version: 2.4.4
55
+ signing_key:
56
+ specification_version: 4
57
+ summary: A YAML::Store variant that uses SafeYAML.load instead of YAML.load.
58
+ test_files: []