psych 3.0.0.beta2-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/.travis.yml +20 -0
- data/CHANGELOG.rdoc +576 -0
- data/Gemfile +3 -0
- data/Mavenfile +7 -0
- data/README.md +73 -0
- data/Rakefile +46 -0
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/ext/psych/.gitignore +11 -0
- data/ext/psych/depend +3 -0
- data/ext/psych/extconf.rb +39 -0
- data/ext/psych/psych.c +34 -0
- data/ext/psych/psych.h +17 -0
- data/ext/psych/psych_emitter.c +554 -0
- data/ext/psych/psych_emitter.h +8 -0
- data/ext/psych/psych_parser.c +568 -0
- data/ext/psych/psych_parser.h +6 -0
- data/ext/psych/psych_to_ruby.c +39 -0
- data/ext/psych/psych_to_ruby.h +8 -0
- data/ext/psych/psych_yaml_tree.c +24 -0
- data/ext/psych/psych_yaml_tree.h +8 -0
- data/ext/psych/yaml/LICENSE +19 -0
- data/ext/psych/yaml/api.c +1392 -0
- data/ext/psych/yaml/config.h +10 -0
- data/ext/psych/yaml/dumper.c +394 -0
- data/ext/psych/yaml/emitter.c +2329 -0
- data/ext/psych/yaml/loader.c +444 -0
- data/ext/psych/yaml/parser.c +1374 -0
- data/ext/psych/yaml/reader.c +469 -0
- data/ext/psych/yaml/scanner.c +3576 -0
- data/ext/psych/yaml/writer.c +141 -0
- data/ext/psych/yaml/yaml.h +1971 -0
- data/ext/psych/yaml/yaml_private.h +662 -0
- data/lib/2.2/psych.so +0 -0
- data/lib/2.3/psych.so +0 -0
- data/lib/2.4/psych.so +0 -0
- data/lib/psych/class_loader.rb +102 -0
- data/lib/psych/coder.rb +95 -0
- data/lib/psych/core_ext.rb +19 -0
- data/lib/psych/exception.rb +14 -0
- data/lib/psych/handler.rb +250 -0
- data/lib/psych/handlers/document_stream.rb +23 -0
- data/lib/psych/handlers/recorder.rb +40 -0
- data/lib/psych/json/ruby_events.rb +20 -0
- data/lib/psych/json/stream.rb +17 -0
- data/lib/psych/json/tree_builder.rb +13 -0
- data/lib/psych/json/yaml_events.rb +30 -0
- data/lib/psych/nodes/alias.rb +19 -0
- data/lib/psych/nodes/document.rb +61 -0
- data/lib/psych/nodes/mapping.rb +57 -0
- data/lib/psych/nodes/node.rb +56 -0
- data/lib/psych/nodes/scalar.rb +68 -0
- data/lib/psych/nodes/sequence.rb +82 -0
- data/lib/psych/nodes/stream.rb +38 -0
- data/lib/psych/nodes.rb +78 -0
- data/lib/psych/omap.rb +5 -0
- data/lib/psych/parser.rb +52 -0
- data/lib/psych/scalar_scanner.rb +149 -0
- data/lib/psych/set.rb +5 -0
- data/lib/psych/stream.rb +38 -0
- data/lib/psych/streaming.rb +28 -0
- data/lib/psych/syntax_error.rb +22 -0
- data/lib/psych/tree_builder.rb +97 -0
- data/lib/psych/versions.rb +9 -0
- data/lib/psych/visitors/depth_first.rb +27 -0
- data/lib/psych/visitors/emitter.rb +52 -0
- data/lib/psych/visitors/json_tree.rb +25 -0
- data/lib/psych/visitors/to_ruby.rb +401 -0
- data/lib/psych/visitors/visitor.rb +20 -0
- data/lib/psych/visitors/yaml_tree.rb +551 -0
- data/lib/psych/visitors.rb +7 -0
- data/lib/psych/y.rb +10 -0
- data/lib/psych.rb +511 -0
- data/psych.gemspec +64 -0
- metadata +175 -0
data/README.md
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# Psych
|
2
|
+
|
3
|
+
[![Build Status](https://travis-ci.org/ruby/psych.svg?branch=master)](https://travis-ci.org/ruby/psych)
|
4
|
+
[![Build status](https://ci.appveyor.com/api/projects/status/2t6x109xfmbx209k/branch/master?svg=true)](https://ci.appveyor.com/project/ruby/psych/branch/master)
|
5
|
+
|
6
|
+
* https://github.com/ruby/psych
|
7
|
+
|
8
|
+
## Description
|
9
|
+
|
10
|
+
Psych is a YAML parser and emitter. Psych leverages
|
11
|
+
[libyaml](http://pyyaml.org/wiki/LibYAML) for its YAML parsing and emitting
|
12
|
+
capabilities. In addition to wrapping libyaml, Psych also knows how to
|
13
|
+
serialize and de-serialize most Ruby objects to and from the YAML format.
|
14
|
+
|
15
|
+
## Examples
|
16
|
+
|
17
|
+
# Load YAML in to a Ruby object
|
18
|
+
Psych.load('--- foo') # => 'foo'
|
19
|
+
|
20
|
+
# Emit YAML from a Ruby object
|
21
|
+
Psych.dump("foo") # => "--- foo\n...\n"
|
22
|
+
|
23
|
+
## Dependencies
|
24
|
+
|
25
|
+
* libyaml
|
26
|
+
|
27
|
+
## Installation
|
28
|
+
|
29
|
+
Psych has been included with MRI since 1.9.2, and is the default YAML parser
|
30
|
+
in 1.9.3.
|
31
|
+
|
32
|
+
If you want a newer gem release of Psych, you can use rubygems:
|
33
|
+
|
34
|
+
gem install psych
|
35
|
+
|
36
|
+
In order to use the gem release in your app, and not the stdlib version,
|
37
|
+
you'll need the following:
|
38
|
+
|
39
|
+
gem 'psych'
|
40
|
+
require 'psych'
|
41
|
+
|
42
|
+
Or if you use Bundler add this to your `Gemfile`:
|
43
|
+
|
44
|
+
gem 'psych'
|
45
|
+
|
46
|
+
JRuby ships with a pure Java implementation of Psych.
|
47
|
+
|
48
|
+
If you're on Rubinius, Psych is available in 1.9 mode, please refer to the
|
49
|
+
Language Modes section of the [Rubinius
|
50
|
+
README](https://github.com/rubinius/rubinius#readme) for more information on
|
51
|
+
building and 1.9 mode.
|
52
|
+
|
53
|
+
## License
|
54
|
+
|
55
|
+
Copyright 2009 Aaron Patterson, et al.
|
56
|
+
|
57
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
58
|
+
of this software and associated documentation files (the 'Software'), to deal
|
59
|
+
in the Software without restriction, including without limitation the rights
|
60
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
61
|
+
copies of the Software, and to permit persons to whom the Software is
|
62
|
+
furnished to do so, subject to the following conditions:
|
63
|
+
|
64
|
+
The above copyright notice and this permission notice shall be included in all
|
65
|
+
copies or substantial portions of the Software.
|
66
|
+
|
67
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
68
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
69
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
70
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
71
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
72
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
73
|
+
SOFTWARE.
|
data/Rakefile
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
require "bundler"
|
2
|
+
Bundler::GemHelper.install_tasks
|
3
|
+
|
4
|
+
require "rake/testtask"
|
5
|
+
Rake::TestTask.new(:test) do |t|
|
6
|
+
t.libs << "test"
|
7
|
+
t.libs << "lib"
|
8
|
+
t.test_files = FileList['test/**/test_*.rb']
|
9
|
+
t.verbose = true
|
10
|
+
t.warning = true
|
11
|
+
end
|
12
|
+
|
13
|
+
if RUBY_PLATFORM =~ /java/
|
14
|
+
require 'rake/javaextensiontask'
|
15
|
+
Rake::JavaExtensionTask.new("psych") do |ext|
|
16
|
+
require 'maven/ruby/maven'
|
17
|
+
# uses Mavenfile to write classpath into pkg/classpath
|
18
|
+
# and tell maven via system properties the snakeyaml version
|
19
|
+
# this is basically the same as running from the commandline:
|
20
|
+
# rmvn dependency:build-classpath -Dsnakeyaml.version='use version from Psych::DEFAULT_SNAKEYAML_VERSION here'
|
21
|
+
Maven::Ruby::Maven.new.exec('dependency:build-classpath', "-Dsnakeyaml.version=1.18", '-Dverbose=true')
|
22
|
+
ext.source_version = '1.7'
|
23
|
+
ext.target_version = '1.7'
|
24
|
+
ext.classpath = File.read('pkg/classpath')
|
25
|
+
ext.ext_dir = 'ext/java'
|
26
|
+
end
|
27
|
+
else
|
28
|
+
require 'rake/extensiontask'
|
29
|
+
spec = eval File.read("psych.gemspec")
|
30
|
+
Rake::ExtensionTask.new("psych", spec) do |ext|
|
31
|
+
ext.lib_dir = File.join(*['lib', ENV['FAT_DIR']].compact)
|
32
|
+
ext.cross_compile = true
|
33
|
+
ext.cross_platform = %w[x86-mingw32 x64-mingw32]
|
34
|
+
ext.cross_compiling do |s|
|
35
|
+
s.files.concat ["lib/2.2/psych.so", "lib/2.3/psych.so", "lib/2.4/psych.so"]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
desc "Compile binaries for mingw platform using rake-compiler-dock"
|
41
|
+
task 'build:mingw' do
|
42
|
+
require 'rake_compiler_dock'
|
43
|
+
RakeCompilerDock.sh "bundle && rake cross native gem RUBY_CC_VERSION=2.2.2:2.3.0:2.4.0"
|
44
|
+
end
|
45
|
+
|
46
|
+
task :default => [:compile, :test]
|
data/bin/console
ADDED
data/bin/setup
ADDED
data/ext/psych/depend
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# -*- coding: us-ascii -*-
|
2
|
+
# frozen_string_literal: true
|
3
|
+
require 'mkmf'
|
4
|
+
require 'fileutils'
|
5
|
+
|
6
|
+
# :stopdoc:
|
7
|
+
|
8
|
+
dir_config 'libyaml'
|
9
|
+
|
10
|
+
if enable_config("bundled-libyaml", false) || !(find_header('yaml.h') && find_library('yaml', 'yaml_get_version'))
|
11
|
+
# Embed libyaml since we could not find it.
|
12
|
+
|
13
|
+
$VPATH << "$(srcdir)/yaml"
|
14
|
+
$INCFLAGS << " -I$(srcdir)/yaml"
|
15
|
+
|
16
|
+
$srcs = Dir.glob("#{$srcdir}/{,yaml/}*.c").map {|n| File.basename(n)}
|
17
|
+
|
18
|
+
if have_macro("_WIN32")
|
19
|
+
$CPPFLAGS << " -DYAML_DECLARE_STATIC -DHAVE_CONFIG_H"
|
20
|
+
end
|
21
|
+
|
22
|
+
have_header 'dlfcn.h'
|
23
|
+
have_header 'inttypes.h'
|
24
|
+
have_header 'memory.h'
|
25
|
+
have_header 'stdint.h'
|
26
|
+
have_header 'stdlib.h'
|
27
|
+
have_header 'strings.h'
|
28
|
+
have_header 'string.h'
|
29
|
+
have_header 'sys/stat.h'
|
30
|
+
have_header 'sys/types.h'
|
31
|
+
have_header 'unistd.h'
|
32
|
+
|
33
|
+
find_header 'yaml.h'
|
34
|
+
have_header 'config.h'
|
35
|
+
end
|
36
|
+
|
37
|
+
create_makefile 'psych'
|
38
|
+
|
39
|
+
# :startdoc:
|
data/ext/psych/psych.c
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
#include <psych.h>
|
2
|
+
|
3
|
+
/* call-seq: Psych.libyaml_version
|
4
|
+
*
|
5
|
+
* Returns the version of libyaml being used
|
6
|
+
*/
|
7
|
+
static VALUE libyaml_version(VALUE module)
|
8
|
+
{
|
9
|
+
int major, minor, patch;
|
10
|
+
VALUE list[3];
|
11
|
+
|
12
|
+
yaml_get_version(&major, &minor, &patch);
|
13
|
+
|
14
|
+
list[0] = INT2NUM((long)major);
|
15
|
+
list[1] = INT2NUM((long)minor);
|
16
|
+
list[2] = INT2NUM((long)patch);
|
17
|
+
|
18
|
+
return rb_ary_new4((long)3, list);
|
19
|
+
}
|
20
|
+
|
21
|
+
VALUE mPsych;
|
22
|
+
|
23
|
+
void Init_psych(void)
|
24
|
+
{
|
25
|
+
mPsych = rb_define_module("Psych");
|
26
|
+
|
27
|
+
rb_define_singleton_method(mPsych, "libyaml_version", libyaml_version, 0);
|
28
|
+
|
29
|
+
Init_psych_parser();
|
30
|
+
Init_psych_emitter();
|
31
|
+
Init_psych_to_ruby();
|
32
|
+
Init_psych_yaml_tree();
|
33
|
+
}
|
34
|
+
/* vim: set noet sws=4 sw=4: */
|
data/ext/psych/psych.h
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#ifndef PSYCH_H
|
2
|
+
#define PSYCH_H
|
3
|
+
|
4
|
+
#include <ruby.h>
|
5
|
+
#include <ruby/encoding.h>
|
6
|
+
|
7
|
+
#include <yaml.h>
|
8
|
+
|
9
|
+
#include <psych_parser.h>
|
10
|
+
#include <psych_emitter.h>
|
11
|
+
#include <psych_to_ruby.h>
|
12
|
+
#include <psych_yaml_tree.h>
|
13
|
+
|
14
|
+
extern VALUE mPsych;
|
15
|
+
|
16
|
+
|
17
|
+
#endif
|