redsnow 0.2.1 → 0.3.0

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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2 -0
  3. data/ext/snowcrash/bin/snowcrash +0 -0
  4. data/ext/snowcrash/snowcrash.xcworkspace/contents.xcworkspacedata +10 -0
  5. data/ext/snowcrash/src/ActionParser.h +35 -33
  6. data/ext/snowcrash/src/AssetParser.h +17 -17
  7. data/ext/snowcrash/src/Blueprint.h +101 -66
  8. data/ext/snowcrash/src/BlueprintParser.h +219 -10
  9. data/ext/snowcrash/src/BlueprintSourcemap.h +1 -1
  10. data/ext/snowcrash/src/BlueprintUtility.h +14 -14
  11. data/ext/snowcrash/src/CBlueprint.cc +29 -10
  12. data/ext/snowcrash/src/CBlueprint.h +19 -3
  13. data/ext/snowcrash/src/CBlueprintSourcemap.cc +20 -10
  14. data/ext/snowcrash/src/CBlueprintSourcemap.h +12 -3
  15. data/ext/snowcrash/src/CodeBlockUtility.h +25 -25
  16. data/ext/snowcrash/src/HTTP.cc +3 -0
  17. data/ext/snowcrash/src/HTTP.h +9 -6
  18. data/ext/snowcrash/src/HeadersParser.h +34 -14
  19. data/ext/snowcrash/src/ParameterParser.h +21 -21
  20. data/ext/snowcrash/src/ParametersParser.h +6 -5
  21. data/ext/snowcrash/src/PayloadParser.h +174 -129
  22. data/ext/snowcrash/src/RegexMatch.h +3 -3
  23. data/ext/snowcrash/src/ResourceGroupParser.h +5 -4
  24. data/ext/snowcrash/src/ResourceParser.h +30 -26
  25. data/ext/snowcrash/src/Section.cc +6 -6
  26. data/ext/snowcrash/src/Section.h +2 -2
  27. data/ext/snowcrash/src/SectionParser.h +41 -41
  28. data/ext/snowcrash/src/SectionParserData.h +10 -10
  29. data/ext/snowcrash/src/SectionProcessor.h +70 -30
  30. data/ext/snowcrash/src/Serialize.h +3 -3
  31. data/ext/snowcrash/src/SerializeJSON.cc +124 -96
  32. data/ext/snowcrash/src/SerializeJSON.h +1 -1
  33. data/ext/snowcrash/src/SerializeYAML.cc +71 -53
  34. data/ext/snowcrash/src/SerializeYAML.h +1 -1
  35. data/ext/snowcrash/src/Signature.cc +2 -2
  36. data/ext/snowcrash/src/Signature.h +1 -1
  37. data/ext/snowcrash/src/SourceAnnotation.h +23 -23
  38. data/ext/snowcrash/src/StringUtility.h +71 -9
  39. data/ext/snowcrash/src/SymbolTable.h +17 -17
  40. data/ext/snowcrash/src/UriTemplateParser.cc +5 -5
  41. data/ext/snowcrash/src/UriTemplateParser.h +9 -9
  42. data/ext/snowcrash/src/ValuesParser.h +2 -2
  43. data/ext/snowcrash/src/Version.h +1 -1
  44. data/ext/snowcrash/src/csnowcrash.cc +10 -8
  45. data/ext/snowcrash/src/snowcrash.cc +9 -9
  46. data/ext/snowcrash/src/snowcrash.h +6 -8
  47. data/ext/snowcrash/src/snowcrash/snowcrash.cc +14 -14
  48. data/ext/snowcrash/src/win/RegexMatch.cc +7 -7
  49. data/ext/snowcrash/tools/gyp/pylib/gyp/__init__.pyc +0 -0
  50. data/ext/snowcrash/tools/gyp/pylib/gyp/common.pyc +0 -0
  51. data/ext/snowcrash/tools/gyp/pylib/gyp/generator/__init__.pyc +0 -0
  52. data/ext/snowcrash/tools/gyp/pylib/gyp/generator/make.pyc +0 -0
  53. data/ext/snowcrash/tools/gyp/pylib/gyp/generator/xcode.pyc +0 -0
  54. data/ext/snowcrash/tools/gyp/pylib/gyp/input.pyc +0 -0
  55. data/ext/snowcrash/tools/gyp/pylib/gyp/xcode_emulation.pyc +0 -0
  56. data/ext/snowcrash/tools/gyp/pylib/gyp/xcodeproj_file.pyc +0 -0
  57. data/ext/snowcrash/tools/homebrew/snowcrash.rb +1 -1
  58. data/lib/redsnow/binding.rb +8 -2
  59. data/lib/redsnow/blueprint.rb +4 -3
  60. data/lib/redsnow/sourcemap.rb +6 -4
  61. data/lib/redsnow/version.rb +1 -1
  62. metadata +4 -17
