lounge_lizard 0.1.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.
- checksums.yaml +7 -0
- data/.gitignore +11 -0
- data/.gitmodules +3 -0
- data/.rspec +2 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +4 -0
- data/Guardfile +33 -0
- data/LICENSE.txt +21 -0
- data/README.md +50 -0
- data/Rakefile +43 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/circle.yml +14 -0
- data/ext/drafter/CHANGELOG.md +278 -0
- data/ext/drafter/Dockerfile +17 -0
- data/ext/drafter/Makefile +62 -0
- data/ext/drafter/appveyor.yml +17 -0
- data/ext/drafter/bin/drafter +0 -0
- data/ext/drafter/build/Makefile +387 -0
- data/ext/drafter/build/drafter.Makefile +6 -0
- data/ext/drafter/build/drafter.target.mk +159 -0
- data/ext/drafter/build/ext/snowcrash/libmarkdownparser.target.mk +141 -0
- data/ext/drafter/build/ext/snowcrash/libsnowcrash.target.mk +154 -0
- data/ext/drafter/build/ext/snowcrash/libsundown.target.mk +149 -0
- data/ext/drafter/build/ext/snowcrash/perf-libsnowcrash.target.mk +147 -0
- data/ext/drafter/build/ext/snowcrash/snowcrash.Makefile +6 -0
- data/ext/drafter/build/gyp-mac-tool +606 -0
- data/ext/drafter/build/libdrafter.target.mk +186 -0
- data/ext/drafter/build/libsos.target.mk +137 -0
- data/ext/drafter/build/out/Release/drafter +0 -0
- data/ext/drafter/build/out/Release/libdrafter.dylib +0 -0
- data/ext/drafter/build/out/Release/libmarkdownparser.a +0 -0
- data/ext/drafter/build/out/Release/libsnowcrash.a +0 -0
- data/ext/drafter/build/out/Release/libsos.a +0 -0
- data/ext/drafter/build/out/Release/libsundown.a +0 -0
- data/ext/drafter/build/out/Release/obj.target/drafter/src/config.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/drafter/src/main.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/drafter/src/reporting.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/ConversionContext.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/NamedTypesRegistry.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractAPI.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractDataStructure.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractElementFactory.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractSourceMap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/Render.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/Serialize.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/SerializeAST.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/SerializeResult.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/SerializeSourcemap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/drafter.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/drafter_private.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/ComparableVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/Element.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/ExpandVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/IsExpandableVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/JSONSchemaVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/PrintVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/Query.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/Registry.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/RenderJSONVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/SerializeCompactVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/SerializeVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/TypeQueryVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/VisitorUtils.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libmarkdownparser/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libmarkdownparser/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libmarkdownparser/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/Blueprint.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/BlueprintSourcemap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/HTTP.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/HeadersParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSON.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONOneOfParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONSourcemap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONTypeSectionParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONValueMemberParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/Section.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/Signature.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/UriTemplateParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/posix/RegexMatch.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/snowcrash.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsos/ext/sos/src/sos.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_href_e.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_html_e.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html_smartypants.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.o +0 -0
- data/ext/drafter/circle.yml +32 -0
- data/ext/drafter/config.gypi +10 -0
- data/ext/drafter/config.mk +5 -0
- data/ext/drafter/configure +224 -0
- data/ext/drafter/drafter.gyp +189 -0
- data/ext/drafter/drafter.xcworkspace/contents.xcworkspacedata +13 -0
- data/ext/drafter/ext/snowcrash/Makefile +58 -0
- data/ext/drafter/ext/snowcrash/appveyor.yml +7 -0
- data/ext/drafter/ext/snowcrash/common.gypi +165 -0
- data/ext/drafter/ext/snowcrash/configure +197 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/Makefile +90 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/CONTRIBUTING.md +10 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/Makefile +84 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/Makefile.win +33 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/examples/smartypants.c +72 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/examples/sundown.c +80 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini.h +37 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_href_e.c +108 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_html_e.c +84 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.c +647 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.h +77 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html_smartypants.c +389 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html_block_names.txt +25 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.c +297 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.h +51 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.c +225 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.h +96 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/html_blocks.h +206 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.c +2726 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.h +147 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.c +204 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.h +58 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.c +81 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.h +29 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/sundown.def +20 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/msvc/markdown/markdown.vcproj +188 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/msvc/msvc.sln +38 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/msvc/sundown/sundown.vcproj +206 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.cc +160 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.h +90 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.cc +152 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.h +103 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.cc +388 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.h +106 -0
- data/ext/drafter/ext/snowcrash/snowcrash.gyp +196 -0
- data/ext/drafter/ext/snowcrash/src/ActionParser.h +560 -0
- data/ext/drafter/ext/snowcrash/src/AssetParser.h +123 -0
- data/ext/drafter/ext/snowcrash/src/AttributesParser.h +123 -0
- data/ext/drafter/ext/snowcrash/src/Blueprint.cc +90 -0
- data/ext/drafter/ext/snowcrash/src/Blueprint.h +489 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintParser.h +845 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintSourcemap.cc +81 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintSourcemap.h +345 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintUtility.h +111 -0
- data/ext/drafter/ext/snowcrash/src/CodeBlockUtility.h +276 -0
- data/ext/drafter/ext/snowcrash/src/DataStructureGroupParser.h +157 -0
- data/ext/drafter/ext/snowcrash/src/HTTP.cc +49 -0
- data/ext/drafter/ext/snowcrash/src/HTTP.h +108 -0
- data/ext/drafter/ext/snowcrash/src/HeadersParser.cc +117 -0
- data/ext/drafter/ext/snowcrash/src/HeadersParser.h +377 -0
- data/ext/drafter/ext/snowcrash/src/MSON.cc +272 -0
- data/ext/drafter/ext/snowcrash/src/MSON.h +405 -0
- data/ext/drafter/ext/snowcrash/src/MSONMixinParser.h +103 -0
- data/ext/drafter/ext/snowcrash/src/MSONNamedTypeParser.h +135 -0
- data/ext/drafter/ext/snowcrash/src/MSONOneOfParser.cc +132 -0
- data/ext/drafter/ext/snowcrash/src/MSONOneOfParser.h +80 -0
- data/ext/drafter/ext/snowcrash/src/MSONParameterParser.h +166 -0
- data/ext/drafter/ext/snowcrash/src/MSONPropertyMemberParser.h +106 -0
- data/ext/drafter/ext/snowcrash/src/MSONSourcemap.cc +141 -0
- data/ext/drafter/ext/snowcrash/src/MSONSourcemap.h +181 -0
- data/ext/drafter/ext/snowcrash/src/MSONTypeSectionParser.cc +209 -0
- data/ext/drafter/ext/snowcrash/src/MSONTypeSectionParser.h +213 -0
- data/ext/drafter/ext/snowcrash/src/MSONUtility.h +506 -0
- data/ext/drafter/ext/snowcrash/src/MSONValueMemberParser.cc +214 -0
- data/ext/drafter/ext/snowcrash/src/MSONValueMemberParser.h +390 -0
- data/ext/drafter/ext/snowcrash/src/ModelTable.h +87 -0
- data/ext/drafter/ext/snowcrash/src/ParameterParser.h +516 -0
- data/ext/drafter/ext/snowcrash/src/ParametersParser.h +222 -0
- data/ext/drafter/ext/snowcrash/src/PayloadParser.h +733 -0
- data/ext/drafter/ext/snowcrash/src/Platform.h +33 -0
- data/ext/drafter/ext/snowcrash/src/RegexMatch.h +32 -0
- data/ext/drafter/ext/snowcrash/src/RelationParser.h +87 -0
- data/ext/drafter/ext/snowcrash/src/ResourceGroupParser.h +297 -0
- data/ext/drafter/ext/snowcrash/src/ResourceParser.h +536 -0
- data/ext/drafter/ext/snowcrash/src/Section.cc +48 -0
- data/ext/drafter/ext/snowcrash/src/Section.h +60 -0
- data/ext/drafter/ext/snowcrash/src/SectionParser.h +246 -0
- data/ext/drafter/ext/snowcrash/src/SectionParserData.h +109 -0
- data/ext/drafter/ext/snowcrash/src/SectionProcessor.h +299 -0
- data/ext/drafter/ext/snowcrash/src/Signature.cc +75 -0
- data/ext/drafter/ext/snowcrash/src/Signature.h +103 -0
- data/ext/drafter/ext/snowcrash/src/SignatureSectionProcessor.h +442 -0
- data/ext/drafter/ext/snowcrash/src/SourceAnnotation.h +166 -0
- data/ext/drafter/ext/snowcrash/src/StringUtility.h +323 -0
- data/ext/drafter/ext/snowcrash/src/UriTemplateParser.cc +195 -0
- data/ext/drafter/ext/snowcrash/src/UriTemplateParser.h +240 -0
- data/ext/drafter/ext/snowcrash/src/ValuesParser.h +111 -0
- data/ext/drafter/ext/snowcrash/src/posix/RegexMatch.cc +99 -0
- data/ext/drafter/ext/snowcrash/src/snowcrash.cc +90 -0
- data/ext/drafter/ext/snowcrash/src/snowcrash.h +44 -0
- data/ext/drafter/ext/snowcrash/src/win/RegexMatch.cc +78 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/AUTHORS +12 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/DEPS +23 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/OWNERS +1 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/PRESUBMIT.py +137 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/buildbot/buildbot_run.py +136 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/buildbot/commit_queue/OWNERS +6 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/buildbot/commit_queue/cq_config.json +15 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/codereview.settings +10 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/data/win/large-pdb-shim.cc +12 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/gyp +8 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/gyp.bat +5 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/gyp_main.py +16 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSNew.py +340 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSProject.py +208 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSSettings.py +1096 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSToolFile.py +58 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSUserFile.py +147 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSUtil.py +270 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSUtil.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSVersion.py +445 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSVersion.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/__init__.py +548 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/__init__.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/common.py +608 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/common.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/easy_xml.py +157 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/flock_tool.py +54 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/__init__.py +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/__init__.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/analyzer.py +741 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/android.py +1069 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/cmake.py +1248 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/dump_dependency_json.py +99 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/eclipse.py +425 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/gypd.py +94 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/gypsh.py +56 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/make.py +2218 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/make.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/msvs.py +3467 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/ninja.py +2427 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/ninja.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/xcode.py +1300 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/xcode.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/input.py +2899 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/input.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/mac_tool.py +605 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/msvs_emulation.py +1093 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/msvs_emulation.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/ninja_syntax.py +160 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/ninja_syntax.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/ordered_dict.py +289 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/simple_copy.py +46 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/simple_copy.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/win_tool.py +314 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_emulation.py +1664 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_emulation.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_ninja.py +276 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_ninja.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcodeproj_file.py +2927 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcodeproj_file.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xml_fix.py +69 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylintrc +307 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/samples/samples +81 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/samples/samples.bat +5 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/setup.py +19 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/Xcode/Specifications/gyp.pbfilespec +27 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/Xcode/Specifications/gyp.xclangspec +226 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/emacs/gyp.el +275 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/graphviz.py +100 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/pretty_gyp.py +155 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/pretty_sln.py +169 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/pretty_vcproj.py +329 -0
- data/ext/drafter/ext/snowcrash/vcbuild.bat +139 -0
- data/ext/drafter/ext/sos/Makefile +62 -0
- data/ext/drafter/ext/sos/src/sos.cc +235 -0
- data/ext/drafter/ext/sos/src/sos.h +188 -0
- data/ext/drafter/ext/sos/src/sosJSON.h +121 -0
- data/ext/drafter/ext/sos/src/sosYAML.h +105 -0
- data/ext/drafter/src/ConversionContext.cc +39 -0
- data/ext/drafter/src/ConversionContext.h +34 -0
- data/ext/drafter/src/NamedTypesRegistry.cc +405 -0
- data/ext/drafter/src/NamedTypesRegistry.h +28 -0
- data/ext/drafter/src/NodeInfo.h +143 -0
- data/ext/drafter/src/RefractAPI.cc +579 -0
- data/ext/drafter/src/RefractAPI.h +28 -0
- data/ext/drafter/src/RefractDataStructure.cc +1199 -0
- data/ext/drafter/src/RefractDataStructure.h +26 -0
- data/ext/drafter/src/RefractElementFactory.cc +107 -0
- data/ext/drafter/src/RefractElementFactory.h +67 -0
- data/ext/drafter/src/RefractSourceMap.cc +29 -0
- data/ext/drafter/src/RefractSourceMap.h +57 -0
- data/ext/drafter/src/Render.cc +157 -0
- data/ext/drafter/src/Render.h +40 -0
- data/ext/drafter/src/Serialize.cc +160 -0
- data/ext/drafter/src/Serialize.h +289 -0
- data/ext/drafter/src/SerializeAST.cc +507 -0
- data/ext/drafter/src/SerializeAST.h +29 -0
- data/ext/drafter/src/SerializeResult.cc +170 -0
- data/ext/drafter/src/SerializeResult.h +34 -0
- data/ext/drafter/src/SerializeSourcemap.cc +331 -0
- data/ext/drafter/src/SerializeSourcemap.h +21 -0
- data/ext/drafter/src/Version.h +40 -0
- data/ext/drafter/src/config.cc +91 -0
- data/ext/drafter/src/config.h +38 -0
- data/ext/drafter/src/drafter.cc +137 -0
- data/ext/drafter/src/drafter.h +102 -0
- data/ext/drafter/src/drafter_private.cc +85 -0
- data/ext/drafter/src/drafter_private.h +34 -0
- data/ext/drafter/src/main.cc +137 -0
- data/ext/drafter/src/refract/AppendDecorator.h +58 -0
- data/ext/drafter/src/refract/Build.h +67 -0
- data/ext/drafter/src/refract/ComparableVisitor.cc +43 -0
- data/ext/drafter/src/refract/ComparableVisitor.h +62 -0
- data/ext/drafter/src/refract/Element.cc +409 -0
- data/ext/drafter/src/refract/Element.h +656 -0
- data/ext/drafter/src/refract/ElementFwd.h +37 -0
- data/ext/drafter/src/refract/ElementInserter.h +59 -0
- data/ext/drafter/src/refract/Exception.h +31 -0
- data/ext/drafter/src/refract/ExpandVisitor.cc +359 -0
- data/ext/drafter/src/refract/ExpandVisitor.h +58 -0
- data/ext/drafter/src/refract/FilterVisitor.h +52 -0
- data/ext/drafter/src/refract/IsExpandableVisitor.cc +140 -0
- data/ext/drafter/src/refract/IsExpandableVisitor.h +31 -0
- data/ext/drafter/src/refract/Iterate.h +160 -0
- data/ext/drafter/src/refract/JSONSchemaVisitor.cc +675 -0
- data/ext/drafter/src/refract/JSONSchemaVisitor.h +73 -0
- data/ext/drafter/src/refract/PrintVisitor.cc +164 -0
- data/ext/drafter/src/refract/PrintVisitor.h +50 -0
- data/ext/drafter/src/refract/Query.cc +13 -0
- data/ext/drafter/src/refract/Query.h +38 -0
- data/ext/drafter/src/refract/Registry.cc +114 -0
- data/ext/drafter/src/refract/Registry.h +43 -0
- data/ext/drafter/src/refract/RenderJSONVisitor.cc +255 -0
- data/ext/drafter/src/refract/RenderJSONVisitor.h +51 -0
- data/ext/drafter/src/refract/SerializeCompactVisitor.cc +167 -0
- data/ext/drafter/src/refract/SerializeCompactVisitor.h +56 -0
- data/ext/drafter/src/refract/SerializeVisitor.cc +214 -0
- data/ext/drafter/src/refract/SerializeVisitor.h +55 -0
- data/ext/drafter/src/refract/TypeQueryVisitor.cc +46 -0
- data/ext/drafter/src/refract/TypeQueryVisitor.h +110 -0
- data/ext/drafter/src/refract/Visitor.h +126 -0
- data/ext/drafter/src/refract/VisitorUtils.cc +63 -0
- data/ext/drafter/src/refract/VisitorUtils.h +231 -0
- data/ext/drafter/src/reporting.cc +263 -0
- data/ext/drafter/src/reporting.h +39 -0
- data/ext/drafter/src/stream.h +148 -0
- data/ext/drafter/tools/homebrew/drafter.rb +18 -0
- data/ext/drafter/tools/make-tarball.sh +39 -0
- data/ext/drafter/tools/refract-filter.py +96 -0
- data/ext/drafter/tools/release.sh +17 -0
- data/ext/drafter/vcbuild.bat +203 -0
- data/lib/lounge_lizard/binding.rb +29 -0
- data/lib/lounge_lizard/version.rb +3 -0
- data/lib/lounge_lizard.rb +18 -0
- data/lounge_lizard.gemspec +37 -0
- metadata +547 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
//
|
|
2
|
+
// BlueprintSourcemap.cc
|
|
3
|
+
// snowcrash
|
|
4
|
+
//
|
|
5
|
+
// Created by Pavan Kumar Sunkara on 26/01/15.
|
|
6
|
+
// Copyright (c) 2015 Apiary Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#include "BlueprintSourcemap.h"
|
|
10
|
+
|
|
11
|
+
using namespace snowcrash;
|
|
12
|
+
|
|
13
|
+
SourceMap<Elements>& SourceMap<Element>::Content::elements()
|
|
14
|
+
{
|
|
15
|
+
if (!m_elements.get())
|
|
16
|
+
throw ELEMENTS_NOT_SET_ERR;
|
|
17
|
+
|
|
18
|
+
return *m_elements;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const SourceMap<Elements>& SourceMap<Element>::Content::elements() const
|
|
22
|
+
{
|
|
23
|
+
if (!m_elements.get())
|
|
24
|
+
throw ELEMENTS_NOT_SET_ERR;
|
|
25
|
+
|
|
26
|
+
return *m_elements;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
SourceMap<Element>::Content::Content()
|
|
30
|
+
{
|
|
31
|
+
m_elements.reset(::new SourceMap<Elements>);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
SourceMap<Element>::Content::Content(const SourceMap<Element>::Content& rhs)
|
|
35
|
+
{
|
|
36
|
+
this->copy = rhs.copy;
|
|
37
|
+
this->resource = rhs.resource;
|
|
38
|
+
this->dataStructure = rhs.dataStructure;
|
|
39
|
+
m_elements.reset(::new SourceMap<Elements>(*rhs.m_elements.get()));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
SourceMap<Element>::Content& SourceMap<Element>::Content::operator=(const SourceMap<Element>::Content& rhs)
|
|
43
|
+
{
|
|
44
|
+
this->copy = rhs.copy;
|
|
45
|
+
this->resource = rhs.resource;
|
|
46
|
+
this->dataStructure = rhs.dataStructure;
|
|
47
|
+
m_elements.reset(::new SourceMap<Elements>(*rhs.m_elements.get()));
|
|
48
|
+
|
|
49
|
+
return *this;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
SourceMap<Element>::Content::~Content()
|
|
53
|
+
{
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
SourceMap<Element>::SourceMap(const Element::Class& element_)
|
|
57
|
+
: element(element_)
|
|
58
|
+
{
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
SourceMap<Element>::SourceMap(const SourceMap<Element>& rhs)
|
|
62
|
+
{
|
|
63
|
+
this->element = rhs.element;
|
|
64
|
+
this->attributes = rhs.attributes;
|
|
65
|
+
this->content = rhs.content;
|
|
66
|
+
this->category = rhs.category;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
SourceMap<Element>& SourceMap<Element>::operator=(const SourceMap<Element>& rhs)
|
|
70
|
+
{
|
|
71
|
+
this->element = rhs.element;
|
|
72
|
+
this->attributes = rhs.attributes;
|
|
73
|
+
this->content = rhs.content;
|
|
74
|
+
this->category = rhs.category;
|
|
75
|
+
|
|
76
|
+
return *this;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
SourceMap<Element>::~SourceMap()
|
|
80
|
+
{
|
|
81
|
+
}
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
//
|
|
2
|
+
// BlueprintSourcemap.h
|
|
3
|
+
// snowcrash
|
|
4
|
+
//
|
|
5
|
+
// Created by Pavan Kumar Sunkara on 26/8/14.
|
|
6
|
+
// Copyright (c) 2014 Apiary Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#ifndef SNOWCRASH_BLUEPRINT_SOURCEMAP_H
|
|
10
|
+
#define SNOWCRASH_BLUEPRINT_SOURCEMAP_H
|
|
11
|
+
|
|
12
|
+
#include "Blueprint.h"
|
|
13
|
+
#include "MSONSourcemap.h"
|
|
14
|
+
/**
|
|
15
|
+
* API Blueprint Sourcemap Abstract Syntax Tree
|
|
16
|
+
* ---------------------------------------------
|
|
17
|
+
*
|
|
18
|
+
* Data types in this documents define the API Blueprint Sourcemap AST.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
namespace snowcrash {
|
|
22
|
+
|
|
23
|
+
/** Source Map of Metadata Collection */
|
|
24
|
+
SOURCE_MAP_COLLECTION(Metadata, MetadataCollection)
|
|
25
|
+
|
|
26
|
+
/** Source Map of Headers */
|
|
27
|
+
// 'Metadata' type is same as 'Header'
|
|
28
|
+
|
|
29
|
+
/** Source Map of Collection of Parameter values */
|
|
30
|
+
SOURCE_MAP_COLLECTION(Value, Values)
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Source Map Structure for Parameter
|
|
34
|
+
*/
|
|
35
|
+
template<>
|
|
36
|
+
struct SourceMap<Parameter> : public SourceMapBase {
|
|
37
|
+
|
|
38
|
+
/** Source Map of Parameter Name */
|
|
39
|
+
SourceMap<Name> name;
|
|
40
|
+
|
|
41
|
+
/** Source Map of Parameter Description */
|
|
42
|
+
SourceMap<Description> description;
|
|
43
|
+
|
|
44
|
+
/** Source Map of Parameter Type */
|
|
45
|
+
SourceMap<Type> type;
|
|
46
|
+
|
|
47
|
+
/** Source Map of Required flag */
|
|
48
|
+
SourceMap<ParameterUse> use;
|
|
49
|
+
|
|
50
|
+
/** Source Map of Default Value, applicable only when `required == false` */
|
|
51
|
+
SourceMap<Value> defaultValue;
|
|
52
|
+
|
|
53
|
+
/** Source Map of Example Value */
|
|
54
|
+
SourceMap<Value> exampleValue;
|
|
55
|
+
|
|
56
|
+
/** Enumeration of possible values */
|
|
57
|
+
SourceMap<Values> values;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Source Map Structure for MSON Parameter
|
|
62
|
+
*/
|
|
63
|
+
template<>
|
|
64
|
+
struct SourceMap<MSONParameter> : public SourceMap<Parameter> {
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
/** Source Map of Collection of Parameters */
|
|
68
|
+
SOURCE_MAP_COLLECTION(Parameter, Parameters)
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Source Map Structure for DataStructure
|
|
72
|
+
*/
|
|
73
|
+
template<>
|
|
74
|
+
struct SourceMap<DataStructure> : public SourceMap<mson::NamedType> {
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/** Source Map Structure for Attributes */
|
|
78
|
+
// 'Attributes' is the same as 'DataStructure'
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Source Map Structure for Payload
|
|
82
|
+
*/
|
|
83
|
+
template<>
|
|
84
|
+
struct SourceMap<Payload> : public SourceMapBase {
|
|
85
|
+
|
|
86
|
+
/** Source Map of a Payload Name */
|
|
87
|
+
SourceMap<Name> name;
|
|
88
|
+
|
|
89
|
+
/** Source Map of Payload Description */
|
|
90
|
+
SourceMap<Description> description;
|
|
91
|
+
|
|
92
|
+
/** Source Map of Payload-specific Parameters */
|
|
93
|
+
SourceMap<Parameters> parameters;
|
|
94
|
+
|
|
95
|
+
/** Source Map of Payload-specific Headers */
|
|
96
|
+
SourceMap<Headers> headers;
|
|
97
|
+
|
|
98
|
+
/** Source Map of Payload-specific Attributes (THIS SHOULD NOT BE HERE - should be under content) */
|
|
99
|
+
SourceMap<Attributes> attributes;
|
|
100
|
+
|
|
101
|
+
/** Source Map of Body (THIS SHOULD NOT BE HERE - should be under content) */
|
|
102
|
+
SourceMap<Asset> body;
|
|
103
|
+
|
|
104
|
+
/** Source Map of Schema (THIS SHOULD NOT BE HERE - should be under content) */
|
|
105
|
+
SourceMap<Asset> schema;
|
|
106
|
+
|
|
107
|
+
/** Source Map of Model Reference */
|
|
108
|
+
SourceMap<Reference> reference;
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
/** Source Map of Collection of Requests */
|
|
112
|
+
SOURCE_MAP_COLLECTION(Request, Requests)
|
|
113
|
+
|
|
114
|
+
/** Source Map of Collection of Responses */
|
|
115
|
+
// 'Response' type is same as 'Request'
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Source Map Structure for an HTTP transaction example.
|
|
119
|
+
*/
|
|
120
|
+
template<>
|
|
121
|
+
struct SourceMap<TransactionExample> : public SourceMapBase {
|
|
122
|
+
|
|
123
|
+
/** Source Map of an example name */
|
|
124
|
+
SourceMap<Name> name;
|
|
125
|
+
|
|
126
|
+
/** Source Map of Description */
|
|
127
|
+
SourceMap<Description> description;
|
|
128
|
+
|
|
129
|
+
/** Requests */
|
|
130
|
+
SourceMap<Requests> requests;
|
|
131
|
+
|
|
132
|
+
/** Responses */
|
|
133
|
+
SourceMap<Responses> responses;
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
/** Source Map of Collection of Transaction examples */
|
|
137
|
+
SOURCE_MAP_COLLECTION(TransactionExample, TransactionExamples)
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Source Map Structure for Action
|
|
141
|
+
*/
|
|
142
|
+
template<>
|
|
143
|
+
struct SourceMap<Action> : public SourceMapBase {
|
|
144
|
+
|
|
145
|
+
/** Source Map of HTTP method */
|
|
146
|
+
SourceMap<HTTPMethod> method;
|
|
147
|
+
|
|
148
|
+
/** Source Map of an Action name */
|
|
149
|
+
SourceMap<Name> name;
|
|
150
|
+
|
|
151
|
+
/** Source Map of Description */
|
|
152
|
+
SourceMap<Description> description;
|
|
153
|
+
|
|
154
|
+
/** Action-specific Parameters */
|
|
155
|
+
SourceMap<Parameters> parameters;
|
|
156
|
+
|
|
157
|
+
/** Action-specific Attributes (THIS SHOULD NOT BE HERE - should be under content) */
|
|
158
|
+
SourceMap<Attributes> attributes;
|
|
159
|
+
|
|
160
|
+
/** Source Map of URI Template (THIS SHOULD NOT BE HERE - should be under element attributes) */
|
|
161
|
+
SourceMap<URITemplate> uriTemplate;
|
|
162
|
+
|
|
163
|
+
/** Source Map of Link Relation (THIS SHOULD NOT BE HERE - should be under element attributes) */
|
|
164
|
+
SourceMap<Relation> relation;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* \brief Action-specific HTTP headers
|
|
168
|
+
*
|
|
169
|
+
* DEPRECATION WARNING:
|
|
170
|
+
* --------------------
|
|
171
|
+
*
|
|
172
|
+
* This AST node is build for deprecated API Blueprint syntax
|
|
173
|
+
* and as such it will be removed in a future version of
|
|
174
|
+
* Snow Crash.
|
|
175
|
+
*
|
|
176
|
+
* Use respective payload's header collection instead.
|
|
177
|
+
*/
|
|
178
|
+
DEPRECATED SourceMap<Headers> headers;
|
|
179
|
+
|
|
180
|
+
/** Transactions examples */
|
|
181
|
+
SourceMap<TransactionExamples> examples;
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
/** Source Map of Collection of Actions */
|
|
185
|
+
SOURCE_MAP_COLLECTION(Action, Actions)
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Source Map Structure for API Resource
|
|
189
|
+
*/
|
|
190
|
+
template<>
|
|
191
|
+
struct SourceMap<Resource> : public SourceMapBase {
|
|
192
|
+
|
|
193
|
+
/** Source Map of URI template */
|
|
194
|
+
SourceMap<URITemplate> uriTemplate;
|
|
195
|
+
|
|
196
|
+
/** Source Map of a Resource Name */
|
|
197
|
+
SourceMap<Name> name;
|
|
198
|
+
|
|
199
|
+
/** Source Map of Description of the resource */
|
|
200
|
+
SourceMap<Description> description;
|
|
201
|
+
|
|
202
|
+
/** Model representing this Resource */
|
|
203
|
+
SourceMap<ResourceModel> model;
|
|
204
|
+
|
|
205
|
+
/** Source Map of Resource-specific Attributes (THIS SHOULD NOT BE HERE - should be under content) */
|
|
206
|
+
SourceMap<Attributes> attributes;
|
|
207
|
+
|
|
208
|
+
/** Parameters */
|
|
209
|
+
SourceMap<Parameters> parameters;
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* \brief Resource-specific HTTP Headers
|
|
213
|
+
*
|
|
214
|
+
* DEPRECATION WARNING:
|
|
215
|
+
* --------------------
|
|
216
|
+
*
|
|
217
|
+
* This AST node is build for deprecated API Blueprint syntax
|
|
218
|
+
* and as such it will be removed in a future version of
|
|
219
|
+
* Snow Crash.
|
|
220
|
+
*
|
|
221
|
+
* Use respective payload's header collection instead.
|
|
222
|
+
*/
|
|
223
|
+
DEPRECATED SourceMap<Headers> headers;
|
|
224
|
+
|
|
225
|
+
/** A set of Actions specified for this Resource */
|
|
226
|
+
SourceMap<Actions> actions;
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
/** Source Map of Collection of Resources */
|
|
230
|
+
SOURCE_MAP_COLLECTION(Resource, Resources)
|
|
231
|
+
|
|
232
|
+
/** Forward Declaration for Source Map of Element */
|
|
233
|
+
template<>
|
|
234
|
+
struct SourceMap<Element>;
|
|
235
|
+
|
|
236
|
+
/** Source Map of Collection of Elements */
|
|
237
|
+
SOURCE_MAP_COLLECTION(Element, Elements)
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Source Map Structure for Element
|
|
241
|
+
*/
|
|
242
|
+
template<>
|
|
243
|
+
struct SourceMap<Element> : public SourceMapBase {
|
|
244
|
+
|
|
245
|
+
/** Source Map Structure for Attributes of the Element */
|
|
246
|
+
struct Attributes {
|
|
247
|
+
|
|
248
|
+
/** Source Map of a Element Name */
|
|
249
|
+
SourceMap<Name> name;
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
/** Source Map Structure for Content of the Element */
|
|
253
|
+
struct Content {
|
|
254
|
+
|
|
255
|
+
/** EITHER Source Map of Copy */
|
|
256
|
+
SourceMap<std::string> copy;
|
|
257
|
+
|
|
258
|
+
/** OR Source Map of Resource */
|
|
259
|
+
SourceMap<Resource> resource;
|
|
260
|
+
|
|
261
|
+
/** OR Source Map of Data Structure */
|
|
262
|
+
SourceMap<DataStructure> dataStructure;
|
|
263
|
+
|
|
264
|
+
/** OR Source Map of Collection of elements */
|
|
265
|
+
SourceMap<Elements>& elements();
|
|
266
|
+
const SourceMap<Elements>& elements() const;
|
|
267
|
+
|
|
268
|
+
/** Constructor */
|
|
269
|
+
Content();
|
|
270
|
+
|
|
271
|
+
/** Copy constructor */
|
|
272
|
+
Content(const SourceMap<Element>::Content& rhs);
|
|
273
|
+
|
|
274
|
+
/** Assignment operator */
|
|
275
|
+
SourceMap<Element>::Content& operator=(const SourceMap<Element>::Content& rhs);
|
|
276
|
+
|
|
277
|
+
/** Destructor */
|
|
278
|
+
~Content();
|
|
279
|
+
|
|
280
|
+
private:
|
|
281
|
+
std::unique_ptr<SourceMap<Elements> > m_elements;
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
/** Class of the Element (to be used internally only) */
|
|
285
|
+
Element::Class element;
|
|
286
|
+
|
|
287
|
+
/** Source Map of Attributes of the Element */
|
|
288
|
+
Attributes attributes;
|
|
289
|
+
|
|
290
|
+
/** Source Map of Content of the Element */
|
|
291
|
+
Content content;
|
|
292
|
+
|
|
293
|
+
/** Type of the Category element (to be used internally only) */
|
|
294
|
+
Element::Category category;
|
|
295
|
+
|
|
296
|
+
/** Constructor */
|
|
297
|
+
SourceMap(const Element::Class& element_ = Element::UndefinedElement);
|
|
298
|
+
|
|
299
|
+
/** Copy constructor */
|
|
300
|
+
SourceMap(const SourceMap<Element>& rhs);
|
|
301
|
+
|
|
302
|
+
/** Assignment operator */
|
|
303
|
+
SourceMap<Element>& operator=(const SourceMap<Element>& rhs);
|
|
304
|
+
|
|
305
|
+
/** Destructor */
|
|
306
|
+
~SourceMap();
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Source Map Structure for Group of API Resources (Category Element)
|
|
311
|
+
*/
|
|
312
|
+
template<>
|
|
313
|
+
struct SourceMap<ResourceGroup> : public SourceMap<Element> {
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* Source Map Structure for Group of Data Structures (Category Element)
|
|
318
|
+
*/
|
|
319
|
+
template<>
|
|
320
|
+
struct SourceMap<DataStructureGroup> : public SourceMap<Element> {
|
|
321
|
+
};
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* \brief API Blueprint Sourcemap AST
|
|
325
|
+
*
|
|
326
|
+
* This is top-level (or root if you prefer) of API Blueprint Sourcemap abstract syntax tree.
|
|
327
|
+
* Start reading a parsed API here.
|
|
328
|
+
*/
|
|
329
|
+
template<>
|
|
330
|
+
struct SourceMap<Blueprint> : public SourceMap<Element> {
|
|
331
|
+
|
|
332
|
+
/** Source Map of the API Name */
|
|
333
|
+
SourceMap<Name> name;
|
|
334
|
+
|
|
335
|
+
/** Source Map of API Blueprint metadata */
|
|
336
|
+
SourceMap<MetadataCollection> metadata;
|
|
337
|
+
|
|
338
|
+
/** Source Map of an API Overview description */
|
|
339
|
+
SourceMap<Description> description;
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
#undef SOURCE_MAP_COLLECTION
|
|
344
|
+
|
|
345
|
+
#endif
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
//
|
|
2
|
+
// BlueprintUtility.h
|
|
3
|
+
// snowcrash
|
|
4
|
+
//
|
|
5
|
+
// Created by Zdenek Nemec on 7/11/13.
|
|
6
|
+
// Copyright (c) 2013 Apiary Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#ifndef SNOWCRASH_BLUEPRINTUTILITY_H
|
|
10
|
+
#define SNOWCRASH_BLUEPRINTUTILITY_H
|
|
11
|
+
|
|
12
|
+
#include <utility>
|
|
13
|
+
#include <functional>
|
|
14
|
+
#include "Blueprint.h"
|
|
15
|
+
#include "HTTP.h"
|
|
16
|
+
|
|
17
|
+
namespace snowcrash {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* \brief Pair firsts matching predicate.
|
|
21
|
+
*
|
|
22
|
+
* Two pairs are a match if their %first matches.
|
|
23
|
+
*/
|
|
24
|
+
template <class T, class Predicate = std::equal_to<typename T::first_type> >
|
|
25
|
+
struct MatchFirsts : std::binary_function<T, T, bool> {
|
|
26
|
+
bool operator()(const T& left, const T& right) const {
|
|
27
|
+
return Predicate()(left.first, right.first);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* \brief Matches a pair's first against a value.
|
|
33
|
+
*/
|
|
34
|
+
template <class T, class R = typename T::first_type, class Predicate = std::equal_to<R> >
|
|
35
|
+
struct MatchFirstWith : std::binary_function<T, R, bool> {
|
|
36
|
+
bool operator()(const T& left, const R& right) const {
|
|
37
|
+
return Predicate()(left.first, right);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/** A name matching predicate. */
|
|
42
|
+
template <class T>
|
|
43
|
+
struct MatchName : std::binary_function<T, T, bool> {
|
|
44
|
+
bool operator()(const T& first, const T& second) const {
|
|
45
|
+
return first.name == second.name;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* \brief Payload matching predicate.
|
|
51
|
+
*
|
|
52
|
+
* Matches payloads if their name and media type matches.
|
|
53
|
+
*/
|
|
54
|
+
struct MatchPayload : std::binary_function<Payload, Payload, bool> {
|
|
55
|
+
bool operator()(const first_argument_type& left, const second_argument_type& right) const {
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
if (left.name != right.name)
|
|
59
|
+
return false;
|
|
60
|
+
|
|
61
|
+
// Resolve left content type
|
|
62
|
+
Collection<Header>::const_iterator header;
|
|
63
|
+
|
|
64
|
+
header = std::find_if(left.headers.begin(),
|
|
65
|
+
left.headers.end(),
|
|
66
|
+
std::bind2nd(MatchFirstWith<Header, std::string>(),
|
|
67
|
+
HTTPHeaderName::ContentType));
|
|
68
|
+
|
|
69
|
+
std::string leftContentType;
|
|
70
|
+
|
|
71
|
+
if (header != left.headers.end())
|
|
72
|
+
leftContentType = header->second;
|
|
73
|
+
|
|
74
|
+
// Resolve right content type
|
|
75
|
+
header = std::find_if(right.headers.begin(),
|
|
76
|
+
right.headers.end(),
|
|
77
|
+
std::bind2nd(MatchFirstWith<Header, std::string>(),
|
|
78
|
+
HTTPHeaderName::ContentType));
|
|
79
|
+
|
|
80
|
+
std::string rightContentType;
|
|
81
|
+
|
|
82
|
+
if (header != right.headers.end())
|
|
83
|
+
rightContentType = header->second;
|
|
84
|
+
|
|
85
|
+
return leftContentType == rightContentType;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/** URI matching predicate. */
|
|
90
|
+
struct MatchResource : std::binary_function<Resource, Resource, bool> {
|
|
91
|
+
bool operator()(const first_argument_type& first, const second_argument_type& second) const {
|
|
92
|
+
return first.uriTemplate == second.uriTemplate;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
/** Action matching predicate. */
|
|
97
|
+
struct MatchAction : std::binary_function<Action, Action, bool> {
|
|
98
|
+
bool operator()(const first_argument_type& first, const second_argument_type& second) const {
|
|
99
|
+
return first.uriTemplate == second.uriTemplate && first.method == second.method;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
/** Relation matching predicate. */
|
|
104
|
+
struct MatchRelation : std::binary_function<Action, Relation, bool> {
|
|
105
|
+
bool operator()(const first_argument_type& first, const second_argument_type& second) const {
|
|
106
|
+
return !first.relation.str.empty() && !second.str.empty() && first.relation.str == second.str;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
#endif
|