mumukit-inspection 3.6.2 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mumukit/inspection.rb +25 -34
- data/lib/mumukit/inspection/version.rb +2 -2
- data/lib/mumukit/locales/en.yml +16 -0
- data/lib/mumukit/locales/es.yml +16 -0
- data/lib/mumukit/locales/pt.yml +16 -0
- metadata +60 -28
- data/lib/locales/en.yml +0 -183
- data/lib/locales/es.yml +0 -199
- data/lib/locales/pt.yml +0 -190
- data/lib/mumukit/inspection/expectation.rb +0 -107
- data/lib/mumukit/inspection/i18n.rb +0 -53
- data/lib/mumukit/inspection/target.rb +0 -68
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd19d9b02be4c4299a532621f5de1874a26e0ec2acdcd3744066b8f96fa7f72a
|
4
|
+
data.tar.gz: cdfecb5ce6bd98fe9a1666793ec9bf83b61a6d7d85c92d13520211b04133b03e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2a3888189acbb6e93e752700411e5041345abe9272db0d8076e22b2a51ce606515c5c835541ce962df7f89d20c34d8f2f4ea39f7bb98791423f820be7c9c1833
|
7
|
+
data.tar.gz: 78e30a2ce9fde63f548d56667cf938334ef4efaaca044494d55616bfedacd5a8c262a81173b689af39b7318eff3871314c399a658f7d945e958951b7f2918c13
|
data/lib/mumukit/inspection.rb
CHANGED
@@ -1,47 +1,38 @@
|
|
1
|
-
require '
|
1
|
+
require 'mulang'
|
2
2
|
|
3
|
-
I18n.load_translations_path File.join(__dir__, '
|
4
|
-
|
5
|
-
require_relative '../mumukit/inspection/version'
|
3
|
+
I18n.load_translations_path File.join(__dir__, 'locales', '*.yml')
|
6
4
|
|
7
5
|
module Mumukit
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
def to_s
|
19
|
-
"#{negated_to_s}#{type}#{target_to_s}"
|
6
|
+
module Inspection
|
7
|
+
module Extension
|
8
|
+
def new_inspection(match)
|
9
|
+
if match
|
10
|
+
Mulang::Inspection.new match['type'],
|
11
|
+
Mulang::Inspection::Target.new(:unknown, match['target']),
|
12
|
+
negated: match['negation'].present?,
|
13
|
+
i18n_namespace: 'mumukit.inspection'
|
14
|
+
end
|
15
|
+
end
|
20
16
|
end
|
21
17
|
|
22
|
-
|
23
|
-
|
24
|
-
end
|
18
|
+
module Css
|
19
|
+
extend Mumukit::Inspection::Extension
|
25
20
|
|
26
|
-
|
27
|
-
target ? ":#{target.to_s}" : nil
|
28
|
-
end
|
21
|
+
REGEXP = /^(?<negation>Not:)?(?<type>DeclaresStyle|DeclaresTag):(?<target>.*)$/
|
29
22
|
|
30
|
-
|
31
|
-
|
32
|
-
binding_s[13..-1]
|
33
|
-
else
|
34
|
-
binding_s
|
23
|
+
def self.parse(inspection_s)
|
24
|
+
new_inspection REGEXP.match(inspection_s)
|
35
25
|
end
|
36
26
|
end
|
37
27
|
|
38
|
-
|
39
|
-
|
40
|
-
|
28
|
+
module Source
|
29
|
+
extend Mumukit::Inspection::Extension
|
30
|
+
|
31
|
+
REGEXP = /^(?<negation>Not:)?(?<type>SourceRepeats|SourceContains|SourceEquals|SourceEqualsIgnoreSpaces):(?<target>.*)$/
|
32
|
+
|
33
|
+
def self.parse(inspection_s)
|
34
|
+
new_inspection REGEXP.match(inspection_s)
|
35
|
+
end
|
41
36
|
end
|
42
37
|
end
|
43
38
|
end
|
44
|
-
|
45
|
-
require_relative '../mumukit/inspection/target'
|
46
|
-
require_relative '../mumukit/inspection/expectation'
|
47
|
-
require_relative '../mumukit/inspection/i18n'
|
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
en:
|
3
|
+
mumukit:
|
4
|
+
inspection:
|
5
|
+
DeclaresStyle_except: '%{binding} %{must} declare style distinct from %{target}'
|
6
|
+
DeclaresStyle_like: '%{binding} %{must} declare a style similar to %{target}'
|
7
|
+
DeclaresStyle_named: '%{binding} %{must} declare a style %{target}'
|
8
|
+
DeclaresStyle: '%{binding} %{must} declare styles'
|
9
|
+
DeclaresTag_except: '%{binding} %{must} declare a tag distinct from %{target}'
|
10
|
+
DeclaresTag_like: '%{binding} %{must} declare a tag similar to %{target}'
|
11
|
+
DeclaresTag_named: '%{binding} %{must} declare a tag %{target}'
|
12
|
+
DeclaresTag: '%{binding} %{must} declare a tag'
|
13
|
+
SourceContains_named: 'solution %{must} use %{target}'
|
14
|
+
SourceEquals_named: 'solution %{must} be equal to %{target}'
|
15
|
+
SourceEqualsIgnoreSpaces_named: 'solution %{must} be equal to %{target}'
|
16
|
+
SourceRepeats_named: 'solution %{must} use %{target} more than one time'
|
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
es:
|
3
|
+
mumukit:
|
4
|
+
inspection:
|
5
|
+
DeclaresStyle_except: '%{binding} %{must} declarar un estilo diferente a %{target}'
|
6
|
+
DeclaresStyle_like: '%{binding} %{must} declarar un estilo parecido a %{target}'
|
7
|
+
DeclaresStyle_named: '%{binding} %{must} declarar un estilo %{target}'
|
8
|
+
DeclaresStyle: '%{binding} %{must} declarar un estilo'
|
9
|
+
DeclaresTag_except: '%{binding} %{must} declarar un elemento diferente a %{target}'
|
10
|
+
DeclaresTag_like: '%{binding} %{must} declarar un elemento parecido a %{target}'
|
11
|
+
DeclaresTag_named: '%{binding} %{must} declarar un elemento %{target}'
|
12
|
+
DeclaresTag: '%{binding} %{must} declarar un elemento'
|
13
|
+
SourceContains_named: 'la solución %{must} usar %{target}'
|
14
|
+
SourceEquals_named: 'la solución %{must} ser igual a %{target}'
|
15
|
+
SourceEqualsIgnoreSpaces_named: 'la solución %{must} ser igual a %{target}'
|
16
|
+
SourceRepeats_named: 'la solución %{must} usar %{target} más de una vez'
|
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
pt:
|
3
|
+
mumukit:
|
4
|
+
inspection:
|
5
|
+
DeclaresStyle_except: '%{binding} %{must} declarar um estilo diferentes de %{target}'
|
6
|
+
DeclaresStyle_like: '%{binding} %{must} declarar um estilo semelhante a %{target}'
|
7
|
+
DeclaresStyle_named: '%{binding} %{must} declarar um estilo %{target}'
|
8
|
+
DeclaresStyle: '%{binding} %{must} declarar um estilo'
|
9
|
+
DeclaresTag_except: '%{binding} %{must} declarar uma etiqueta diferente de %{target}'
|
10
|
+
DeclaresTag_like: '%{binding} %{must} declarar uma etiqueta similar a %{target}'
|
11
|
+
DeclaresTag_named: '%{binding} %{must} declarar uma etiqueta %{target}'
|
12
|
+
DeclaresTag: '%{binding} %{must} declarar uma etiqueta'
|
13
|
+
SourceContains_named: 'a solução %{must} usar %{target}'
|
14
|
+
SourceEquals_named: 'a solução %{must} ser igual a %{target}'
|
15
|
+
SourceEqualsIgnoreSpaces_named: 'a solução %{must} ser igual a %{target}'
|
16
|
+
SourceRepeats_named: 'a solução %{must} usar %{target} mais de uma vez'
|
metadata
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mumukit-inspection
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.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: 2019-
|
11
|
+
date: 2019-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mumukit-core
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0
|
19
|
+
version: '1.0'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '2'
|
@@ -24,68 +24,102 @@ dependencies:
|
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - "
|
27
|
+
- - ">"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '0
|
29
|
+
version: '1.0'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '2'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
34
|
+
name: mulang
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '5.0'
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '5.0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: bundler
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
38
52
|
- !ruby/object:Gem::Version
|
39
53
|
version: '1.7'
|
54
|
+
- - "<"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '3'
|
40
57
|
type: :development
|
41
58
|
prerelease: false
|
42
59
|
version_requirements: !ruby/object:Gem::Requirement
|
43
60
|
requirements:
|
44
|
-
- - "
|
61
|
+
- - ">="
|
45
62
|
- !ruby/object:Gem::Version
|
46
63
|
version: '1.7'
|
64
|
+
- - "<"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '3'
|
47
67
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
68
|
+
name: codeclimate-test-reporter
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0'
|
74
|
+
type: :development
|
75
|
+
prerelease: false
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: activesupport
|
49
83
|
requirement: !ruby/object:Gem::Requirement
|
50
84
|
requirements:
|
51
85
|
- - "~>"
|
52
86
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
87
|
+
version: '5.0'
|
54
88
|
type: :development
|
55
89
|
prerelease: false
|
56
90
|
version_requirements: !ruby/object:Gem::Requirement
|
57
91
|
requirements:
|
58
92
|
- - "~>"
|
59
93
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
94
|
+
version: '5.0'
|
61
95
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
96
|
+
name: rake
|
63
97
|
requirement: !ruby/object:Gem::Requirement
|
64
98
|
requirements:
|
65
|
-
- -
|
99
|
+
- - "~>"
|
66
100
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
101
|
+
version: '10.0'
|
68
102
|
type: :development
|
69
103
|
prerelease: false
|
70
104
|
version_requirements: !ruby/object:Gem::Requirement
|
71
105
|
requirements:
|
72
|
-
- -
|
106
|
+
- - "~>"
|
73
107
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
108
|
+
version: '10.0'
|
75
109
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
110
|
+
name: rspec
|
77
111
|
requirement: !ruby/object:Gem::Requirement
|
78
112
|
requirements:
|
79
|
-
- - "
|
113
|
+
- - "~>"
|
80
114
|
- !ruby/object:Gem::Version
|
81
|
-
version: '0'
|
115
|
+
version: '3.0'
|
82
116
|
type: :development
|
83
117
|
prerelease: false
|
84
118
|
version_requirements: !ruby/object:Gem::Requirement
|
85
119
|
requirements:
|
86
|
-
- - "
|
120
|
+
- - "~>"
|
87
121
|
- !ruby/object:Gem::Version
|
88
|
-
version: '0'
|
122
|
+
version: '3.0'
|
89
123
|
description:
|
90
124
|
email:
|
91
125
|
- flbulgarelli@yahoo.com.ar
|
@@ -93,14 +127,11 @@ executables: []
|
|
93
127
|
extensions: []
|
94
128
|
extra_rdoc_files: []
|
95
129
|
files:
|
96
|
-
- lib/locales/en.yml
|
97
|
-
- lib/locales/es.yml
|
98
|
-
- lib/locales/pt.yml
|
99
130
|
- lib/mumukit/inspection.rb
|
100
|
-
- lib/mumukit/inspection/expectation.rb
|
101
|
-
- lib/mumukit/inspection/i18n.rb
|
102
|
-
- lib/mumukit/inspection/target.rb
|
103
131
|
- lib/mumukit/inspection/version.rb
|
132
|
+
- lib/mumukit/locales/en.yml
|
133
|
+
- lib/mumukit/locales/es.yml
|
134
|
+
- lib/mumukit/locales/pt.yml
|
104
135
|
homepage: ''
|
105
136
|
licenses:
|
106
137
|
- MIT
|
@@ -120,7 +151,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
151
|
- !ruby/object:Gem::Version
|
121
152
|
version: '0'
|
122
153
|
requirements: []
|
123
|
-
|
154
|
+
rubyforge_project:
|
155
|
+
rubygems_version: 2.7.7
|
124
156
|
signing_key:
|
125
157
|
specification_version: 4
|
126
158
|
summary: Minimal library for parsing Mumuki inspection language
|
data/lib/locales/en.yml
DELETED
@@ -1,183 +0,0 @@
|
|
1
|
-
---
|
2
|
-
en:
|
3
|
-
mumukit:
|
4
|
-
expectation:
|
5
|
-
must_not: must not
|
6
|
-
must: must
|
7
|
-
solution: solution
|
8
|
-
inspection:
|
9
|
-
Assigns_except: '%{binding} %{must} assign something distinct from %{target}'
|
10
|
-
Assigns_like: '%{binding} %{must} assign something similar to %{target}'
|
11
|
-
Assigns_named: '%{binding} %{must} assign %{target}'
|
12
|
-
Assigns: '%{binding} %{must} perform assignments'
|
13
|
-
Calls_except: '%{binding} %{must} delegate to something distinct from %{target}'
|
14
|
-
Calls_like: '%{binding} %{must} delegate to something similar to %{target}'
|
15
|
-
Calls_named: '%{binding} %{must} use %{target}'
|
16
|
-
Calls: '%{binding} %{must} delegate'
|
17
|
-
Declares_except: '%{binding} %{must} contain declarations distinct from %{target}'
|
18
|
-
Declares_like: '%{binding} %{must} declare an identifier similar to %{target}'
|
19
|
-
Declares_named: '%{binding} %{must} declare %{target}'
|
20
|
-
Declares: '%{binding} %{must} contain declarations'
|
21
|
-
DeclaresAttribute_except: '%{binding} %{must} declare attributes distinct from %{target}'
|
22
|
-
DeclaresAttribute_like: '%{binding} %{must} declare an attribute similar to %{target}'
|
23
|
-
DeclaresAttribute_named: '%{binding} %{must} declare an attribute %{target}'
|
24
|
-
DeclaresAttribute: '%{binding} %{must} declare attributes'
|
25
|
-
DeclaresClass_except: '%{binding} %{must} declare classes distinct from %{target}'
|
26
|
-
DeclaresClass_like: '%{binding} %{must} declare a class similar to %{target}'
|
27
|
-
DeclaresClass_named: '%{binding} %{must} declare a class %{target}'
|
28
|
-
DeclaresClass: '%{binding} %{must} declare classes'
|
29
|
-
DeclaresComputation_except: '%{binding} %{must} declare computations distinct from %{target}'
|
30
|
-
DeclaresComputation_like: '%{binding} %{must} declare a computation similar to %{target}'
|
31
|
-
DeclaresComputation_named: '%{binding} %{must} declare a computation %{target}'
|
32
|
-
DeclaresComputation: '%{binding} %{must} declare computations'
|
33
|
-
DeclaresComputationWithArity0_named: '%{target} %{must} have zero parameters'
|
34
|
-
DeclaresComputationWithArity1_named: '%{target} %{must} have one parameter'
|
35
|
-
DeclaresComputationWithArity2_named: '%{target} %{must} have 2 parameters'
|
36
|
-
DeclaresComputationWithArity3_named: '%{target} %{must} have 3 parameters'
|
37
|
-
DeclaresComputationWithArity4_named: '%{target} %{must} have 4 parameters'
|
38
|
-
DeclaresComputationWithArity5_named: '%{target} %{must} have 5 parameters'
|
39
|
-
DeclaresEntryPoint: '%{binding} %{must} declare an entry point'
|
40
|
-
DeclaresEnumeration_except: '%{binding} %{must} declare enumerations distinct from %{target}'
|
41
|
-
DeclaresEnumeration_like: '%{binding} %{must} declare an enumeration like %{target}'
|
42
|
-
DeclaresEnumeration_named: '%{binding} %{must} declare an enumeration %{target}'
|
43
|
-
DeclaresEnumeration: '%{binding} %{must} declare enumerations'
|
44
|
-
DeclaresFact_except: '%{binding} %{must} declare facts distinct from %{target}'
|
45
|
-
DeclaresFact_like: '%{binding} %{must} declare a fact similar to %{target}'
|
46
|
-
DeclaresFact_named: '%{binding} %{must} declare a fact %{target}'
|
47
|
-
DeclaresFact: '%{binding} %{must} declare facts'
|
48
|
-
DeclaresFunction_except: '%{binding} %{must} declare functions distinct from %{target}'
|
49
|
-
DeclaresFunction_like: '%{binding} %{must} declare a function similar to %{target}'
|
50
|
-
DeclaresFunction_named: '%{binding} %{must} declare a function %{target}'
|
51
|
-
DeclaresFunction: '%{binding} %{must} debe declare functions'
|
52
|
-
DeclaresInterface_except: '%{binding} %{must} declare interfaces distinct from %{target}'
|
53
|
-
DeclaresInterface_like: '%{binding} %{must} declare an interface like %{target}'
|
54
|
-
DeclaresInterface_named: '%{binding} %{must} declare an interface %{target}'
|
55
|
-
DeclaresInterface: '%{binding} %{must} declare interfaces'
|
56
|
-
DeclaresMethod_except: '%{binding} %{must} declare methods distinct from %{target}'
|
57
|
-
DeclaresMethod_like: '%{binding} %{must} declare a method similar to %{target}'
|
58
|
-
DeclaresMethod_named: '%{binding} %{must} declare a method %{target}'
|
59
|
-
DeclaresMethod: '%{binding} %{must} declare methods'
|
60
|
-
DeclaresObject_except: '%{binding} %{must} declare objects distinct from %{target}'
|
61
|
-
DeclaresObject_like: '%{binding} %{must} declare an object similar to %{target}'
|
62
|
-
DeclaresObject_named: '%{binding} %{must} declare an object %{target}'
|
63
|
-
DeclaresObject: '%{binding} %{must} declare objects'
|
64
|
-
DeclaresPredicate_except: '%{binding} %{must} declare a predicate distinct from %{target}'
|
65
|
-
DeclaresPredicate_like: '%{binding} %{must} declare a predicate similar to %{target}'
|
66
|
-
DeclaresPredicate_named: '%{binding} %{must} declare predicates %{target}'
|
67
|
-
DeclaresPredicate: '%{binding} %{must} declare predicates'
|
68
|
-
DeclaresProcedure_except: '%{binding} %{must} declare procedures distinct from %{target}'
|
69
|
-
DeclaresProcedure_like: '%{binding} %{must} declare a procedure similar to %{target}'
|
70
|
-
DeclaresProcedure_named: '%{binding} %{must} declare a procedure %{target}'
|
71
|
-
DeclaresProcedure: '%{binding} %{must} declare procedures'
|
72
|
-
DeclaresRecursively_named: '%{target} %{must} declared recursively'
|
73
|
-
DeclaresRule_except: '%{binding} %{must} declare rules distinct from %{target}'
|
74
|
-
DeclaresRule_like: '%{binding} %{must} declare a rule similar to %{target}'
|
75
|
-
DeclaresRule_named: '%{binding} %{must} declare a rule %{target}'
|
76
|
-
DeclaresRule: '%{binding} %{must} debe declare rules'
|
77
|
-
DeclaresStyles_except: '%{binding} %{must} declare style distinct from %{target}'
|
78
|
-
DeclaresStyles_like: '%{binding} %{must} declare a style similar to %{target}'
|
79
|
-
DeclaresStyles_named: '%{binding} %{must} declare a style %{target}'
|
80
|
-
DeclaresStyles: '%{binding} %{must} declare styles'
|
81
|
-
DeclaresTag_except: '%{binding} %{must} declare a tag distinct from %{target}'
|
82
|
-
DeclaresTag_like: '%{binding} %{must} declare a tag similar to %{target}'
|
83
|
-
DeclaresTag_named: '%{binding} %{must} declare a tag %{target}'
|
84
|
-
DeclaresTag: '%{binding} %{must} declare a tag'
|
85
|
-
DeclaresTypeAlias_except: '%{binding} %{must} declare type aliases distinct from %{target}'
|
86
|
-
DeclaresTypeAlias_like: '%{binding} %{must} declare a type alias similar to %{target}'
|
87
|
-
DeclaresTypeAlias_named: '%{binding} %{must} declare a type alias %{target}'
|
88
|
-
DeclaresTypeAlias: '%{binding} %{must} declare type aliases'
|
89
|
-
DeclaresTypeSignature_except: '%{binding} %{must} declare a type signature distinct from %{target}'
|
90
|
-
DeclaresTypeSignature_like: '%{binding} %{must} declare a type signature for something like %{target}'
|
91
|
-
DeclaresTypeSignature_named: '%{binding} %{must} declare a type signature %{target}'
|
92
|
-
DeclaresTypeSignature: '%{binding} %{must} decarar type signatures'
|
93
|
-
DeclaresVariable_except: '%{binding} %{must} declare variables distinct from %{target}'
|
94
|
-
DeclaresVariable_like: '%{binding} %{must} declare a variable similar to %{target}'
|
95
|
-
DeclaresVariable_named: '%{binding} %{must} declare a variable %{target}'
|
96
|
-
DeclaresVariable: '%{binding} %{must} debe declare variables'
|
97
|
-
DiscardsExceptions: '%{binding} is ignoring exceptions silently'
|
98
|
-
DoesConsolePrint: '%{binding} is printing to the console'
|
99
|
-
DoesNilTest: '%{binding} does <i>%{keyword_null}</i> tests'
|
100
|
-
DoesNullTest: '%{binding} does <i>%{keyword_null}</i> tests'
|
101
|
-
DoesTypeTest: '%{binding} string type tests'
|
102
|
-
HasAssignmentReturn: '%{binding} returns the result of an assignment'
|
103
|
-
HasCodeDuplication: '%{binding} has code duplication'
|
104
|
-
HasEmptyIfBranches: '%{binding} has empty <i>%{keyword_if}</i> branches'
|
105
|
-
HasLongParameterList: '%{binding} has too many parameters. You may be missing an abstraction.'
|
106
|
-
HasMisspelledBindings: '%{binding} is misspelled'
|
107
|
-
HasMisspelledIdentifiers: '%{binding} is misspelled'
|
108
|
-
HasRedundantBooleanComparison: '%{binding} makes unnecesary boolean comparisons'
|
109
|
-
HasRedundantGuards: '%{binding} has unnecessary guards'
|
110
|
-
HasRedundantIf: '%{binding} has unnecessary <i>%{keyword_if}</i>s'
|
111
|
-
HasRedundantLambda: '%{binding} has unnecessary lambdas'
|
112
|
-
HasRedundantLocalVariableReturn: '%{binding} has unnecesary local variables; please try returning the expression directly'
|
113
|
-
HasRedundantParameter: '%{binding} has unnecessary parameters, that can be removed using point-free'
|
114
|
-
HasRedundantReduction: '%{binding} uses <i>%{keyword_is}</i>, but it does not artihmetic'
|
115
|
-
HasTooManyMethods: '%{binding} has too many methods'
|
116
|
-
HasTooShortBindings: '%{binding} is a too short identifier'
|
117
|
-
HasTooShortIdentifiers: '%{binding} is a too short identifier'
|
118
|
-
HasUnreachableCode: '%{binding} has unreachable code'
|
119
|
-
HasWrongCaseBindings: '%{binding} does not honor case conventions'
|
120
|
-
HasWrongCaseIdentifiers: '%{binding} does not honor case conventions'
|
121
|
-
Implements_except: '%{binding} %{must} implement interfaces distinct from %{target}'
|
122
|
-
Implements_like: '%{binding} %{must} implement interfaces like %{target}'
|
123
|
-
Implements_named: '%{binding} %{must} implement %{target}'
|
124
|
-
Implements: '%{binding} %{must} implement intefaces'
|
125
|
-
Includes_except: '%{binding} %{must} include mixins distinct from %{target}'
|
126
|
-
Includes_like: '%{binding} %{must} include a mixin similar to %{target}'
|
127
|
-
Includes_named: '%{binding} %{must} include the %{target} mixin'
|
128
|
-
Includes: '%{binding} %{must} include mixins'
|
129
|
-
Instantiates_except: '%{binding} %{must} instantiate classes distinct from %{target}'
|
130
|
-
Instantiates_like: '%{binding} %{must} instantiate classes like %{target}'
|
131
|
-
Instantiates_named: '%{binding} %{must} instantiate %{target}'
|
132
|
-
Instantiates: '%{binding} %{must} instantiate objects'
|
133
|
-
IsLongCode: '%{binding} is too long'
|
134
|
-
OverridesEqualOrHashButNotBoth: '%{binding} overrides <i>equals</i> or <i>hash</i> methods, but not both'
|
135
|
-
Raises_except: '%{binding} %{must} throw exceptions distinct from %{target}'
|
136
|
-
Raises_like: '%{binding} %{must} throw exceptions like %{target}'
|
137
|
-
Raises_named: '%{binding} %{must} throw %{target}'
|
138
|
-
Raises: '%{binding} %{must} throw exceptions'
|
139
|
-
ReturnsNil: '%{binding} retuns <i>%{keyword_null}</i>, which is a bad practice'
|
140
|
-
ReturnsNull: '%{binding} retuns <i>%{keyword_null}</i>, which is a bad practice'
|
141
|
-
SourceContains_named: 'solution %{must} use %{target}'
|
142
|
-
SourceEquals_named: 'solution %{must} be equal to %{target}'
|
143
|
-
SourceEqualsIgnoreSpaces_named: 'solution %{must} be equal to %{target}'
|
144
|
-
SourceRepeats_named: 'solution %{must} use %{target} more than one time'
|
145
|
-
TypesAs_named: '%{binding} %{must} type as %{target}'
|
146
|
-
TypesAs: '%{binding} %{must} type'
|
147
|
-
TypesParameterAs_except: '%{binding} %{must} type parameters with a type distinct from %{target}'
|
148
|
-
TypesParameterAs_like: '%{binding} %{must} type parameters with a type similar to %{target}'
|
149
|
-
TypesParameterAs_named: '%{binding} %{must} type parameters with type %{target}'
|
150
|
-
TypesParameterAs: '%{binding} %{must} type parameters'
|
151
|
-
TypesReturnAs_named: '%{binding} %{must} type its return value as %{target}'
|
152
|
-
TypesReturnAs: '%{binding} %{must} type its return value'
|
153
|
-
Uses_except: '%{binding} %{must} delegate to something distinct from %{target}'
|
154
|
-
Uses_like: '%{binding} %{must} delegate to something similar to %{target}'
|
155
|
-
Uses_named: '%{binding} %{must} use %{target}'
|
156
|
-
Uses: '%{binding} %{must} delegate'
|
157
|
-
UsesAnonymousVariable: '%{binding} %{must} use an annonymous variable'
|
158
|
-
UsesComposition: '%{binding} %{must} use composition'
|
159
|
-
UsesComprehension: '%{binding} %{must} use comprehensions'
|
160
|
-
UsesConditional: '%{binding} %{must} use conditionals'
|
161
|
-
UsesCut: '%{binding} uses <i>!</li> operator, which is a bad practice'
|
162
|
-
UsesDyamicPolymorphism: '%{binding} %{must} use polymorphism'
|
163
|
-
UsesDynamicMethodOverload: '%{binding} %{must} use overload'
|
164
|
-
UsesFail: '%{binding} uses <i>%{keyword_fail}</li>, which is a bad practice'
|
165
|
-
UsesFindall: '%{binding} %{must} use <i>%{keyword_findall}</i>'
|
166
|
-
UsesForall: '%{binding} %{must} use <i>%{keyword_forall}</i>'
|
167
|
-
UsesForeach: '%{binding} %{must} use <i>%{keyword_foreach}</i>'
|
168
|
-
UsesGuards: '%{binding} %{must} use guards'
|
169
|
-
UsesIf: '%{binding} %{must} use <i>%{keyword_if}</i>'
|
170
|
-
UsesLambda: '%{binding} %{must} use lambda expressions'
|
171
|
-
UsesLoop: '%{binding} %{must} use a loop'
|
172
|
-
UsesMixin: '%{binding} %{must} use mixins'
|
173
|
-
UsesNot: '%{binding} %{must} use not'
|
174
|
-
UsesObjectComposition: '%{binding} %{must} use composition'
|
175
|
-
UsesPatternMatching: '%{binding} %{must} use pattern matching'
|
176
|
-
UsesRepeat: '%{binding} %{must} use <i>%{keyword_repeat}</i>'
|
177
|
-
UsesRepeatOf: '%{binding} %{must} use <i>%{keyword_repeat}</i>'
|
178
|
-
UsesStaticMethodOverload: '%{binding} %{must} use overload'
|
179
|
-
UsesStaticPolymorphism: '%{binding} %{must} use polymorphism'
|
180
|
-
UsesSwitch: '%{binding} %{must} use a <i>%{keyword_switch}</i>'
|
181
|
-
UsesTemplateMethod: '%{binding} %{must} use a template method'
|
182
|
-
UsesUnificationOperator: '%{binding} uses the unification operator (=)'
|
183
|
-
UsesWhile: '%{binding} %{must} use <i>%{keyword_while}</i>'
|
data/lib/locales/es.yml
DELETED
@@ -1,199 +0,0 @@
|
|
1
|
-
---
|
2
|
-
es:
|
3
|
-
mumukit:
|
4
|
-
expectation:
|
5
|
-
must_not: no debe
|
6
|
-
must: debe
|
7
|
-
solution: la solución
|
8
|
-
inspection:
|
9
|
-
Assigns_except: '%{binding} %{must} asignar a algo diferente a %{target}'
|
10
|
-
Assigns_like: '%{binding} %{must} asignar algo parecido a %{target}'
|
11
|
-
Assigns_named: '%{binding} %{must} asignar %{target}'
|
12
|
-
Assigns: '%{binding} %{must} realizar asignaciones'
|
13
|
-
Calls_except: '%{binding} %{must} delegar en algo diferente a %{target}'
|
14
|
-
Calls_like: '%{binding} %{must} delegar en algo parecido a %{target}'
|
15
|
-
Calls_named: '%{binding} %{must} utilizar %{target}'
|
16
|
-
Calls: '%{binding} %{must} delegar'
|
17
|
-
Declares_except: '%{binding} %{must} contener declaraciones distintas a %{target}'
|
18
|
-
Declares_like: '%{binding} %{must} declarar un identificador parecido a %{target}'
|
19
|
-
Declares_named: '%{binding} %{must} declarar %{target}'
|
20
|
-
Declares: '%{binding} %{must} contener declaraciones'
|
21
|
-
DeclaresAttribute_except: '%{binding} %{must} declarar atributos diferentes a %{target}'
|
22
|
-
DeclaresAttribute_like: '%{binding} %{must} declarar un atributo parecido a %{target}'
|
23
|
-
DeclaresAttribute_named: '%{binding} %{must} declarar un atributo %{target}'
|
24
|
-
DeclaresAttribute: '%{binding} %{must} declarar atributos'
|
25
|
-
DeclaresClass_except: '%{binding} %{must} declarar clases diferentes a %{target}'
|
26
|
-
DeclaresClass_like: '%{binding} %{must} declarar una clase parecida a %{target}'
|
27
|
-
DeclaresClass_named: '%{binding} %{must} declarar una clase %{target}'
|
28
|
-
DeclaresClass: '%{binding} %{must} declarar clases'
|
29
|
-
DeclaresComputation_except: '%{binding} %{must} declarar computaciones diferentes a %{target}'
|
30
|
-
DeclaresComputation_like: '%{binding} %{must} declarar una computación parecida a %{target}'
|
31
|
-
DeclaresComputation_named: '%{binding} %{must} declarar una computación %{target}'
|
32
|
-
DeclaresComputation: '%{binding} %{must} declarar computaciones'
|
33
|
-
DeclaresComputationWithArity0_named: '%{target} %{must} declarar cero parametros'
|
34
|
-
DeclaresComputationWithArity1_named: '%{target} %{must} tener un parámetro'
|
35
|
-
DeclaresComputationWithArity2_named: '%{target} %{must} tener dos parámetros'
|
36
|
-
DeclaresComputationWithArity3_named: '%{target} %{must} tener tres parámetros'
|
37
|
-
DeclaresComputationWithArity4_named: '%{target} %{must} tener cuatro parámetros'
|
38
|
-
DeclaresComputationWithArity5_named: '%{target} %{must} tener cinco parámetros'
|
39
|
-
DeclaresEntryPoint: '%{binding} %{must} declarar un punto de entrada'
|
40
|
-
DeclaresEnumeration_except: '%{binding} %{must} declarar enumeraciones que no se llamen %{target}'
|
41
|
-
DeclaresEnumeration_like: '%{binding} %{must} declarar una enumeracion de nombre parecido a %{target}'
|
42
|
-
DeclaresEnumeration_named: '%{binding} %{must} declarar una enumeracion %{target}'
|
43
|
-
DeclaresEnumeration: '%{binding} %{must} declarar enumeraciones'
|
44
|
-
DeclaresFact_except: '%{binding} %{must} declarar hechos diferentes a %{target}'
|
45
|
-
DeclaresFact_like: '%{binding} %{must} declarar un hecho parecido a %{target}'
|
46
|
-
DeclaresFact_named: '%{binding} %{must} declarar un hecho %{target}'
|
47
|
-
DeclaresFact: '%{binding} %{must} declarar hechos'
|
48
|
-
DeclaresFunction_except: '%{binding} %{must} declarar funciones diferentes a %{target}'
|
49
|
-
DeclaresFunction_like: '%{binding} %{must} declarar una función parecida a %{target}'
|
50
|
-
DeclaresFunction_named: '%{binding} %{must} declarar una función %{target}'
|
51
|
-
DeclaresFunction: '%{binding} %{must} debe declarar funciones'
|
52
|
-
DeclaresInterface_except: '%{binding} %{must} declarar interfaces que no se llamen %{target}'
|
53
|
-
DeclaresInterface_like: '%{binding} %{must} declarar una interfaz de nombre parecido a %{target}'
|
54
|
-
DeclaresInterface_named: '%{binding} %{must} declarar una interfaz %{target}'
|
55
|
-
DeclaresInterface: '%{binding} %{must} declarar interfaces'
|
56
|
-
DeclaresMethod_except: '%{binding} %{must} declarar métodos diferentes a %{target}'
|
57
|
-
DeclaresMethod_like: '%{binding} %{must} declarar un método parecido a %{target}'
|
58
|
-
DeclaresMethod_named: '%{binding} %{must} declarar un método %{target}'
|
59
|
-
DeclaresMethod: '%{binding} %{must} declarar métodos'
|
60
|
-
DeclaresObject_except: '%{binding} %{must} declarar objetos diferentes a %{target}'
|
61
|
-
DeclaresObject_like: '%{binding} %{must} declarar un objeto parecido a%{target}'
|
62
|
-
DeclaresObject_named: '%{binding} %{must} declarar un objeto %{target}'
|
63
|
-
DeclaresObject: '%{binding} %{must} declarar objetos'
|
64
|
-
DeclaresPredicate_except: '%{binding} %{must} declarar predicados diferentes a %{target}'
|
65
|
-
DeclaresPredicate_like: '%{binding} %{must} declarar un predicados parecido a %{target}'
|
66
|
-
DeclaresPredicate_named: '%{binding} %{must} declarar un predicados %{target}'
|
67
|
-
DeclaresPredicate: '%{binding} %{must} declarar predicados'
|
68
|
-
DeclaresProcedure_except: '%{binding} %{must} declarar procedimientos diferentes a %{target}'
|
69
|
-
DeclaresProcedure_like: '%{binding} %{must} declarar un procedimiento parecido a %{target}'
|
70
|
-
DeclaresProcedure_named: '%{binding} %{must} declarar un procedimiento %{target}'
|
71
|
-
DeclaresProcedure: '%{binding} %{must} declarar procedimientos'
|
72
|
-
DeclaresRecursively_named: '%{target} %{must} estar declarado recursivamente'
|
73
|
-
DeclaresRule_except: '%{binding} %{must} declarar reglas diferentes a %{target}'
|
74
|
-
DeclaresRule_like: '%{binding} %{must} declarar una regla parecida a %{target}'
|
75
|
-
DeclaresRule_named: '%{binding} %{must} declarar una regla %{target}'
|
76
|
-
DeclaresRule: '%{binding} %{must} debe declarar reglas'
|
77
|
-
DeclaresStyle_except: '%{binding} %{must} declarar un estilo diferente a %{target}'
|
78
|
-
DeclaresStyle_like: '%{binding} %{must} declarar un estilo parecido a %{target}'
|
79
|
-
DeclaresStyle_named: '%{binding} %{must} declarar un estilo %{target}'
|
80
|
-
DeclaresStyle: '%{binding} %{must} declarar un estilo'
|
81
|
-
DeclaresSuperclass_except: '%{binding} %{must} declarar una superclase distinta de %{target}'
|
82
|
-
DeclaresSuperclass_like: '%{binding} %{must} declarar una superclase parecida a %{target}'
|
83
|
-
DeclaresSuperclass_named: '%{binding} %{must} declarar una superclase %{target}'
|
84
|
-
DeclaresSuperclass: '%{binding} %{must} declarar una superclase'
|
85
|
-
DeclaresTag_except: '%{binding} %{must} declarar un elemento diferente a %{target}'
|
86
|
-
DeclaresTag_like: '%{binding} %{must} declarar un elemento parecido a %{target}'
|
87
|
-
DeclaresTag_named: '%{binding} %{must} declarar un elemento %{target}'
|
88
|
-
DeclaresTag: '%{binding} %{must} declarar un elemento'
|
89
|
-
DeclaresTypeAlias_except: '%{binding} %{must} declarar sinónimos de tipo diferentes a %{target}'
|
90
|
-
DeclaresTypeAlias_like: '%{binding} %{must} declarar un sinónimo de tipo parecido a %{target}'
|
91
|
-
DeclaresTypeAlias_named: '%{binding} %{must} declarar un sinónimo de tipo %{target}'
|
92
|
-
DeclaresTypeAlias: '%{binding} %{must} declarar sinónimos de tipo'
|
93
|
-
DeclaresTypeSignature_except: '%{binding} %{must} declarar firmas de tipos diferentes a %{target}'
|
94
|
-
DeclaresTypeSignature_like: '%{binding} %{must} declarar una firma para algo parecido %{target}'
|
95
|
-
DeclaresTypeSignature_named: '%{binding} %{must} declarar una firma %{target}'
|
96
|
-
DeclaresTypeSignature: '%{binding} %{must} declarar firmas de tipos'
|
97
|
-
DeclaresVariable_except: '%{binding} %{must} declarar variables diferentes a %{target}'
|
98
|
-
DeclaresVariable_like: '%{binding} %{must} declarar una variable parecida a %{target}'
|
99
|
-
DeclaresVariable_named: '%{binding} %{must} declarar una variable %{target}'
|
100
|
-
DeclaresVariable: '%{binding} %{must} debe declarar variables'
|
101
|
-
DiscardsExceptions: '%{binding} está ignorando excepciones silenciosamiente'
|
102
|
-
DoesConsolePrint: '%{binding} está realizando impresiones por pantalla'
|
103
|
-
DoesNilTest: '%{binding} hace comparaciones contra <i>%{keyword_null}</i>'
|
104
|
-
DoesNullTest: '%{binding} hace comparaciones contra <i>%{keyword_null}</i>'
|
105
|
-
DoesTypeTest: '%{binding} hace comparaciones contra strings'
|
106
|
-
HasAssignmentReturn: '%{binding} devuelve el resultado de una asignación'
|
107
|
-
HasCodeDuplication: '%{binding} tiene código repetido'
|
108
|
-
HasEmptyIfBranches: '%{binding} tiene ramas de <i>%{keyword_if}</i> vacías'
|
109
|
-
HasLongParameterList: '%{binding} tiene demasiados parámetros. Te podría estar faltando una abstracción'
|
110
|
-
HasMisspelledBindings: '%{binding} está mal escrito. Revisá la ortografía y procurá no usar abreviaturas'
|
111
|
-
HasMisspelledIdentifiers: '%{binding} está mal escrito. Revisá la ortografía y procurá no usar abreviaturas'
|
112
|
-
HasRedundantBooleanComparison: '%{binding} hace comparaciones booleanas innecesarias'
|
113
|
-
HasRedundantGuards: '%{binding} tiene guardas innecesarias'
|
114
|
-
HasRedundantIf: '%{binding} tiene ifs innecesarios'
|
115
|
-
HasRedundantLambda: '%{binding} tiene lambdas innecesarias'
|
116
|
-
HasRedundantLocalVariableReturn: '%{binding} usa variables locales innecesarias; podés retornar directamente la expresión'
|
117
|
-
HasRedundantParameter: '%{binding} tiene parámetros innecesarios (se pueden eliminar mediante point-free)'
|
118
|
-
HasRedundantReduction: '%{binding} usa <i>%{keyword_is}</i>, pero no realiza cálculos'
|
119
|
-
HasTooManyMethods: '%{binding} tiene demasiados métodos'
|
120
|
-
HasTooShortBindings: '%{binding} es un identificador muy corto'
|
121
|
-
HasTooShortIdentifiers: '%{binding} es un identificador muy corto'
|
122
|
-
HasUnreachableCode: '%{binding} tiene código inalcanzable'
|
123
|
-
HasWrongCaseBindings: '%{binding} no respeta la convención de nombres'
|
124
|
-
HasWrongCaseIdentifiers: '%{binding} no respeta la convención de nombres'
|
125
|
-
Implements_except: '%{binding} %{must} implementar interfaces distintas de %{target}'
|
126
|
-
Implements_like: '%{binding} %{must} implementar insterfaces parecidas a %{target}'
|
127
|
-
Implements_named: '%{binding} %{must} implementar %{target}'
|
128
|
-
Implements: '%{binding} %{must} implementar intefaces'
|
129
|
-
Includes_except: '%{binding} %{must} incluir mixins diferentes a %{target}'
|
130
|
-
Includes_like: '%{binding} %{must} incluir un mixin parecido a %{target}'
|
131
|
-
Includes_named: '%{binding} %{must} incluir el mixin %{target}'
|
132
|
-
Includes: '%{binding} %{must} incluir mixins'
|
133
|
-
Inherits_except: '%{binding} %{must} declarar una superclase distinta de %{target}'
|
134
|
-
Inherits_like: '%{binding} %{must} declarar una superclase parecida a %{target}'
|
135
|
-
Inherits_named: '%{binding} %{must} declarar una superclase %{target}'
|
136
|
-
Inherits: '%{binding} %{must} declarar una superclase'
|
137
|
-
Instantiates_except: '%{binding} %{must} instanciar clases distintas de %{target}'
|
138
|
-
Instantiates_like: '%{binding} %{must} instanciar clases parecidas a %{target}'
|
139
|
-
Instantiates_named: '%{binding} %{must} instanciar %{target}'
|
140
|
-
Instantiates: '%{binding} %{must} instanciar objetos'
|
141
|
-
IsLongCode: '%{binding} es muy largo. Tratá de delegar más'
|
142
|
-
OverridesEqualOrHashButNotBoth: '%{binding} redefine los métodos <i>equals</i> o <i>hash</i>, pero no ambos'
|
143
|
-
Raises_except: '%{binding} %{must} lanzar excepciones diferentes a %{target}'
|
144
|
-
Raises_like: '%{binding} %{must} lanzar excepciones parecidas a %{target}'
|
145
|
-
Raises_named: '%{binding} %{must} lanzar %{target}'
|
146
|
-
Raises: '%{binding} %{must} lanzar excepciones'
|
147
|
-
Rescues_except: '%{binding} %{must} capturar excepciones diferentes a %{target}'
|
148
|
-
Rescues_like: '%{binding} %{must} capturar excepciones parecidas a %{target}'
|
149
|
-
Rescues_named: '%{binding} %{must} capturar %{target}'
|
150
|
-
Rescues: '%{binding} %{must} capturar excepciones'
|
151
|
-
ReturnsNil: '%{binding} retorna null, lo cual es una mala práctica'
|
152
|
-
ReturnsNull: '%{binding} retorna null, lo cual es una mala práctica'
|
153
|
-
SourceContains_named: 'la solución %{must} usar %{target}'
|
154
|
-
SourceEquals_named: 'la solución %{must} ser igual a %{target}'
|
155
|
-
SourceEqualsIgnoreSpaces_named: 'la solución %{must} ser igual a %{target}'
|
156
|
-
SourceRepeats_named: 'la solución %{must} usar %{target} más de una vez'
|
157
|
-
TypesAs_named: '%{binding} %{must} ser de tipo %{target}'
|
158
|
-
TypesAs: '%{binding} %{must} tipar'
|
159
|
-
TypesParameterAs_except: '%{binding} %{must} tipar parámetros con un tipo diferente a %{target}'
|
160
|
-
TypesParameterAs_like: '%{binding} %{must} tipar parámetros con un tipo parecido a %{target}'
|
161
|
-
TypesParameterAs_named: '%{binding} %{must} tipar parámetros con el tipo %{target}'
|
162
|
-
TypesParameterAs: '%{binding} %{must} tipar parámetros'
|
163
|
-
TypesReturnAs_named: '%{binding} %{must} tipar su valor de retorno como %{target}'
|
164
|
-
TypesReturnAs: '%{binding} %{must} tipar su valor de retorno'
|
165
|
-
Uses_except: '%{binding} %{must} delegar en algo diferente a %{target}'
|
166
|
-
Uses_like: '%{binding} %{must} delegar en algo parecido a %{target}'
|
167
|
-
Uses_named: '%{binding} %{must} utilizar %{target}'
|
168
|
-
Uses: '%{binding} %{must} delegar'
|
169
|
-
UsesAnonymousVariable: '%{binding} %{must} utilizar una variable anónima'
|
170
|
-
UsesComposition: '%{binding} %{must} usar composición'
|
171
|
-
UsesComprehension: '%{binding} %{must} emplear listas por comprensión'
|
172
|
-
UsesConditional: '%{binding} %{must} utilizar condicionales'
|
173
|
-
UsesCut: '%{binding} usa el operador !, lo cual es una mala práctica'
|
174
|
-
UsesDyamicPolymorphism: '%{binding} %{must} usar polimorfismo'
|
175
|
-
UsesDynamicMethodOverload: '%{binding} %{must} usar sobrecarga'
|
176
|
-
UsesExceptionHandling: '%{binding} %{must} realizar manejo de excepciones'
|
177
|
-
UsesExceptions: '%{binding} %{must} usar excepciones'
|
178
|
-
UsesFail: '%{binding} usa <i>%{keyword_fail}</li>, lo cual es una mala práctica'
|
179
|
-
UsesFindall: '%{binding} %{must} utilizar <i>%{keyword_findall}</i>'
|
180
|
-
UsesForall: '%{binding} %{must} utilizar <i>%{keyword_forall}</i>'
|
181
|
-
UsesForeach: '%{binding} %{must} usar <i>%{keyword_foreach}</i>'
|
182
|
-
UsesGuards: '%{binding} %{must} usar guardas'
|
183
|
-
UsesIf: '%{binding} %{must} usar <i>%{keyword_if}</i>'
|
184
|
-
UsesInheritance: '%{binding} %{must} usar herencia'
|
185
|
-
UsesLambda: '%{binding} %{must} emplear expresiones lambda'
|
186
|
-
UsesLoop: '%{binding} %{must} usar un bucle'
|
187
|
-
UsesMixin: '%{binding} %{must} utilizar mixins'
|
188
|
-
UsesMixins: '%{binding} %{must} usar mixins'
|
189
|
-
UsesNot: '%{binding} %{must} utilizar <i>%{keyword_not}</i>'
|
190
|
-
UsesObjectComposition: '%{binding} %{must} usar composición'
|
191
|
-
UsesPatternMatching: '%{binding} %{must} utilizar pattern matching'
|
192
|
-
UsesRepeat: '%{binding} %{must} usar <i>%{keyword_repeat}</i>'
|
193
|
-
UsesRepeatOf: '%{binding} %{must} usar un <i>%{keyword_repeat}</i> de %{target}'
|
194
|
-
UsesStaticMethodOverload: '%{binding} %{must} usar sobrecarga'
|
195
|
-
UsesStaticPolymorphism: '%{binding} %{must} usar polimorfismo'
|
196
|
-
UsesSwitch: '%{binding} %{must} utilizar un <i>%{keyword_switch}</i>'
|
197
|
-
UsesTemplateMethod: '%{binding} %{must} usar un método plantilla'
|
198
|
-
UsesUnificationOperator: '%{binding} usa el operador de unificación (=)'
|
199
|
-
UsesWhile: '%{binding} %{must} utilizar un <i>%{keyword_while}</i>'
|
data/lib/locales/pt.yml
DELETED
@@ -1,190 +0,0 @@
|
|
1
|
-
---
|
2
|
-
pt:
|
3
|
-
mumukit:
|
4
|
-
expectation:
|
5
|
-
must_not: 'não deve'
|
6
|
-
must: 'deve'
|
7
|
-
solution: 'a solução'
|
8
|
-
inspection:
|
9
|
-
Assigns_except: '%{binding} %{must} atribuir algo diferente a %{target}'
|
10
|
-
Assigns_like: '%{binding} %{must} atribuir algo semelhante ao %{target}'
|
11
|
-
Assigns_named: '%{binding} %{must} atribuir %{target}'
|
12
|
-
Assigns: '%{binding} %{must} fazer atribuições'
|
13
|
-
Calls_except: '%{binding} %{must} delegar algo diferente para %{target}'
|
14
|
-
Calls_like: '%{binding} %{must} delegar algo semelhante ao %{target}'
|
15
|
-
Calls_named: '%{binding} %{must} usar %{target}'
|
16
|
-
Calls: '%{binding} %{must} delegate'
|
17
|
-
Declares_except: '%{binding} %{must} contém instruções diferentes de %{target}'
|
18
|
-
Declares_like: '%{binding} %{must} declarar um identificador semelhante a %{target}'
|
19
|
-
Declares_named: '%{binding} %{must} declarar %{target}'
|
20
|
-
Declares: '%{binding} %{must} contém declarações'
|
21
|
-
DeclaresAttribute_except: '%{binding} %{must} declarar atributos diferentes de %{target}'
|
22
|
-
DeclaresAttribute_like: '%{binding} %{must} declarar um atributo semelhante a %{target}'
|
23
|
-
DeclaresAttribute_named: '%{binding} %{must} declarar um atributo %{target}'
|
24
|
-
DeclaresAttribute: '%{binding} %{must} declarar atributos'
|
25
|
-
DeclaresClass_except: '%{binding} %{must} declarar classes diferentes para %{target}'
|
26
|
-
DeclaresClass_like: '%{binding} %{must} declarar uma classe semelhante a %{target}'
|
27
|
-
DeclaresClass_named: '%{binding} %{must} declarar uma classe %{target}'
|
28
|
-
DeclaresClass: '%{binding} %{must} declarar classes'
|
29
|
-
DeclaresComputation_except: '%{binding} %{must} declarar cálculos diferentes de %{target}'
|
30
|
-
DeclaresComputation_like: '%{binding} %{must} declarar uma computação semelhante a %{target}'
|
31
|
-
DeclaresComputation_named: '%{binding} %{must} declarar uma computação %{target}'
|
32
|
-
DeclaresComputation: '%{binding} %{must} declarar cálculos'
|
33
|
-
DeclaresComputationWithArity0_named: '%{target} %{must} declarar parâmetros zero'
|
34
|
-
DeclaresComputationWithArity1_named: '%{target} %{must} tem um parâmetro'
|
35
|
-
DeclaresComputationWithArity2_named: '%{target} %{must} tem dois parâmetros'
|
36
|
-
DeclaresComputationWithArity3_named: '%{target} %{must} tem três parâmetros'
|
37
|
-
DeclaresComputationWithArity4_named: '%{target} %{must} tem quatro parâmetros'
|
38
|
-
DeclaresComputationWithArity5_named: '%{target} %{must} tem cinco parâmetros'
|
39
|
-
DeclaresEntryPoint: '%{binding} %{must} declarar um ponto de entrada'
|
40
|
-
DeclaresEnumeration_except: '%{binding} %{must} declarar enumerações que não são chamadas %{target}'
|
41
|
-
DeclaresEnumeration_like: '%{binding} %{must} declarar uma enumeração de nome semelhante a %{target}'
|
42
|
-
DeclaresEnumeration_named: '%{binding} %{must} declarar uma enumeração %{target}'
|
43
|
-
DeclaresEnumeration: '%{binding} %{must} declarar enumerações'
|
44
|
-
DeclaresFact_except: '%{binding} %{must} declarar fatos diferentes de %{target}'
|
45
|
-
DeclaresFact_like: '%{binding} %{must} declarar um fato semelhante a %{target}'
|
46
|
-
DeclaresFact_named: '%{binding} %{must} declarar um fato %{target}'
|
47
|
-
DeclaresFact: '%{binding} %{must} declarar fatos'
|
48
|
-
DeclaresFunction_except: '%{binding} %{must} declarar funções diferentes de %{target}'
|
49
|
-
DeclaresFunction_like: '%{binding} %{must} declarar uma função semelhante a %{target}'
|
50
|
-
DeclaresFunction_named: '%{binding} %{must} declarar uma função %{target}'
|
51
|
-
DeclaresFunction: '%{binding} %{must} deve declarar funções'
|
52
|
-
DeclaresInterface_except: '%{binding} %{must} declarar interfaces que não são chamadas %{target}'
|
53
|
-
DeclaresInterface_like: '%{binding} %{must} declarar uma interface de nome semelhante a %{target}'
|
54
|
-
DeclaresInterface_named: '%{binding} %{must} declarar uma interface %{target}'
|
55
|
-
DeclaresInterface: '%{binding} %{must} declarar interfaces'
|
56
|
-
DeclaresMethod_except: '%{binding} %{must} declarar métodos diferentes de %{target}'
|
57
|
-
DeclaresMethod_like: '%{binding} %{must} declarar um método semelhante a %{target}'
|
58
|
-
DeclaresMethod_named: '%{binding} %{must} declarar um método %{target}'
|
59
|
-
DeclaresMethod: '%{binding} %{must} declarar métodos'
|
60
|
-
DeclaresObject_except: '%{binding} %{must} declarar objetos diferentes de %{target}'
|
61
|
-
DeclaresObject_like: '%{binding} %{must} declarar um objeto semelhante a %{target}'
|
62
|
-
DeclaresObject_named: '%{binding} %{must} declarar um objeto %{target}'
|
63
|
-
DeclaresObject: '%{binding} %{must} declarar objetos'
|
64
|
-
DeclaresPredicate_except: '%{binding} %{must} declarar predicados diferentes para %{target}'
|
65
|
-
DeclaresPredicate_like: '%{binding} %{must} declarar um predicado semelhante ao %{target}'
|
66
|
-
DeclaresPredicate_named: '%{binding} %{must} declarar um predicado %{target}'
|
67
|
-
DeclaresPredicate: '%{binding} %{must} declarar predicados'
|
68
|
-
DeclaresProcedure_except: '%{binding} %{must} declarar procedimentos diferentes de %{target}'
|
69
|
-
DeclaresProcedure_like: '%{binding} %{must} declarar um procedimento semelhante a %{target}'
|
70
|
-
DeclaresProcedure_named: '%{binding} %{must} declarar um procedimento %{target}'
|
71
|
-
DeclaresProcedure: '%{binding} %{must} declarar procedimentos'
|
72
|
-
DeclaresRecursively_named: '%{target} %{must} deve ser declarado recursivamente'
|
73
|
-
DeclaresRule_except: '%{binding} %{must} declarar regras diferentes de %{target}'
|
74
|
-
DeclaresRule_like: '%{binding} %{must} declarar uma regra semelhante a %{target}'
|
75
|
-
DeclaresRule_named: '%{binding} %{must} declarar uma regra %{target}'
|
76
|
-
DeclaresRule: '%{binding} %{must} deve declarar regras'
|
77
|
-
DeclaresStyle_except: '%{binding} %{must} declarar um estilo diferentes de %{target}'
|
78
|
-
DeclaresStyle_like: '%{binding} %{must} declarar um estilo semelhante a %{target}'
|
79
|
-
DeclaresStyle_named: '%{binding} %{must} declarar um estilo %{target}'
|
80
|
-
DeclaresStyle: '%{binding} %{must} declarar um estilo'
|
81
|
-
DeclaresSuperclass_except: '%{binding} %{must} declarar uma superclasse diferente de %{target}'
|
82
|
-
DeclaresSuperclass_like: '%{binding} %{must} declarar uma superclasse semelhante a %{target}'
|
83
|
-
DeclaresSuperclass_named: '%{binding} %{must} declarar uma superclasse %{target}'
|
84
|
-
DeclaresSuperclass: '%{binding} %{must} declarar uma superclasse'
|
85
|
-
DeclaresTag_except: '%{binding} %{must} declarar uma etiqueta diferente de %{target}'
|
86
|
-
DeclaresTag_like: '%{binding} %{must} declarar uma etiqueta similar a %{target}'
|
87
|
-
DeclaresTag_named: '%{binding} %{must} declarar uma etiqueta %{target}'
|
88
|
-
DeclaresTag: '%{binding} %{must} declarar uma etiqueta'
|
89
|
-
DeclaresTypeAlias_except: '%{binding} %{must} declarar sinônimos de tipo diferente de %{target}'
|
90
|
-
DeclaresTypeAlias_like: '%{binding} %{must} declarar um sinônimo de tipo similar a %{target}'
|
91
|
-
DeclaresTypeAlias_named: '%{binding} %{must} declarar um sinônimo do tipo %{target}'
|
92
|
-
DeclaresTypeAlias: '%{binding} %{must} declarar o tipo de sinônimos'
|
93
|
-
DeclaresTypeSignature_except: '%{binding} %{must} declarar assinaturas de tipos diferentes de %{target}'
|
94
|
-
DeclaresTypeSignature_like: '%{binding} %{must} declarar uma assinatura para algo semelhante %{target}'
|
95
|
-
DeclaresTypeSignature_named: '%{binding} %{must} declarar uma assinatura %{target}'
|
96
|
-
DeclaresTypeSignature: '%{binding} %{must} excluir assinaturas de tipo'
|
97
|
-
DeclaresVariable_except: '%{binding} %{must} declarar variáveis diferentes de %{target}'
|
98
|
-
DeclaresVariable_like: '%{binding} %{must} declarar uma variável semelhante a %{target}'
|
99
|
-
DeclaresVariable_named: '%{binding} %{must} declarar uma variável %{target}'
|
100
|
-
DeclaresVariable: '%{binding} %{must} deve declarar variáveis'
|
101
|
-
DiscardsExceptions: '%{binding} está silenciosamente ignorando exceções'
|
102
|
-
DoesConsolePrint: '%{binding} está fazendo impressões na tela'
|
103
|
-
DoesNilTest: '%{binding} faz comparações contra <i>%{keyword_null}</i>'
|
104
|
-
DoesNullTest: '%{binding} faz comparações contra <i>%{keyword_null}</i>'
|
105
|
-
DoesTypeTest: '%{binding} faz comparações contra strings'
|
106
|
-
HasAssignmentReturn: '%{binding} retorna o resultado de uma tarefa'
|
107
|
-
HasCodeDuplication: '%{binding} tem código repetido'
|
108
|
-
HasEmptyIfBranches: '%{binding} tem vazio <i>%{keyword_if}</i> ramos'
|
109
|
-
HasLongParameterList: '%{binding} tem muitos parâmetros. Você pode estar perdendo uma abstração.'
|
110
|
-
HasMisspelledBindings: '%{binding} está incorreto. Verifique a ortografia e tente não usar abreviaturas'
|
111
|
-
HasMisspelledIdentifiers: '%{binding} está incorreto. Verifique a ortografia e tente não usar abreviaturas'
|
112
|
-
HasRedundantBooleanComparison: '%{binding} faz comparações booleanas desnecessárias'
|
113
|
-
HasRedundantGuards: '%{binding} possui protetores desnecessários'
|
114
|
-
HasRedundantIf: '%{binding} tem desnecessário ifs'
|
115
|
-
HasRedundantLambda: '%{binding} possui lambdas desnecessários'
|
116
|
-
HasRedundantLocalVariableReturn: '%{binding} usa variáveis locais desnecessárias; você pode retornar a expressão diretamente'
|
117
|
-
HasRedundantParameter: '%{binding} possui parâmetros desnecessários (pode ser removido por ponto-livre)'
|
118
|
-
HasRedundantReduction: '%{binding} usa <i>%{keyword_is}</i>, mas não executa cálculos'
|
119
|
-
HasTooManyMethods: '%{binding} tem muitos métodos'
|
120
|
-
HasTooShortBindings: '%{binding} é um identificador muito curto'
|
121
|
-
HasTooShortIdentifiers: '%{binding} é um identificador muito curto'
|
122
|
-
HasUnreachableCode: '%{binding} tem código inacessível'
|
123
|
-
HasWrongCaseBindings: '%{binding} não respeita a convenção de nomenclatura'
|
124
|
-
HasWrongCaseIdentifiers: '%{binding} não respeita a convenção de nomenclatura'
|
125
|
-
Implements_except: '%{binding} %{must} implementar interfaces diferentes de %{target}'
|
126
|
-
Implements_like: '%{binding} %{must} implementar interfaces semelhantes a %{target}'
|
127
|
-
Implements_named: '%{binding} %{must} implementar %{target}'
|
128
|
-
Implements: '%{binding} %{must} implementar interfaces'
|
129
|
-
Inherits_except: '%{binding} %{must} declarar uma superclasse diferente de %{target}'
|
130
|
-
Inherits_like: '%{binding} %{must} declarar uma superclasse semelhante a %{target}'
|
131
|
-
Inherits_named: '%{binding} %{must} declarar uma superclasse %{target}'
|
132
|
-
Inherits: '%{binding} %{must} declarar uma superclasse'
|
133
|
-
Instantiates_except: '%{binding} %{must} instanciar classes diferentes de %{target}'
|
134
|
-
Instantiates_like: '%{binding} %{must} instanciar classes semelhantes a %{target}'
|
135
|
-
Instantiates_named: '%{binding} %{must} instantiate %{target}'
|
136
|
-
Instantiates: '%{binding} %{must} instanciar objetos'
|
137
|
-
IsLongCode: '%{binding} é muito longo. Tente delegar mais'
|
138
|
-
OverridesEqualOrHashButNotBoth: '%{binding} redefine os métodos <i>equals</i> ou <i>hash </i>, mas não ambos'
|
139
|
-
Raises_except: '%{binding} %{must} lançar exceções diferentes de %{target}'
|
140
|
-
Raises_like: '%{binding} %{must} lançar exceções semelhantes a %{target}'
|
141
|
-
Raises_named: '%{binding} %{must} launch %{target}'
|
142
|
-
Raises: '%{binding} %{must} lançar exceções'
|
143
|
-
Rescues_except: '%{binding} %{must} capturar exceções que não sejam %{target}'
|
144
|
-
Rescues_like: '%{binding} %{must} capturar exceções semelhantes a %{target}'
|
145
|
-
Rescues_named: '%{binding} %{must} capture %{target}'
|
146
|
-
Rescues: '%{binding} %{must} capturar exceções'
|
147
|
-
ReturnsNil: '%{binding} retorna nulo, o que é uma prática ruim'
|
148
|
-
ReturnsNull: '%{binding} retorna nulo, o que é uma prática ruim'
|
149
|
-
SourceContains_named: 'a solução %{must} usar %{target}'
|
150
|
-
SourceEquals_named: 'a solução %{must} ser igual a %{target}'
|
151
|
-
SourceEqualsIgnoreSpaces_named: 'a solução %{must} ser igual a %{target}'
|
152
|
-
SourceRepeats_named: 'a solução %{must} usar %{target} mais de uma vez'
|
153
|
-
TypesAs_named: '%{binding} %{must} é do tipo %{target}'
|
154
|
-
TypesAs: '%{binding} %{must} tem tipo'
|
155
|
-
TypesReturnAs_named: '%{binding} %{must} tem tipo de valor de retorno %{target}'
|
156
|
-
TypesReturnAs: '%{binding} %{must} tem tipo de valor de retorno'
|
157
|
-
Uses_except: '%{binding} %{must} delegar algo diferente para %{target}'
|
158
|
-
Uses_like: '%{binding} %{must} delegar algo semelhante ao %{target}'
|
159
|
-
Uses_named: '%{binding} %{must} usar %{target}'
|
160
|
-
Uses: '%{binding} %{must} delegar'
|
161
|
-
UsesAnonymousVariable: '%{binding} %{must} usar uma variável anônima'
|
162
|
-
UsesComposition: '%{binding} %{must} usar a composição'
|
163
|
-
UsesComprehension: '%{binding} %{must} usar listas pelo entendimento'
|
164
|
-
UsesConditional: '%{binding} %{must} usar conditional'
|
165
|
-
UsesCut: '%{binding} usa o operador !, que é uma má prática'
|
166
|
-
UsesDyamicPolymorphism: '%{binding} %{must} usar polimorfismo'
|
167
|
-
UsesDynamicMethodOverload: '%{binding} %{must} usar sobrecarga'
|
168
|
-
UsesExceptionHandling: '%{binding} %{must} executar o tratamento de exceção'
|
169
|
-
UsesExceptions: '%{binding} %{must} usar exceções'
|
170
|
-
UsesFail: '%{binding} usa <i>%{keyword_fail}</li>, o que é uma prática ruim'
|
171
|
-
UsesFindall: '%{binding} %{must} usar <i>%{keyword_findall}</i>'
|
172
|
-
UsesForall: '%{binding} %{must} usar <i>%{keyword_forall}</i>'
|
173
|
-
UsesForeach: '%{binding} %{must} usar <i>%{keyword_foreach}</i>'
|
174
|
-
UsesGuards: '%{binding} %{must} usar guardas'
|
175
|
-
UsesIf: '%{binding} %{must} usar <i>%{keyword_if}</i>'
|
176
|
-
UsesInheritance: '%{binding} %{must} usar herança'
|
177
|
-
UsesLambda: '%{binding} %{must} usar expressões lambda'
|
178
|
-
UsesLoop: '%{binding} %{must} usar um loop'
|
179
|
-
UsesMixins: '%{binding} %{must} usar mixins'
|
180
|
-
UsesNot: '%{binding} %{must} usar <i>%{keyword_not}</i>'
|
181
|
-
UsesObjectComposition: '%{binding} %{must} usar composição'
|
182
|
-
UsesPatternMatching: '%{binding} %{must} usar o padrão de correspondência'
|
183
|
-
UsesRepeat: '%{binding} %{must} usar <i>%{keyword_repeat}</i>'
|
184
|
-
UsesRepeatOf: '%{binding} %{must} usar uma <i>%{keyword_repeat}</i> de %{target}'
|
185
|
-
UsesStaticMethodOverload: '%{binding} %{must} usar sobrecarga'
|
186
|
-
UsesStaticPolymorphism: '%{binding} %{must} usar polimorfismo'
|
187
|
-
UsesSwitch: '%{binding} %{must} usar um <i>%{keyword_switch}</i>'
|
188
|
-
UsesTemplateMethod: '%{binding} %{must} usar um _template method_'
|
189
|
-
UsesUnificationOperator: '%{binding} usa o operador de unificação (=)'
|
190
|
-
UsesWhile: '%{binding} %{must} usar um <i>%{keyword_while}</i>'
|
@@ -1,107 +0,0 @@
|
|
1
|
-
class Mumukit::Inspection::Expectation
|
2
|
-
|
3
|
-
SMELLS = %w(DiscardsExceptions DoesConsolePrint DoesNilTest DoesNullTest DoesTypeTest
|
4
|
-
HasAssignmentReturn HasCodeDuplication HasEmptyIfBranches HasLongParameterList
|
5
|
-
HasMisspelledBindings HasMisspelledIdentifiers
|
6
|
-
HasRedundantBooleanComparison HasRedundantGuards HasRedundantIf
|
7
|
-
HasRedundantLambda HasRedundantLocalVariableReturn HasRedundantParameter
|
8
|
-
HasRedundantReduction HasTooManyMethods HasTooShortBindings HasTooShortIdentifiers HasUnreachableCode
|
9
|
-
HasWrongCaseBinding HasWrongCaseIdentifiers IsLongCode OverridesEqualOrHashButNotBoth
|
10
|
-
ReturnsNil ReturnsNull UsesCut UsesFail UsesUnificationOperator)
|
11
|
-
|
12
|
-
attr_accessor :binding, :inspection
|
13
|
-
|
14
|
-
def initialize(binding, inspection)
|
15
|
-
@binding = binding
|
16
|
-
@inspection = inspection
|
17
|
-
end
|
18
|
-
|
19
|
-
def check!
|
20
|
-
raise "Wrong binding in #{to_h}" unless binding?
|
21
|
-
raise "Wrong inspection #{to_h}" unless inspection?
|
22
|
-
end
|
23
|
-
|
24
|
-
def translate(keywords = nil)
|
25
|
-
Mumukit::Inspection::I18n.translate self, keywords
|
26
|
-
end
|
27
|
-
|
28
|
-
def to_h
|
29
|
-
{binding: binding, inspection: inspection.to_s}
|
30
|
-
end
|
31
|
-
|
32
|
-
def self.guess_type(expectation)
|
33
|
-
if expectation[:inspection] =~ /(Not\:)?Has.*/ && !has_smell?(expectation[:inspection])
|
34
|
-
V0
|
35
|
-
else
|
36
|
-
V2
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def self.has_smell?(smell)
|
41
|
-
SMELLS.include? smell
|
42
|
-
end
|
43
|
-
|
44
|
-
def self.parse(expectation)
|
45
|
-
guess_type(expectation).new(
|
46
|
-
expectation[:binding],
|
47
|
-
Mumukit::Inspection.parse(expectation[:inspection]))
|
48
|
-
end
|
49
|
-
|
50
|
-
class V0 < Mumukit::Inspection::Expectation
|
51
|
-
INSPECTIONS = %w(HasBinding HasTypeDeclaration HasTypeSignature HasVariable HasArity HasDirectRecursion
|
52
|
-
HasComposition HasComprehension HasForeach HasIf HasGuards HasConditional HasLambda HasRepeat HasWhile
|
53
|
-
HasUsage HasAnonymousVariable HasNot HasForall HasFindall)
|
54
|
-
|
55
|
-
|
56
|
-
def binding?
|
57
|
-
binding.present?
|
58
|
-
end
|
59
|
-
|
60
|
-
def inspection?
|
61
|
-
inspection.present? && INSPECTIONS.include?(inspection.type)
|
62
|
-
end
|
63
|
-
|
64
|
-
def as_v2
|
65
|
-
if has? 'Binding' then as_v2_declare ''
|
66
|
-
elsif has? 'TypeDeclaration' then as_v2_declare 'TypeAlias'
|
67
|
-
elsif has? 'TypeSignature' then as_v2_declare 'TypeSignature'
|
68
|
-
elsif has? 'Variable' then as_v2_declare 'Variable'
|
69
|
-
elsif has? 'Arity' then as_v2_declare "ComputationWithArity#{inspection.target.value}"
|
70
|
-
elsif has? 'DirectRecursion' then as_v2_declare "Recursively"
|
71
|
-
elsif has? 'Usage'
|
72
|
-
V2.new binding, new_inspection('Uses', Mumukit::Inspection::Target.named(inspection.target.value))
|
73
|
-
else as_v2_use
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
def has?(simple_type)
|
78
|
-
inspection.type == "Has#{simple_type}"
|
79
|
-
end
|
80
|
-
|
81
|
-
def as_v2_use
|
82
|
-
V2.new binding, new_inspection(inspection.type.gsub('Has', 'Uses'), nil)
|
83
|
-
end
|
84
|
-
|
85
|
-
def as_v2_declare(simple_type)
|
86
|
-
V2.new '*', new_inspection("Declares#{simple_type}", Mumukit::Inspection::Target.named(binding))
|
87
|
-
end
|
88
|
-
|
89
|
-
def new_inspection(type, target)
|
90
|
-
Mumukit::Inspection.new(type, target, inspection.negated?)
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
class V2 < Mumukit::Inspection::Expectation
|
95
|
-
def binding?
|
96
|
-
true
|
97
|
-
end
|
98
|
-
|
99
|
-
def inspection?
|
100
|
-
true
|
101
|
-
end
|
102
|
-
|
103
|
-
def as_v2
|
104
|
-
self
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
@@ -1,53 +0,0 @@
|
|
1
|
-
module Mumukit::Inspection::I18n
|
2
|
-
class << self
|
3
|
-
DEFAULT_KEYWORDS = {
|
4
|
-
keyword_null: :null,
|
5
|
-
keyword_if: :if,
|
6
|
-
keyword_is: :is,
|
7
|
-
keyword_fail: :fail,
|
8
|
-
keyword_findall: :findall,
|
9
|
-
keyword_forall: :forall,
|
10
|
-
keyword_foreach: :foreach,
|
11
|
-
keyword_not: :not,
|
12
|
-
keyword_repeat: :repeat,
|
13
|
-
keyword_switch: :switch,
|
14
|
-
keyword_while: :while,
|
15
|
-
}
|
16
|
-
|
17
|
-
def translate(e, keywords = nil)
|
18
|
-
e = e.as_v2
|
19
|
-
key = key_for e.binding, e.inspection
|
20
|
-
::I18n.t key, translation_params(e, keywords)
|
21
|
-
rescue
|
22
|
-
'<unknown expectation>'
|
23
|
-
end
|
24
|
-
|
25
|
-
alias t translate
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def translation_params(e, keywords)
|
30
|
-
{
|
31
|
-
binding: t_binding(e.binding),
|
32
|
-
target: t_target(e.inspection),
|
33
|
-
must: t_must(e.inspection)
|
34
|
-
}.merge(DEFAULT_KEYWORDS).merge(keywords || {})
|
35
|
-
end
|
36
|
-
|
37
|
-
def key_for(binding, inspection)
|
38
|
-
"mumukit.inspection.#{inspection.type}#{inspection.target ? inspection.target.i18n_suffix : nil}"
|
39
|
-
end
|
40
|
-
|
41
|
-
def t_binding(binding)
|
42
|
-
binding == '*' ? ::I18n.t("mumukit.expectation.solution") : "<strong>#{Mumukit::Inspection.parse_binding_name binding}</strong>"
|
43
|
-
end
|
44
|
-
|
45
|
-
def t_must(parsed)
|
46
|
-
::I18n.t("mumukit.expectation.#{parsed.negated? ? 'must_not' : 'must' }")
|
47
|
-
end
|
48
|
-
|
49
|
-
def t_target(parsed)
|
50
|
-
"<strong>#{parsed.target.value}</strong>" if parsed.target
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
@@ -1,68 +0,0 @@
|
|
1
|
-
class Mumukit::Inspection::Target
|
2
|
-
attr_accessor :type, :value
|
3
|
-
|
4
|
-
def initialize(type, value=nil)
|
5
|
-
@type = type
|
6
|
-
@value = value
|
7
|
-
end
|
8
|
-
|
9
|
-
def self.parse(target_s)
|
10
|
-
if target_s.blank?
|
11
|
-
nil
|
12
|
-
elsif target_s == '*'
|
13
|
-
anyone
|
14
|
-
elsif target_s.start_with? '^'
|
15
|
-
new :except, target_tail(target_s)
|
16
|
-
elsif target_s.start_with? '~'
|
17
|
-
new :like, target_tail(target_s)
|
18
|
-
elsif target_s.start_with? '='
|
19
|
-
named target_tail(target_s)
|
20
|
-
else
|
21
|
-
unknown target_s
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def to_s
|
26
|
-
case type
|
27
|
-
when :anyone
|
28
|
-
'*'
|
29
|
-
when :except
|
30
|
-
"^#{value}"
|
31
|
-
when :like
|
32
|
-
"~#{value}"
|
33
|
-
when :named
|
34
|
-
"=#{value}"
|
35
|
-
else
|
36
|
-
value
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def i18n_suffix
|
41
|
-
case type
|
42
|
-
when :anyone
|
43
|
-
nil
|
44
|
-
when :except
|
45
|
-
"_except"
|
46
|
-
when :like
|
47
|
-
"_like"
|
48
|
-
else
|
49
|
-
"_named"
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
def self.target_tail(target_s)
|
54
|
-
target_s[1..-1]
|
55
|
-
end
|
56
|
-
|
57
|
-
def self.unknown(value)
|
58
|
-
new(:unknown, value)
|
59
|
-
end
|
60
|
-
|
61
|
-
def self.named(value)
|
62
|
-
new(:named, value)
|
63
|
-
end
|
64
|
-
|
65
|
-
def self.anyone
|
66
|
-
new(:anyone)
|
67
|
-
end
|
68
|
-
end
|