@@ -37,15 +37,15 @@ enum SerializationFormat {
37
37
  void PrintAnnotation(const std::string& prefix, const snowcrash::SourceAnnotation& annotation)
38
38
  {
39
39
  std::cerr << prefix;
40
-
40
+
41
41
  if (annotation.code != SourceAnnotation::OK) {
42
42
  std::cerr << " (" << annotation.code << ") ";
43
43
  }
44
-
44
+
45
45
  if (!annotation.message.empty()) {
46
46
  std::cerr << " " << annotation.message;
47
47
  }
48
-
48
+
49
49
  if (!annotation.location.empty()) {
50
50
  for (mdp::CharactersRangeSet::const_iterator it = annotation.location.begin();
51
51
  it != annotation.location.end();
@@ -54,7 +54,7 @@ void PrintAnnotation(const std::string& prefix, const snowcrash::SourceAnnotatio
54
54
  std::cerr << it->location << ":" << it->length;
55
55
  }
56
56
  }
57
-
57
+
58
58
  std::cerr << std::endl;
59
59
  }
60
60
 
@@ -96,15 +96,15 @@ int main(int argc, const char *argv[])
96
96
  argumentParser.add("help", 'h', "display this help message");
97
97
  argumentParser.add(VersionArgument, 'v', "print Snow Crash version");
98
98
  argumentParser.add(ValidateArgument, 'l', "validate input only, do not print AST");
99
-
99
+
100
100
  argumentParser.parse_check(argc, argv);
101
-
101
+
102
102
  // Check arguments
103
103
  if (argumentParser.rest().size() > 1) {
104
104
  std::cerr << "one input file expected, got " << argumentParser.rest().size() << std::endl;
105
105
  exit(EXIT_FAILURE);
106
106
  }
107
-
107
+
108
108
  // Version query
109
109
  if (argumentParser.exist(VersionArgument)) {
110
110
  std::cout << SNOWCRASH_VERSION_STRING << std::endl;
@@ -127,7 +127,7 @@ int main(int argc, const char *argv[])
127
127
  std::cerr << "fatal: unable to open input file '" << inputFileName << "'\n";
128
128
  exit(EXIT_FAILURE);
129
129
  }
130
-
130
+
131
131
  inputStream << inputFileStream.rdbuf();
132
132
  inputFileStream.close();
133
133
  }
@@ -145,7 +145,7 @@ int main(int argc, const char *argv[])
145
145
 
146
146
  // Output
147
147
  if (!argumentParser.exist(ValidateArgument)) {
148
-
148
+
149
149
  std::stringstream outputStream;
150
150
  std::stringstream sourcemapOutputStream;
151
151
 
@@ -157,7 +157,7 @@ int main(int argc, const char *argv[])
157
157
  SerializeYAML(blueprint.node, outputStream);
158
158
  SerializeSourceMapYAML(blueprint.sourceMap, sourcemapOutputStream);
159
159
  }
160
-
160
+
161
161
  std::string outputFileName = argumentParser.get<std::string>(OutputArgument);
162
162
  std::string sourcemapOutputFileName = argumentParser.get<std::string>(SourcemapArgument);
163
163
 
@@ -170,7 +170,7 @@ int main(int argc, const char *argv[])
170
170
  std::cerr << "fatal: unable to write to file '" << outputFileName << "'\n";
171
171
  exit(EXIT_FAILURE);
172
172
  }
