burlap 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ruby.yml +38 -0
  3. data/.gitignore +9 -0
  4. data/.rspec +2 -0
  5. data/.yardopts +1 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE +21 -0
  8. data/README.md +16 -0
  9. data/Rakefile +31 -0
  10. data/burlap.gemspec +32 -0
  11. data/lib/active_support/ordered_hash.rb +179 -0
  12. data/lib/burlap/array.rb +18 -0
  13. data/lib/burlap/base_tag.rb +105 -0
  14. data/lib/burlap/call.rb +38 -0
  15. data/lib/burlap/core_ext/array.rb +7 -0
  16. data/lib/burlap/core_ext/boolean.rb +11 -0
  17. data/lib/burlap/core_ext/float.rb +5 -0
  18. data/lib/burlap/core_ext/hash.rb +5 -0
  19. data/lib/burlap/core_ext/integer.rb +10 -0
  20. data/lib/burlap/core_ext/nil.rb +5 -0
  21. data/lib/burlap/core_ext/object.rb +13 -0
  22. data/lib/burlap/core_ext/string.rb +5 -0
  23. data/lib/burlap/core_ext/symbol.rb +6 -0
  24. data/lib/burlap/core_ext/time.rb +5 -0
  25. data/lib/burlap/core_ext.rb +10 -0
  26. data/lib/burlap/default_resolver.rb +100 -0
  27. data/lib/burlap/error.rb +3 -0
  28. data/lib/burlap/fault.rb +6 -0
  29. data/lib/burlap/hash.rb +72 -0
  30. data/lib/burlap/listener.rb +34 -0
  31. data/lib/burlap/node.rb +48 -0
  32. data/lib/burlap/version.rb +3 -0
  33. data/lib/burlap.rb +47 -0
  34. data/lib/core_ext/time_burlap_iso8601.rb +32 -0
  35. data/spec/burlap/array_spec.rb +28 -0
  36. data/spec/burlap/call_spec.rb +126 -0
  37. data/spec/burlap/core_ext/array_spec.rb +123 -0
  38. data/spec/burlap/core_ext/class_spec.rb +24 -0
  39. data/spec/burlap/core_ext/false_class_spec.rb +17 -0
  40. data/spec/burlap/core_ext/float_spec.rb +15 -0
  41. data/spec/burlap/core_ext/hash_spec.rb +15 -0
  42. data/spec/burlap/core_ext/integer_spec.rb +28 -0
  43. data/spec/burlap/core_ext/nil_class_spec.rb +15 -0
  44. data/spec/burlap/core_ext/object_spec.rb +62 -0
  45. data/spec/burlap/core_ext/string_spec.rb +27 -0
  46. data/spec/burlap/core_ext/symbol_spec.rb +15 -0
  47. data/spec/burlap/core_ext/time_spec.rb +23 -0
  48. data/spec/burlap/core_ext/true_class_spec.rb +17 -0
  49. data/spec/burlap/default_resolver_spec.rb +140 -0
  50. data/spec/burlap/error_spec.rb +7 -0
  51. data/spec/burlap/hash_spec.rb +234 -0
  52. data/spec/burlap/listener_spec.rb +31 -0
  53. data/spec/burlap/node_spec.rb +39 -0
  54. data/spec/burlap_spec.rb +55 -0
  55. data/spec/data/no_such_method.burlap +1 -0
  56. data/spec/data/record_not_found.burlap +1 -0
  57. data/spec/spec_helper.rb +13 -0
  58. metadata +224 -0
