mumukit 2.14.1 → 2.15.0

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: 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