screiji 0.1.1 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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