1818# -----------------------------------------------------------------------
1919
2020module MoonScript
21- class MoonJson
22- class Parser
23- def parse : MoonJson
24- dependencies = [] of Installer ::Depdency
25- formatter = Formatter ::Config .new
26- source_directories = %w[]
27- test_directories = %w[]
28- name = " "
21+ class MoonJson
22+ class Parser
23+ def parse : MoonJson
24+ dependencies = [] of Installer ::Dependency
25+ formatter = Formatter ::Config .new
26+ source_directories = %w[]
27+ test_directories = %w[]
28+ name = " "
2929
30- application = Application .new(meta: {} of String => String , orientation: " " , theme_color: " " , css_prefix: " " , display: " " , title: " " , name: " " , head: " " , icon: " " )
30+ application =
31+ Application .new(
32+ meta: {} of String => String ,
33+ orientation: " " ,
34+ theme_color: " " ,
35+ css_prefix: " " ,
36+ display: " " ,
37+ title: " " ,
38+ name: " " ,
39+ head: " " ,
40+ icon: " " )
3141
32- @parser .read_object do |key |
33- case key
34- when " source-directories"
35- source_directories = parse_source_directories
36- when " test-directories"
37- test_directories = parse_test_directories
38- when " dependencies"
39- dependencies = parse_dependencies
40- when " application"
41- application = parse_application
42- when " formatter"
43- formatter = parse_formatter
44- when " moon-version"
45- parse_moon_version
46- when " name"
47- name = parse_name
48- else
49- error! :root_invalid_key do
50- snippet " The root object has an invalid key"
51- end
52- end
53- end
54-
55- rescue JSON ::ParseException
56- error! :root_invalid do
57- snippet " The root item should be an object"
58- end
42+ @parser .read_object do |key |
43+ case key
44+ when " source-directories"
45+ source_directories = parse_source_directories
46+ when " test-directories"
47+ test_directories = parse_test_directories
48+ when " dependencies"
49+ dependencies = parse_dependencies
50+ when " application"
51+ application = parse_application
52+ when " formatter"
53+ formatter = parse_formatter
54+ when " moon-version"
55+ parse_moon_version
56+ when " name"
57+ name = parse_name
58+ else
59+ error! :root_invalid_key do
60+ snippet " The root object has an invalid key:" , key
61+ snippet " It is here:" , snippet_data
5962 end
63+ end
64+ end
65+
66+ MoonJson .new(
67+ source_directories: source_directories,
68+ test_directories: test_directories,
69+ dependencies: dependencies,
70+ application: application,
71+ formatter: formatter,
72+ path: @path ,
73+ name: name)
74+ rescue JSON ::ParseException
75+ error! :root_invalid do
76+ snippet " The root item should be an object, but it's not:" , snippet_data
6077 end
78+ end
6179 end
62- end
80+ end
81+ end
0 commit comments