screiji 0.1.1 → 0.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6902c5306120c8dbecf423acca270e77e8b7f039
4
- data.tar.gz: 52872d22a043687d0578771e911d5e7cbf6ec16a
3
+ metadata.gz: 7f7cefbbafbe568a26d5c46ee21d4f30badc0697
4
+ data.tar.gz: 1ac594c102cdd78a305e0e9ad1ddfe31614a3617
5
5
  SHA512:
6
- metadata.gz: c97ed853b8bddf95fd1cb3a82b74a89b53d3091fa20ccdc47071862c920280f172ad475b9495802553aece3750ffe82a611894610f001bf353661dfce2f69dd7
7
- data.tar.gz: 71f6757313e71264765ddfe4a45bf527dcef6656a332ead170d6bf68b63110a1bb35111da6c9923b91619417b761e83540ee0df981c3c9a057f29df869a28261
6
+ metadata.gz: 5696d828c6dfacce501c7ae5677edbeac89187a3962d6046e605b5fe7cbbc6863f1016650397a592a3ea99b69b25c7a5ef324171bc78dd1dfe0f1cbf3bcd8524
7
+ data.tar.gz: b8dcc05083a911bb3306955d275d9e03aeb565d545ec4cc6ea92bfd45425e0072febaf0afa97606907bb1a80d366921665a90e349764aabb0d346f271bb46726
data/lib/screiji/cli.rb CHANGED
@@ -5,7 +5,7 @@ module Screiji
5
5
  class CLI
6
6
  class << self
7
7
  def reiji(file)
8
- puts JSON.pretty_generate(Screiji.example(JSON.parse(File.read(file))))
8
+ puts JSON.pretty_generate(Screiji.example(file))
9
9
  end
10
10
  end
11
11
  end
data/lib/screiji/root.rb CHANGED
@@ -1,8 +1,9 @@
1
-
1
+ require 'json'
2
2
 
3
3
  module Screiji
4
4
  class Root
5
5
  def initialize(schema)
6
+ schema = JSON.parse(File.read(schema)) if schema.is_a? String
6
7
  @schema = schema
7
8
  end
8
9
 
@@ -17,7 +18,7 @@ module Screiji
17
18
  when 'array'
18
19
  parse_array(schema)
19
20
  else
20
- schema['example']
21
+ schema.has_key?('example') ? schema['example'] : example(schema)
21
22
  end
22
23
  end
23
24
 
@@ -38,5 +39,22 @@ module Screiji
38
39
  raise '`items` can include Array or Hash.'
39
40
  end
40
41
  end
42
+
43
+ def example(schema)
44
+ case schema['type']
45
+ when 'boolean'
46
+ [true, false].sample
47
+ when 'integer'
48
+ Random.rand(1 .. 1000)
49
+ when 'number'
50
+ Random.rand(-1000 .. 1000)
51
+ when 'null'
52
+ nil
53
+ when 'string'
54
+ rand(36**5).to_s(36)
55
+ else
56
+ raise "cant generate example for Array and Object"
57
+ end
58
+ end
41
59
  end
42
60
  end
@@ -1,3 +1,3 @@
1
1
  module Screiji
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: screiji
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - gin0606