nose 0.1.0pre2 → 0.1.0pre3

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/nose/serialize.rb +11 -0
  3. metadata +22 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 73c3c8d1a15a6f72a37ee4003dbc0590837a20ad
4
- data.tar.gz: 58fbc4004ed20c788999f239c5d0a360bb60dedf
3
+ metadata.gz: d5d876fa7ea09cd84c7165f6f867c0d822f46f7a
4
+ data.tar.gz: 4eb66bcdca8928d7dba3a73471f338b9de7ee20e
5
5
  SHA512:
6
- metadata.gz: b11a6d50aec06ae7f870da6ebe971fbe59996a793cccc487728a08341a29eaedc353f6ce84428d2b5fe21be01c142e5d9778091ef940792806f0f91010fe6489
7
- data.tar.gz: f8ec551d72c5b05fa7720b927878b74188680620b6ccd8a62c2a46d6505c5284cbd1e5f654cc79b3e7dd2cdaef4cbb0eeed7ed7ae8179a57a3b8e67063cd22f3
6
+ metadata.gz: 78cdb08aefc50f84dead0fc9d9908f10fa3257877e1ee4f9d4e401c121cd015fbc02b9ce53ecc33fbc3e5c7280ffc254d3eb7e70d343242ecb8381e0285bf398
7
+ data.tar.gz: e6254fc691d4b32d79f0937aecdc0992cb1d6e18d3b74e33d8c79c03308fa672782fcd2207febc3336ae88e0f6e481dae31a6b47fa3c69b535e1bd4fafeb9c48
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'json-schema'
3
4
  require 'representable'
4
5
  require 'representable/json'
5
6
  require 'representable/yaml'
@@ -21,6 +22,16 @@ end
21
22
  module NoSE
22
23
  # Serialization of workloads and statement execution plans
23
24
  module Serialize
25
+ # Validate a string of JSON based on the schema
26
+ def validate_json(json)
27
+ schema_file = File.join File.dirname(__FILE__), '..', '..',
28
+ 'data', 'nose', 'nose-schema.json'
29
+ schema = JSON.parse File.read(schema_file)
30
+
31
+ data = JSON.parse json
32
+ JSON::Validator.validate(schema, data)
33
+ end
34
+
24
35
  # Construct a field from a parsed hash
25
36
  class FieldBuilder
26
37
  include Uber::Callable
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nose
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0pre2
4
+ version: 0.1.0pre3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Mior
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-15 00:00:00.000000000 Z
11
+ date: 2016-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faker
@@ -44,6 +44,26 @@ dependencies:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: 0.2.5
47
+ - !ruby/object:Gem::Dependency
48
+ name: json-schema
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: 2.7.0
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 2.7.0
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: 2.7.0
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 2.7.0
47
67
  - !ruby/object:Gem::Dependency
48
68
  name: logging
49
69
  requirement: !ruby/object:Gem::Requirement
@@ -334,26 +354,6 @@ dependencies:
334
354
  - - "~>"
335
355
  - !ruby/object:Gem::Version
336
356
  version: 0.10.0
337
- - !ruby/object:Gem::Dependency
338
- name: json-schema
339
- requirement: !ruby/object:Gem::Requirement
340
- requirements:
341
- - - "~>"
342
- - !ruby/object:Gem::Version
343
- version: 2.7.0
344
- - - ">="
345
- - !ruby/object:Gem::Version
346
- version: 2.7.0
347
- type: :development
348
- prerelease: false
349
- version_requirements: !ruby/object:Gem::Requirement
350
- requirements:
351
- - - "~>"
352
- - !ruby/object:Gem::Version
353
- version: 2.7.0
354
- - - ">="
355
- - !ruby/object:Gem::Version
356
- version: 2.7.0
357
357
  - !ruby/object:Gem::Dependency
358
358
  name: memory_profiler
359
359
  requirement: !ruby/object:Gem::Requirement