173
-
173
+
174
174
  outputFileStream << outputStream.rdbuf();
175
175
  outputFileStream.close();
176
176
  }
@@ -178,17 +178,17 @@ int main(int argc, const char *argv[])
178
178
  // Serialize to stdout
179
179
  std::cout << outputStream.rdbuf();
180
180
  }
181
-
181
+
182
182
  if (!sourcemapOutputFileName.empty()) {
183
183
  // Serialize to file
184
184
  std::ofstream sourcemapOutputFileStream;
185
185
  sourcemapOutputFileStream.open(sourcemapOutputFileName.c_str());
186
-
186
+
187
187
  if (!sourcemapOutputFileStream.is_open()) {
188
188
  std::cerr << "fatal: unable to write to file '" << sourcemapOutputFileName << "'\n";
189
189
  exit(EXIT_FAILURE);
190
190
  }
191
-
191
+
192
192
  sourcemapOutputFileStream << sourcemapOutputStream.rdbuf();
193
193
  sourcemapOutputFileStream.close();
194
194
  }
@@ -23,7 +23,7 @@ bool snowcrash::RegexMatch(const string& target, const string& expression)
23
23
  {
24
24
  if (target.empty() || expression.empty())
25
25
  return false;
26
-
26
+
27
27
  try {
28
28
  regex pattern(expression, regex_constants::extended);
29
29
  return regex_search(target, pattern);
@@ -32,7 +32,7 @@ bool snowcrash::RegexMatch(const string& target, const string& expression)
32
32
  }
33
33
  catch (...) {
34
34
  }
35
-
35
+
36
36
  return false;
37
37
  }
38
38
 
@@ -42,7 +42,7 @@ string snowcrash::RegexCaptureFirst(const string& target, const string& expressi
42
42
  if (!RegexCapture(target, expression, groups) ||
43
43
  groups.size() < 2)
44
44
  return string();
45
-
45
+
46
46
  return groups[1];
47
47
  }
48
48
 