@@ -0,0 +1,55 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe Burlap do
4
+ it { is_expected.to respond_to(:resolver) }
5
+ it { is_expected.to respond_to(:resolver=) }
6
+
7
+ describe ".resolver" do
8
+ it "defaults to an instance of DefaultResolver" do
9
+ expect(described_class.resolver).to be_a_kind_of(Burlap::DefaultResolver)
10
+ end
11
+ end
12
+
13
+ describe ".parse" do
14
+ context "when emoji in response" do
15
+ context "with ASCII 8BIT encoded burlap" do
16
+ let(:body) { "<burlap:reply><map><type></type><string>emoji</string><string>\xED\xA0\xBC</string></map></burlap:reply>".force_encoding(encoding) }
17
+ let(:encoding) { Encoding::ASCII_8BIT }
18
+
19
+ it do
20
+ expect(described_class.parse(body)).to be_nil
21
+ end
22
+
23
+ it do
24
+ expect { described_class.parse(body, true) }.to raise_error(Encoding::UndefinedConversionError)
25
+ end
26
+ end
27
+
28
+ context "with UTF-8 encoded burlap" do
29
+ let(:body) { "<burlap:reply><map><type></type><string>emoji</string><string>\u{1F33B}</string></map></burlap:reply>".force_encoding(encoding) }
30
+ let(:encoding) { Encoding::UTF_8 }
31
+
32
+ it do
33
+ expect(described_class.parse(body)).to eq(Burlap::Hash["emoji" => "\u{1F33B}"])
34
+ end
35
+
36
+ it do
37
+ expect(described_class.parse(body, true)).to eq(Burlap::Hash["emoji" => "\u{1F33B}"])
38
+ end
39
+ end
40
+
41
+ context "with ISO-8859-1 encoded burlap" do
42
+ let(:body) { "<burlap:reply><map><type></type><string>emoji</string><string>\xED\xA0\xBC</string></map></burlap:reply>".force_encoding(encoding) }
43
+ let(:encoding) { Encoding::ISO_8859_1 }
44
+
45
+ it do
46
+ expect(described_class.parse(body)).to be_nil
47
+ end
48
+
49
+ it do
50
+ expect(described_class.parse(body, true)).to eq(Burlap::Hash["emoji" => "í ¼"])
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1 @@
1
+ <burlap:reply><fault><string>code</string><string>NoSuchMethodException</string><string>message</string><string>The service has no method named: getUserID</string></fault></burlap:reply>
@@ -0,0 +1 @@
1
+ <burlap:reply><fault><string>code</string><string>ServiceException</string><string>message</string><string>No row with the given identifier exists: [com.sapienter.jbilling.server.user.db.UserDTO#21]</string><string>detail</string><map><type>org.hibernate.ObjectNotFoundException</type><string>entityName</string><string>com.sapienter.jbilling.server.user.db.UserDTO</string><string>detailMessage</string><string>No row with the given identifier exists</string><string>cause</string><ref>0</ref><string>identifier</string><int>21</int><string>stackTrace</string><list><type>[java.lang.StackTraceElement</type><length>60</length><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.hibernate.impl.SessionFactoryImpl$2</string><string>methodName</string><string>handleEntityNotFound</string><string>fileName</string><string>SessionFactoryImpl.java</string><string>lineNumber</string><int>419</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.hibernate.proxy.AbstractLazyInitializer</string><string>methodName</string><string>checkTargetState</string><string>fileName</string><string>AbstractLazyInitializer.java</string><string>lineNumber</string><int>154</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.hibernate.proxy.AbstractLazyInitializer</string><string>methodName</string><string>initialize</string><string>fileName</string><string>AbstractLazyInitializer.java</string><string>lineNumber</string><int>143</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.hibernate.proxy.AbstractLazyInitializer</string><string>methodName</string><string>getImplementation</string><string>fileName</string><string>AbstractLazyInitializer.java</string><string>lineNumber</string><int>174</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer</string><string>methodName</string><string>invoke</string><string>fileName</string><string>JavassistLazyInitializer.java</string><string>lineNumber</string><int>190</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>com.sapienter.jbilling.server.user.db.UserDTO_$$_javassist_51</string><string>methodName</string><string>getCurrency</string><string>fileName</string><string>UserDTO_$$_javassist_51.java</string><string>lineNumber</string><int>-1</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>com.sapienter.jbilling.server.user.db.UserDTO</string><string>methodName</string><string>&#60;init></string><string>fileName</string><string>UserDTO.java</string><string>lineNumber</string><int>105</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>com.sapienter.jbilling.server.user.UserDTOEx</string><string>methodName</string><string>&#60;init></string><string>fileName</string><string>UserDTOEx.java</string><string>lineNumber</string><int>157</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>com.sapienter.jbilling.server.util.DTOFactory</string><string>methodName</string><string>getUserDTOEx</string><string>fileName</string><string>DTOFactory.java</string><string>lineNumber</string><int>113</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>com.sapienter.jbilling.server.user.UserBL</string><string>methodName</string><string>getUserWS</string><string>fileName</string><string>UserBL.java</string><string>lineNumber</string><int>634</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>com.sapienter.jbilling.server.util.WebServicesSessionSpringBean</string><string>methodName</string><string>getUserWS</string><string>fileName</string><string>WebServicesSessionSpringBean.java</string><string>lineNumber</string><int>392</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>sun.reflect.GeneratedMethodAccessor541</string><string>methodName</string><string>invoke</string><string>fileName</string><null></null><string>lineNumber</string><int>-1</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>sun.reflect.DelegatingMethodAccessorImpl</string><string>methodName</string><string>invoke</string><string>fileName</string><string>DelegatingMethodAccessorImpl.java</string><string>lineNumber</string><int>25</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>java.lang.reflect.Method</string><string>methodName</string><string>invoke</string><string>fileName</string><string>Method.java</string><string>lineNumber</string><int>597</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.aop.support.AopUtils</string><string>methodName</string><string>invokeJoinpointUsingReflection</string><string>fileName</string><string>AopUtils.java</string><string>lineNumber</string><int>307</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.aop.framework.ReflectiveMethodInvocation</string><string>methodName</string><string>invokeJoinpoint</string><string>fileName</string><string>ReflectiveMethodInvocation.java</string><string>lineNumber</string><int>182</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.aop.framework.ReflectiveMethodInvocation</string><string>methodName</string><string>proceed</string><string>fileName</string><string>ReflectiveMethodInvocation.java</string><string>lineNumber</string><int>149</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.transaction.interceptor.TransactionInterceptor</string><string>methodName</string><string>invoke</string><string>fileName</string><string>TransactionInterceptor.java</string><string>lineNumber</string><int>106</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.aop.framework.ReflectiveMethodInvocation</string><string>methodName</string><string>proceed</string><string>fileName</string><string>ReflectiveMethodInvocation.java</string><string>lineNumber</string><int>171</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.aop.framework.JdkDynamicAopProxy</string><string>methodName</string><string>invoke</string><string>fileName</string><string>JdkDynamicAopProxy.java</string><string>lineNumber</string><int>204</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>$Proxy19</string><string>methodName</string><string>getUserWS</string><string>fileName</string><null></null><string>lineNumber</string><int>-1</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>sun.reflect.GeneratedMethodAccessor541</string><string>methodName</string><string>invoke</string><string>fileName</string><null></null><string>lineNumber</string><int>-1</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>sun.reflect.DelegatingMethodAccessorImpl</string><string>methodName</string><string>invoke</string><string>fileName</string><string>DelegatingMethodAccessorImpl.java</string><string>lineNumber</string><int>25</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>java.lang.reflect.Method</string><string>methodName</string><string>invoke</string><string>fileName</string><string>Method.java</string><string>lineNumber</string><int>597</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.aop.support.AopUtils</string><string>methodName</string><string>invokeJoinpointUsingReflection</string><string>fileName</string><string>AopUtils.java</string><string>lineNumber</string><int>307</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.aop.framework.ReflectiveMethodInvocation</string><string>methodName</string><string>invokeJoinpoint</string><string>fileName</string><string>ReflectiveMethodInvocation.java</string><string>lineNumber</string><int>182</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.aop.framework.ReflectiveMethodInvocation</string><string>methodName</string><string>proceed</string><string>fileName</string><string>ReflectiveMethodInvocation.java</string><string>lineNumber</string><int>149</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.remoting.support.RemoteInvocationTraceInterceptor</string><string>methodName</string><string>invoke</string><string>fileName</string><string>RemoteInvocationTraceInterceptor.java</string><string>lineNumber</string><int>77</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.aop.framework.ReflectiveMethodInvocation</string><string>methodName</string><string>proceed</string><string>fileName</string><string>ReflectiveMethodInvocation.java</string><string>lineNumber</string><int>171</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.aop.framework.JdkDynamicAopProxy</string><string>methodName</string><string>invoke</string><string>fileName</string><string>JdkDynamicAopProxy.java</string><string>lineNumber</string><int>204</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>$Proxy19</string><string>methodName</string><string>getUserWS</string><string>fileName</string><null></null><string>lineNumber</string><int>-1</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>sun.reflect.GeneratedMethodAccessor541</string><string>methodName</string><string>invoke</string><string>fileName</string><null></null><string>lineNumber</string><int>-1</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>sun.reflect.DelegatingMethodAccessorImpl</string><string>methodName</string><string>invoke</string><string>fileName</string><string>DelegatingMethodAccessorImpl.java</string><string>lineNumber</string><int>25</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>java.lang.reflect.Method</string><string>methodName</string><string>invoke</string><string>fileName</string><string>Method.java</string><string>lineNumber</string><int>597</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>com.caucho.burlap.server.BurlapSkeleton</string><string>methodName</string><string>invoke</string><string>fileName</string><string>BurlapSkeleton.java</string><string>lineNumber</string><int>173</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>com.caucho.burlap.server.BurlapSkeleton</string><string>methodName</string><string>invoke</string><string>fileName</string><string>BurlapSkeleton.java</string><string>lineNumber</string><int>102</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.remoting.caucho.BurlapExporter</string><string>methodName</string><string>invoke</string><string>fileName</string><string>BurlapExporter.java</string><string>lineNumber</string><int>93</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.remoting.caucho.BurlapServiceExporter</string><string>methodName</string><string>handleRequest</string><string>fileName</string><string>BurlapServiceExporter.java</string><string>lineNumber</string><int>68</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter</string><string>methodName</string><string>handle</string><string>fileName</string><string>HttpRequestHandlerAdapter.java</string><string>lineNumber</string><int>49</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.web.servlet.DispatcherServlet</string><string>methodName</string><string>doDispatch</string><string>fileName</string><string>DispatcherServlet.java</string><string>lineNumber</string><int>875</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.web.servlet.DispatcherServlet</string><string>methodName</string><string>doService</string><string>fileName</string><string>DispatcherServlet.java</string><string>lineNumber</string><int>807</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.web.servlet.FrameworkServlet</string><string>methodName</string><string>processRequest</string><string>fileName</string><string>FrameworkServlet.java</string><string>lineNumber</string><int>571</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.springframework.web.servlet.FrameworkServlet</string><string>methodName</string><string>doPost</string><string>fileName</string><string>FrameworkServlet.java</string><string>lineNumber</string><int>511</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>javax.servlet.http.HttpServlet</string><string>methodName</string><string>service</string><string>fileName</string><string>HttpServlet.java</string><string>lineNumber</string><int>637</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>javax.servlet.http.HttpServlet</string><string>methodName</string><string>service</string><string>fileName</string><string>HttpServlet.java</string><string>lineNumber</string><int>717</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.catalina.core.ApplicationFilterChain</string><string>methodName</string><string>internalDoFilter</string><string>fileName</string><string>ApplicationFilterChain.java</string><string>lineNumber</string><int>290</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.catalina.core.ApplicationFilterChain</string><string>methodName</string><string>doFilter</string><string>fileName</string><string>ApplicationFilterChain.java</string><string>lineNumber</string><int>206</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>com.sapienter.jbilling.client.util.WebServicesAuthenticationFilter</string><string>methodName</string><string>doFilter</string><string>fileName</string><string>WebServicesAuthenticationFilter.java</string><string>lineNumber</string><int>128</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.catalina.core.ApplicationFilterChain</string><string>methodName</string><string>internalDoFilter</string><string>fileName</string><string>ApplicationFilterChain.java</string><string>lineNumber</string><int>235</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.catalina.core.ApplicationFilterChain</string><string>methodName</string><string>doFilter</string><string>fileName</string><string>ApplicationFilterChain.java</string><string>lineNumber</string><int>206</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.catalina.core.StandardWrapperValve</string><string>methodName</string><string>invoke</string><string>fileName</string><string>StandardWrapperValve.java</string><string>lineNumber</string><int>233</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.catalina.core.StandardContextValve</string><string>methodName</string><string>invoke</string><string>fileName</string><string>StandardContextValve.java</string><string>lineNumber</string><int>191</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.catalina.core.StandardHostValve</string><string>methodName</string><string>invoke</string><string>fileName</string><string>StandardHostValve.java</string><string>lineNumber</string><int>128</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.catalina.valves.ErrorReportValve</string><string>methodName</string><string>invoke</string><string>fileName</string><string>ErrorReportValve.java</string><string>lineNumber</string><int>102</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.catalina.core.StandardEngineValve</string><string>methodName</string><string>invoke</string><string>fileName</string><string>StandardEngineValve.java</string><string>lineNumber</string><int>109</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.catalina.connector.CoyoteAdapter</string><string>methodName</string><string>service</string><string>fileName</string><string>CoyoteAdapter.java</string><string>lineNumber</string><int>293</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.coyote.http11.Http11Processor</string><string>methodName</string><string>process</string><string>fileName</string><string>Http11Processor.java</string><string>lineNumber</string><int>849</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler</string><string>methodName</string><string>process</string><string>fileName</string><string>Http11Protocol.java</string><string>lineNumber</string><int>583</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>org.apache.tomcat.util.net.JIoEndpoint$Worker</string><string>methodName</string><string>run</string><string>fileName</string><string>JIoEndpoint.java</string><string>lineNumber</string><int>454</int></map><map><type>java.lang.StackTraceElement</type><string>declaringClass</string><string>java.lang.Thread</string><string>methodName</string><string>run</string><string>fileName</string><string>Thread.java</string><string>lineNumber</string><int>662</int></map></list></map></fault></burlap:reply>
@@ -0,0 +1,13 @@
1
+ require "rubygems"
2
+ require "bundler/setup"
3
+ require "rspec"
4
+ require "active_support"
5
+ require "active_support/core_ext/hash/except"
6
+ require "timecop"
7
+
8
+ require "burlap"
9
+
10
+ # Strip newlines & whitespace between tags - burlap is one string
11
+ def format_xml_as_burlap(xml_string)
12
+ xml_string.gsub!(/(^|\n)\s*/m, "")
13
+ end
metadata ADDED
@@ -0,0 +1,224 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: burlap
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Caius Durling
8
+ - Paul Thornthwaite
9
+ - John Leach
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2023-07-25 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: nokogiri
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: 1.4.4
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: 1.4.4
29
+ - !ruby/object:Gem::Dependency
30
+ name: builder
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '2.0'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '2.0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: rspec
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '3.0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '3.0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: activesupport
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 2.3.4
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: 2.3.4
71
+ - !ruby/object:Gem::Dependency
72
+ name: timecop
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - '='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.3.5
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - '='
83
+ - !ruby/object:Gem::Version
84
+ version: 0.3.5
85
+ - !ruby/object:Gem::Dependency
86
+ name: rake
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ - !ruby/object:Gem::Dependency
100
+ name: yard
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ description: Translates responses from Burlap APIs to ruby, and generates requests
114
+ to send back.
115
+ email:
116
+ - hello@brightbox.com
117
+ executables: []
118
+ extensions: []
119
+ extra_rdoc_files: []
120
+ files:
121
+ - ".github/workflows/ruby.yml"
122
+ - ".gitignore"
123
+ - ".rspec"
124
+ - ".yardopts"
125
+ - Gemfile
126
+ - LICENSE
127
+ - README.md
128
+ - Rakefile
129
+ - burlap.gemspec
130
+ - lib/active_support/ordered_hash.rb
131
+ - lib/burlap.rb
132
+ - lib/burlap/array.rb
133
+ - lib/burlap/base_tag.rb
134
+ - lib/burlap/call.rb
135
+ - lib/burlap/core_ext.rb
136
+ - lib/burlap/core_ext/array.rb
137
+ - lib/burlap/core_ext/boolean.rb
138
+ - lib/burlap/core_ext/float.rb
139
+ - lib/burlap/core_ext/hash.rb
140
+ - lib/burlap/core_ext/integer.rb
141
+ - lib/burlap/core_ext/nil.rb
142
+ - lib/burlap/core_ext/object.rb
143
+ - lib/burlap/core_ext/string.rb
144
+ - lib/burlap/core_ext/symbol.rb
145
+ - lib/burlap/core_ext/time.rb
146
+ - lib/burlap/default_resolver.rb
147
+ - lib/burlap/error.rb
148
+ - lib/burlap/fault.rb
149
+ - lib/burlap/hash.rb
150
+ - lib/burlap/listener.rb
151
+ - lib/burlap/node.rb
152
+ - lib/burlap/version.rb
153
+ - lib/core_ext/time_burlap_iso8601.rb
154
+ - spec/burlap/array_spec.rb
155
+ - spec/burlap/call_spec.rb
156
+ - spec/burlap/core_ext/array_spec.rb
157
+ - spec/burlap/core_ext/class_spec.rb
158
+ - spec/burlap/core_ext/false_class_spec.rb
159
+ - spec/burlap/core_ext/float_spec.rb
160
+ - spec/burlap/core_ext/hash_spec.rb
161
+ - spec/burlap/core_ext/integer_spec.rb
162
+ - spec/burlap/core_ext/nil_class_spec.rb
163
+ - spec/burlap/core_ext/object_spec.rb
164
+ - spec/burlap/core_ext/string_spec.rb
165
+ - spec/burlap/core_ext/symbol_spec.rb
166
+ - spec/burlap/core_ext/time_spec.rb
167
+ - spec/burlap/core_ext/true_class_spec.rb
168
+ - spec/burlap/default_resolver_spec.rb
169
+ - spec/burlap/error_spec.rb
170
+ - spec/burlap/hash_spec.rb
171
+ - spec/burlap/listener_spec.rb
172
+ - spec/burlap/node_spec.rb
173
+ - spec/burlap_spec.rb
174
+ - spec/data/no_such_method.burlap
175
+ - spec/data/record_not_found.burlap
176
+ - spec/spec_helper.rb
177
+ homepage: https://github.com/brightbox/burlap
178
+ licenses:
179
+ - MIT
180
+ metadata:
181
+ rubygems_mfa_required: 'true'
182
+ post_install_message:
183
+ rdoc_options: []
184
+ require_paths:
185
+ - lib
186
+ required_ruby_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">"
189
+ - !ruby/object:Gem::Version
190
+ version: '2.3'
191
+ required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ requirements: []
197
+ rubygems_version: 3.4.10
198
+ signing_key:
199
+ specification_version: 4
200
+ summary: Wrapper for burlap APIs
201
+ test_files:
202
+ - spec/burlap/array_spec.rb
203
+ - spec/burlap/call_spec.rb
204
+ - spec/burlap/core_ext/array_spec.rb
205
+ - spec/burlap/core_ext/class_spec.rb
206
+ - spec/burlap/core_ext/false_class_spec.rb
207
+ - spec/burlap/core_ext/float_spec.rb
208
+ - spec/burlap/core_ext/hash_spec.rb
209
+ - spec/burlap/core_ext/integer_spec.rb
210
+ - spec/burlap/core_ext/nil_class_spec.rb
211
+ - spec/burlap/core_ext/object_spec.rb
212
+ - spec/burlap/core_ext/string_spec.rb
213
+ - spec/burlap/core_ext/symbol_spec.rb
214
+ - spec/burlap/core_ext/time_spec.rb
215
+ - spec/burlap/core_ext/true_class_spec.rb
216
+ - spec/burlap/default_resolver_spec.rb
217
+ - spec/burlap/error_spec.rb
218
+ - spec/burlap/hash_spec.rb
219
+ - spec/burlap/listener_spec.rb
220
+ - spec/burlap/node_spec.rb
221
+ - spec/burlap_spec.rb
222
+ - spec/data/no_such_method.burlap
223
+ - spec/data/record_not_found.burlap
224
+ - spec/spec_helper.rb