mumukit 2.14.1 → 2.15.0

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: 7758fa35fa91acd76501a3469fb23b19f3da4925
4
- data.tar.gz: 43b1fc3ab8de68aab62013edce80032781f23eaf
3
+ metadata.gz: 1d90faff6ed9a3dc75481ae50eb13a33e7534df3
4
+ data.tar.gz: cecd824e8817692c2481b256fb740fee33167bb5
5
5
  SHA512:
6
- metadata.gz: 076f28843295ef90b382371989317369466e75f9907262b9cd71417ee114db07475bbd8e3652609a8d2d250b6027abdc7f9fcf72de0031cb508303c64348676c
7
- data.tar.gz: 023d9451f31f82053b08fc4106f5e41869a5e8dbf8b0d63184ce65d2d5ad8ac9aa1169d641660254c7805cae7b3ad1dce7a66de9efd2b9427c1b046dda8a770f
6
+ metadata.gz: 8a67372bcce5e60275187c8558a89ff09aefdbf3ea5ac47bc4b9b1ba081e5bb63b6e248cc3855c0c79150bf82199e2cf201f4d20a727cb4fcc12946c492b6f0e
7
+ data.tar.gz: 44292d2572d753421317dd3ae3c5db640ed945290770ff41a5db3cb0702f3ce0d5f94714e1b57aef14c9471ab6aba15a224c0e6a30657823d1b0c7d2d4087cf9
@@ -9,4 +9,5 @@ require_relative './defaults/default_query_hook'
9
9
  require_relative './defaults/default_feedback_hook'
10
10
  require_relative './defaults/default_validation_hook'
11
11
  require_relative './defaults/default_test_hook'
12
+ require_relative './defaults/default_try_hook'
12
13
  require_relative './defaults/default_metadata_hook'
@@ -0,0 +1,9 @@
1
+ class Mumukit::Defaults::TryHook < Mumukit::Hook
2
+ def compile(request)
3
+ request
4
+ end
5
+
6
+ def run!(compilation)
7
+ ['unimplemented', :aborted, {result: 'unimplemented', status: :aborted}]
8
+ end
9
+ end
@@ -7,6 +7,10 @@ class Mumukit::Runtime
7
7
  @hook_classes = {}
8
8
  end
9
9
 
10
+ def reset!
11
+ @hook_classes = {}
12
+ end
13
+
10
14
  def hook_defined?(hook_name)
11
15
  hook_name.to_default_mumukit_hook_class rescue raise "Wrong hook #{hook_name}"
12
16
 
@@ -55,6 +55,10 @@ class Mumukit::Server::App < Sinatra::Base
55
55
  JSON.generate(server.query!(parse_request))
56
56
  end
57
57
 
58
+ post '/try' do
59
+ JSON.generate(server.try!(parse_request))
60
+ end
61
+
58
62
  get '/*' do
59
63
  redirect settings.mumuki_url
60
64
  end
@@ -12,6 +12,10 @@ class Mumukit::Server::ResponseBuilder
12
12
  @response.merge!(expectationResults: r) if r.present?
13
13
  end
14
14
 
15
+ def add_try_results(r)
16
+ @response = unstructured_base_response(r)
17
+ @response.merge!(queryResult: r[2])
18
+ end
15
19
 
16
20
  def add_feedback(f)
17
21
  @response.merge!(feedback: f) if f.present?
@@ -57,10 +57,23 @@ class Mumukit::Server::TestServer
57
57
  end
58
58
  end
59
59
 
60
+ def try!(request)
61
+ respond_to(request) do |r|
62
+ results = run_try!(r)
63
+ Mumukit::Server::ResponseBuilder.build do
64
+ add_try_results(results)
65
+ end
66
+ end
67
+ end
68
+
60
69
  def run_query!(request)
61
70
  compile_and_run runtime.query_hook, request
62
71
  end
63
72
 
73
+ def run_try!(request)
74
+ compile_and_run runtime.try_hook, request
75
+ end
76
+
64
77
  def run_tests!(request)
65
78
  return ['', :passed] if request.test.blank?
66
79
 
@@ -34,14 +34,23 @@ module Mumukit
34
34
  def compile_json_file_content(request)
35
35
  expectations, exceptions = compile_expectations_and_exceptions request
36
36
  {
37
- sample: compile_sample(request),
38
- spec: {
39
- expectations: expectations,
40
- smellsSet: {
41
- tag: 'AllSmells',
42
- exclude: (exceptions + default_smell_exceptions)
43
- }
44
- }
37
+ sample: compile_sample(request),
38
+ spec: {
39
+ expectations: expectations,
40
+ smellsSet: {
41
+ tag: 'AllSmells',
42
+ exclude: (exceptions + default_smell_exceptions)
43
+ },
44
+ domainLanguage: domain_language
45
+ }
46
+ }
47
+ end
48
+
49
+ def domain_language
50
+ {
51
+ caseStyle: "CamelCase",
52
+ minimumIdentifierSize: 3,
53
+ jargon: []
45
54
  }
46
55
  end
47
56
 
@@ -1,3 +1,3 @@
1
1
  module Mumukit
2
- VERSION = '2.14.1'
2
+ VERSION = '2.15.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mumukit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.14.1
4
+ version: 2.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franco Leonardo Bulgarelli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-11 00:00:00.000000000 Z
11
+ date: 2017-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -251,6 +251,7 @@ files:
251
251
  - lib/mumukit/defaults/default_metadata_hook.rb
252
252
  - lib/mumukit/defaults/default_query_hook.rb
253
253
  - lib/mumukit/defaults/default_test_hook.rb
254
+ - lib/mumukit/defaults/default_try_hook.rb
254
255
  - lib/mumukit/defaults/default_validation_hook.rb
255
256
  - lib/mumukit/defaults/default_version_hook.rb
256
257
  - lib/mumukit/env.rb