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 +4 -4
- data/lib/screiji/cli.rb +1 -1
- data/lib/screiji/root.rb +20 -2
- data/lib/screiji/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f7cefbbafbe568a26d5c46ee21d4f30badc0697
|
4
|
+
data.tar.gz: 1ac594c102cdd78a305e0e9ad1ddfe31614a3617
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5696d828c6dfacce501c7ae5677edbeac89187a3962d6046e605b5fe7cbbc6863f1016650397a592a3ea99b69b25c7a5ef324171bc78dd1dfe0f1cbf3bcd8524
|
7
|
+
data.tar.gz: b8dcc05083a911bb3306955d275d9e03aeb565d545ec4cc6ea92bfd45425e0072febaf0afa97606907bb1a80d366921665a90e349764aabb0d346f271bb46726
|
data/lib/screiji/cli.rb
CHANGED
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
|
data/lib/screiji/version.rb
CHANGED