@@ -50,16 +50,16 @@ bool snowcrash::RegexCapture(const string& target, const string& expression, Cap
50
50
  {
51
51
  if (target.empty() || expression.empty())
52
52
  return false;
53
-
53
+
54
54
  captureGroups.clear();
55
55
 
56
56
  try {
57
-
57
+
58
58
  regex pattern(expression, regex_constants::extended);
59
59
  match_results<string::const_iterator> result;
60
60
  if (!regex_search(target, result, pattern))
61
61
  return false;
62
-
62
+
63
63
  for (match_results<string::const_iterator>::const_iterator it = result.begin();
64
64
  it != result.end();
65
65
  ++it) {
@@ -73,6 +73,6 @@ bool snowcrash::RegexCapture(const string& target, const string& expression, Cap
73
73
  }
74
74
  catch (...) {
75
75
  }
76
-
76
+
77
77
  return false;
78
78
  }
@@ -2,7 +2,7 @@ require 'formula'
2
2
 
3
3
  class Snowcrash < Formula
4
4
  homepage 'http://apiblueprint.org'
5
- head 'https://github.com/apiaryio/snowcrash.git', :tag => 'v0.15.0'
5
+ head 'https://github.com/apiaryio/snowcrash.git', :tag => 'v0.16.0'
6
6
 
7
7
  def install
8
8
  system "./configure"
@@ -55,11 +55,14 @@ module RedSnow
55
55
  attach_function("sc_payload_handle", "sc_payload_handle", [ :pointer, :int ], :pointer)
56
56
  attach_function("sc_payload_handle_resource", "sc_payload_handle_resource", [ :pointer ], :pointer)
57
57
  attach_function("sc_payload_name", "sc_payload_name", [ :pointer ], :string)
58
- attach_function("sc_payload_symbol", "sc_payload_symbol", [ :pointer ], :string)
59
58
  attach_function("sc_payload_description", "sc_payload_description", [ :pointer ], :string)
60
59
  attach_function("sc_payload_body", "sc_payload_body", [ :pointer ], :string)
61
60
  attach_function("sc_payload_schema", "sc_payload_schema", [ :pointer ], :string)
62
61
 
62
+ # Payload Reference
63
+ attach_function("sc_reference_handle_payload", "sc_reference_handle_payload", [ :pointer ], :pointer)
64
+ attach_function("sc_reference_id", "sc_reference_id", [ :pointer ], :string)
65
+
63
66
  attach_function("sc_parameter_collection_handle_payload", "sc_parameter_collection_handle_payload", [ :pointer ], :pointer)
64
67
  attach_function("sc_parameter_collection_handle_resource", "sc_parameter_collection_handle_resource", [ :pointer ], :pointer)
65
68
  attach_function("sc_parameter_collection_handle_action", "sc_parameter_collection_handle_action", [ :pointer ], :pointer)
@@ -165,11 +168,14 @@ module RedSnow
165
168
  attach_function("sc_sm_payload_handle", "sc_sm_payload_handle", [ :pointer, :int ], :pointer)
166
169
  attach_function("sc_sm_payload_handle_resource", "sc_sm_payload_handle_resource", [ :pointer ], :pointer)
167
170
  attach_function("sc_sm_payload_name", "sc_sm_payload_name", [ :pointer ], :pointer)
168
- attach_function("sc_sm_payload_symbol", "sc_sm_payload_symbol", [ :pointer ], :pointer)
169
171
  attach_function("sc_sm_payload_description", "sc_sm_payload_description", [ :pointer ], :pointer)
170
172
  attach_function("sc_sm_payload_body", "sc_sm_payload_body", [ :pointer ], :pointer)
171
173
  attach_function("sc_sm_payload_schema", "sc_sm_payload_schema", [ :pointer ], :pointer)
172
174
 
175
+ # Payload Reference Soure Map
176
+ attach_function("sc_sm_reference_handle", "sc_sm_reference_handle", [ :pointer ], :pointer)
177
+ attach_function("sc_sm_reference", "sc_sm_reference", [ :pointer ], :pointer)
178
+
173
179
  attach_function("sc_sm_parameter_collection_handle_payload", "sc_sm_parameter_collection_handle_payload", [ :pointer ], :pointer)
174
180
  attach_function("sc_sm_parameter_collection_handle_resource", "sc_sm_parameter_collection_handle_resource", [ :pointer ], :pointer)
175
181
  attach_function("sc_sm_parameter_collection_handle_action", "sc_sm_parameter_collection_handle_action", [ :pointer ], :pointer)
@@ -226,10 +226,11 @@ module RedSnow
226
226
  @body = RedSnow::Binding.sc_payload_body(sc_payload_handle_resource)
227
227
  @schema = RedSnow::Binding.sc_payload_schema(sc_payload_handle_resource)
228
228
 
229
- symbol = RedSnow::Binding.sc_payload_symbol(sc_payload_handle_resource)
229
+ sc_reference_handle_payload = RedSnow::Binding.sc_reference_handle_payload(sc_payload_handle_resource)
230
+ sc_reference_id = RedSnow::Binding.sc_reference_id(sc_reference_handle_payload)
230
231
 
231
- if not symbol.empty?
232
- @reference = ReferenceNode.new(symbol)
232
+ if not sc_reference_id.empty?
233
+ @reference = ReferenceNode.new(sc_reference_id)
233
234
  end
234
235
 
235
236
  sc_header_collection_handle_payload = RedSnow::Binding.sc_header_collection_handle_payload(sc_payload_handle_resource)
@@ -168,11 +168,13 @@ module RedSnow
168
168
  @body = SourceMap.new(RedSnow::Binding.sc_sm_payload_body(sc_sm_payload_handle_resource))
169
169
  @schema = SourceMap.new(RedSnow::Binding.sc_sm_payload_schema(sc_sm_payload_handle_resource))
170
170
 
171
- symbol_source_map_handle = RedSnow::Binding.sc_sm_payload_symbol(sc_sm_payload_handle_resource)
172
- symbol_source_map_size = RedSnow::Binding.sc_source_map_size(symbol_source_map_handle)
171
+ # Handle to reference source map
172
+ sc_sm_reference_handle = RedSnow::Binding.sc_sm_reference_handle(sc_sm_payload_handle_resource)
173
+ sc_sm_reference = RedSnow::Binding.sc_sm_reference(sc_sm_reference_handle)
174
+ reference_source_map_size = RedSnow::Binding.sc_source_map_size(sc_sm_reference)
173
175
 
174
- if symbol_source_map_size != 0
175
- @reference = SourceMap.new(symbol_source_map_handle)
176
+ if reference_source_map_size != 0
177
+ @reference = SourceMap.new(sc_sm_reference)
176
178
  end
177
179
 
178
180
  sc_sm_header_collection_handle_payload = RedSnow::Binding.sc_sm_header_collection_handle_payload(sc_sm_payload_handle_resource)
@@ -1,4 +1,4 @@
1
1
  module RedSnow
2
2
  # Gem version
3
- VERSION = "0.2.1"
3
+ VERSION = "0.3.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redsnow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ladislav Prskavec
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-07 00:00:00.000000000 Z
11
+ date: 2014-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -158,10 +158,6 @@ files:
158
158
  - ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/CBlueprintSourcemap.o
159
159
  - ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/CSourceAnnotation.o
160
160
  - ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/HTTP.o
161
- - ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/MarkdownBlock.o
162
- - ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/MarkdownParser.o
163
- - ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/Parser.o
164
- - ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/ParserCore.o
165
161
  - ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/Section.o
166
162
  - ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/Serialize.o
167
163
  - ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/SerializeJSON.o
@@ -181,20 +177,10 @@ files:
181
177
  - ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/src_map.o
182
178
  - ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/stack.o
183
179
  - ext/snowcrash/build/out/Release/obj.target/snowcrash/src/snowcrash/snowcrash.o
184
- - ext/snowcrash/build/out/Release/obj.target/sundown/sundown/html/houdini_href_e.o
185
- - ext/snowcrash/build/out/Release/obj.target/sundown/sundown/html/houdini_html_e.o
186
- - ext/snowcrash/build/out/Release/obj.target/sundown/sundown/html/html.o
187
- - ext/snowcrash/build/out/Release/obj.target/sundown/sundown/html/html_smartypants.o
188
- - ext/snowcrash/build/out/Release/obj.target/sundown/sundown/src/autolink.o
189
- - ext/snowcrash/build/out/Release/obj.target/sundown/sundown/src/buffer.o
190
- - ext/snowcrash/build/out/Release/obj.target/sundown/sundown/src/markdown.o
191
- - ext/snowcrash/build/out/Release/obj.target/sundown/sundown/src/src_map.o
192
- - ext/snowcrash/build/out/Release/obj.target/sundown/sundown/src/stack.o
193
180
  - ext/snowcrash/build/out/Release/snowcrash
194
181
  - ext/snowcrash/build/perf-libsnowcrash.target.mk
195
182
  - ext/snowcrash/build/snowcrash.Makefile
196
183
  - ext/snowcrash/build/snowcrash.target.mk
197
- - ext/snowcrash/build/sundown.target.mk
198
184
  - ext/snowcrash/common.gypi
199
185
  - ext/snowcrash/config.gypi
200
186
  - ext/snowcrash/config.mk
@@ -235,6 +221,7 @@ files:
235
221
  - ext/snowcrash/ext/markdown-parser/src/MarkdownParser.h
236
222
  - ext/snowcrash/provisioning.sh
237
223
  - ext/snowcrash/snowcrash.gyp
224
+ - ext/snowcrash/snowcrash.xcworkspace/contents.xcworkspacedata
238
225
  - ext/snowcrash/src/ActionParser.h
239
226
  - ext/snowcrash/src/AssetParser.h
240
227
  - ext/snowcrash/src/Blueprint.h
@@ -385,7 +372,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
385
372
  version: '0'
386
373
  requirements: []
387
374
  rubyforge_project:
388
- rubygems_version: 2.2.2
375
+ rubygems_version: 2.2.0
389
376
  signing_key:
390
377
  specification_version: 4
391
378
  summary: Ruby bindings for Snow Crash