coursemology-polyglot 0.0.1 → 0.0.2
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 +4 -4
- data/.idea/Coursemology Polyglot.iml +0 -374
- data/lib/coursemology/polyglot.rb +1 -0
- data/lib/coursemology/polyglot/concrete_language.rb +9 -0
- data/lib/coursemology/polyglot/concrete_language/class_methods.rb +7 -0
- data/lib/coursemology/polyglot/language.rb +39 -0
- data/lib/coursemology/polyglot/language/python.rb +2 -10
- data/lib/coursemology/polyglot/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 41fbf94d1e17c8f4c04396345c1bf4b8df6dc7c2
|
|
4
|
+
data.tar.gz: 238a558ddd5e82c4135934ddd877ce62b0384056
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bf23bb01e21f1331ee554b3ae444305b4d65e9d5312c0f60e9558c442dee3df4a0c2a072590a7b23945be02f86eaf749da115fa23cc2804034d2149d266075ba
|
|
7
|
+
data.tar.gz: ed9d45a66456363884fa16db6534d488eeeb3717b9ccea6cbd427ade6f21353c922124001313953df76ad9ea9f682fd225a5ee3f0389ad94d0111c4fffb55618
|
|
@@ -5,379 +5,5 @@
|
|
|
5
5
|
<content url="file://$MODULE_DIR$" />
|
|
6
6
|
<orderEntry type="inheritedJdk" />
|
|
7
7
|
<orderEntry type="sourceFolder" forTests="false" />
|
|
8
|
-
<orderEntry type="module-library">
|
|
9
|
-
<library name="activesupport (vbundled(4.2.5), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.5) [path][gem]">
|
|
10
|
-
<CLASSES>
|
|
11
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.5/lib" />
|
|
12
|
-
</CLASSES>
|
|
13
|
-
<JAVADOC />
|
|
14
|
-
<SOURCES>
|
|
15
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.5/lib" />
|
|
16
|
-
</SOURCES>
|
|
17
|
-
</library>
|
|
18
|
-
</orderEntry>
|
|
19
|
-
<orderEntry type="module-library">
|
|
20
|
-
<library name="codeclimate-test-reporter (vbundled(0.4.8), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/codeclimate-test-reporter-0.4.8) [path][gem]">
|
|
21
|
-
<CLASSES>
|
|
22
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/codeclimate-test-reporter-0.4.8/bin" />
|
|
23
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/codeclimate-test-reporter-0.4.8/lib" />
|
|
24
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/codeclimate-test-reporter-0.4.8/config" />
|
|
25
|
-
</CLASSES>
|
|
26
|
-
<JAVADOC />
|
|
27
|
-
<SOURCES>
|
|
28
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/codeclimate-test-reporter-0.4.8/bin" />
|
|
29
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/codeclimate-test-reporter-0.4.8/lib" />
|
|
30
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/codeclimate-test-reporter-0.4.8/config" />
|
|
31
|
-
</SOURCES>
|
|
32
|
-
</library>
|
|
33
|
-
</orderEntry>
|
|
34
|
-
<orderEntry type="module-library">
|
|
35
|
-
<library name="coveralls (vbundled(0.8.10), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/coveralls-0.8.10) [path][gem]">
|
|
36
|
-
<CLASSES>
|
|
37
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/coveralls-0.8.10/bin" />
|
|
38
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/coveralls-0.8.10/lib" />
|
|
39
|
-
</CLASSES>
|
|
40
|
-
<JAVADOC />
|
|
41
|
-
<SOURCES>
|
|
42
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/coveralls-0.8.10/bin" />
|
|
43
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/coveralls-0.8.10/lib" />
|
|
44
|
-
</SOURCES>
|
|
45
|
-
</library>
|
|
46
|
-
</orderEntry>
|
|
47
|
-
<orderEntry type="module-library">
|
|
48
|
-
<library name="diff-lcs (vbundled(1.2.5), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/diff-lcs-1.2.5) [path][gem]">
|
|
49
|
-
<CLASSES>
|
|
50
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/diff-lcs-1.2.5/bin" />
|
|
51
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/diff-lcs-1.2.5/lib" />
|
|
52
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/diff-lcs-1.2.5/autotest" />
|
|
53
|
-
</CLASSES>
|
|
54
|
-
<JAVADOC />
|
|
55
|
-
<SOURCES>
|
|
56
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/diff-lcs-1.2.5/bin" />
|
|
57
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/diff-lcs-1.2.5/lib" />
|
|
58
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/diff-lcs-1.2.5/autotest" />
|
|
59
|
-
</SOURCES>
|
|
60
|
-
</library>
|
|
61
|
-
</orderEntry>
|
|
62
|
-
<orderEntry type="module-library">
|
|
63
|
-
<library name="docile (vbundled(1.1.5), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/docile-1.1.5) [path][gem]">
|
|
64
|
-
<CLASSES>
|
|
65
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/docile-1.1.5/lib" />
|
|
66
|
-
</CLASSES>
|
|
67
|
-
<JAVADOC />
|
|
68
|
-
<SOURCES>
|
|
69
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/docile-1.1.5/lib" />
|
|
70
|
-
</SOURCES>
|
|
71
|
-
</library>
|
|
72
|
-
</orderEntry>
|
|
73
|
-
<orderEntry type="module-library">
|
|
74
|
-
<library name="domain_name (vbundled(0.5.25), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/domain_name-0.5.25) [path][gem]">
|
|
75
|
-
<CLASSES>
|
|
76
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/domain_name-0.5.25/lib" />
|
|
77
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/domain_name-0.5.25/data" />
|
|
78
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/domain_name-0.5.25/tool" />
|
|
79
|
-
</CLASSES>
|
|
80
|
-
<JAVADOC />
|
|
81
|
-
<SOURCES>
|
|
82
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/domain_name-0.5.25/lib" />
|
|
83
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/domain_name-0.5.25/data" />
|
|
84
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/domain_name-0.5.25/tool" />
|
|
85
|
-
</SOURCES>
|
|
86
|
-
</library>
|
|
87
|
-
</orderEntry>
|
|
88
|
-
<orderEntry type="module-library">
|
|
89
|
-
<library name="http-cookie (vbundled(1.0.2), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/http-cookie-1.0.2) [path][gem]">
|
|
90
|
-
<CLASSES>
|
|
91
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/http-cookie-1.0.2/lib" />
|
|
92
|
-
</CLASSES>
|
|
93
|
-
<JAVADOC />
|
|
94
|
-
<SOURCES>
|
|
95
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/http-cookie-1.0.2/lib" />
|
|
96
|
-
</SOURCES>
|
|
97
|
-
</library>
|
|
98
|
-
</orderEntry>
|
|
99
|
-
<orderEntry type="module-library">
|
|
100
|
-
<library name="i18n (vbundled(0.7.0), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/i18n-0.7.0) [path][gem]">
|
|
101
|
-
<CLASSES>
|
|
102
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/i18n-0.7.0/lib" />
|
|
103
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/i18n-0.7.0/gemfiles" />
|
|
104
|
-
</CLASSES>
|
|
105
|
-
<JAVADOC />
|
|
106
|
-
<SOURCES>
|
|
107
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/i18n-0.7.0/lib" />
|
|
108
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/i18n-0.7.0/gemfiles" />
|
|
109
|
-
</SOURCES>
|
|
110
|
-
</library>
|
|
111
|
-
</orderEntry>
|
|
112
|
-
<orderEntry type="module-library">
|
|
113
|
-
<library name="json (vbundled(1.8.3), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/json-1.8.3) [path][gem]">
|
|
114
|
-
<CLASSES>
|
|
115
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/ext" />
|
|
116
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/lib" />
|
|
117
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/data" />
|
|
118
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/java" />
|
|
119
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/tests" />
|
|
120
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/tools" />
|
|
121
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/diagrams" />
|
|
122
|
-
</CLASSES>
|
|
123
|
-
<JAVADOC />
|
|
124
|
-
<SOURCES>
|
|
125
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/ext" />
|
|
126
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/lib" />
|
|
127
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/data" />
|
|
128
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/java" />
|
|
129
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/tests" />
|
|
130
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/tools" />
|
|
131
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/json-1.8.3/diagrams" />
|
|
132
|
-
</SOURCES>
|
|
133
|
-
</library>
|
|
134
|
-
</orderEntry>
|
|
135
|
-
<orderEntry type="module-library">
|
|
136
|
-
<library name="mime-types (vbundled(2.99), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/mime-types-2.99) [path][gem]">
|
|
137
|
-
<CLASSES>
|
|
138
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/mime-types-2.99/lib" />
|
|
139
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/mime-types-2.99/data" />
|
|
140
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/mime-types-2.99/support" />
|
|
141
|
-
</CLASSES>
|
|
142
|
-
<JAVADOC />
|
|
143
|
-
<SOURCES>
|
|
144
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/mime-types-2.99/lib" />
|
|
145
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/mime-types-2.99/data" />
|
|
146
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/mime-types-2.99/support" />
|
|
147
|
-
</SOURCES>
|
|
148
|
-
</library>
|
|
149
|
-
</orderEntry>
|
|
150
|
-
<orderEntry type="module-library">
|
|
151
|
-
<library name="minitest (vbundled(5.8.3), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/minitest-5.8.3) [path][gem]">
|
|
152
|
-
<CLASSES>
|
|
153
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/minitest-5.8.3/lib" />
|
|
154
|
-
</CLASSES>
|
|
155
|
-
<JAVADOC />
|
|
156
|
-
<SOURCES>
|
|
157
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/minitest-5.8.3/lib" />
|
|
158
|
-
</SOURCES>
|
|
159
|
-
</library>
|
|
160
|
-
</orderEntry>
|
|
161
|
-
<orderEntry type="module-library">
|
|
162
|
-
<library name="netrc (vbundled(0.11.0), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/netrc-0.11.0) [path][gem]">
|
|
163
|
-
<CLASSES>
|
|
164
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/netrc-0.11.0/lib" />
|
|
165
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/netrc-0.11.0/data" />
|
|
166
|
-
</CLASSES>
|
|
167
|
-
<JAVADOC />
|
|
168
|
-
<SOURCES>
|
|
169
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/netrc-0.11.0/lib" />
|
|
170
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/netrc-0.11.0/data" />
|
|
171
|
-
</SOURCES>
|
|
172
|
-
</library>
|
|
173
|
-
</orderEntry>
|
|
174
|
-
<orderEntry type="module-library">
|
|
175
|
-
<library name="rake (vbundled(10.5.0), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0) [path][gem]">
|
|
176
|
-
<CLASSES>
|
|
177
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/bin" />
|
|
178
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/lib" />
|
|
179
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/rakelib" />
|
|
180
|
-
</CLASSES>
|
|
181
|
-
<JAVADOC />
|
|
182
|
-
<SOURCES>
|
|
183
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/bin" />
|
|
184
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/lib" />
|
|
185
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/rakelib" />
|
|
186
|
-
</SOURCES>
|
|
187
|
-
</library>
|
|
188
|
-
</orderEntry>
|
|
189
|
-
<orderEntry type="module-library">
|
|
190
|
-
<library name="rest-client (vbundled(1.8.0), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/rest-client-1.8.0) [path][gem]">
|
|
191
|
-
<CLASSES>
|
|
192
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rest-client-1.8.0/bin" />
|
|
193
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rest-client-1.8.0/lib" />
|
|
194
|
-
</CLASSES>
|
|
195
|
-
<JAVADOC />
|
|
196
|
-
<SOURCES>
|
|
197
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rest-client-1.8.0/bin" />
|
|
198
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rest-client-1.8.0/lib" />
|
|
199
|
-
</SOURCES>
|
|
200
|
-
</library>
|
|
201
|
-
</orderEntry>
|
|
202
|
-
<orderEntry type="module-library">
|
|
203
|
-
<library name="rspec (vbundled(3.4.0), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/rspec-3.4.0) [path][gem]">
|
|
204
|
-
<CLASSES>
|
|
205
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-3.4.0/lib" />
|
|
206
|
-
</CLASSES>
|
|
207
|
-
<JAVADOC />
|
|
208
|
-
<SOURCES>
|
|
209
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-3.4.0/lib" />
|
|
210
|
-
</SOURCES>
|
|
211
|
-
</library>
|
|
212
|
-
</orderEntry>
|
|
213
|
-
<orderEntry type="module-library">
|
|
214
|
-
<library name="rspec-core (vbundled(3.4.1), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.4.1) [path][gem]">
|
|
215
|
-
<CLASSES>
|
|
216
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.4.1/exe" />
|
|
217
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.4.1/lib" />
|
|
218
|
-
</CLASSES>
|
|
219
|
-
<JAVADOC />
|
|
220
|
-
<SOURCES>
|
|
221
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.4.1/exe" />
|
|
222
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.4.1/lib" />
|
|
223
|
-
</SOURCES>
|
|
224
|
-
</library>
|
|
225
|
-
</orderEntry>
|
|
226
|
-
<orderEntry type="module-library">
|
|
227
|
-
<library name="rspec-expectations (vbundled(3.4.0), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/rspec-expectations-3.4.0) [path][gem]">
|
|
228
|
-
<CLASSES>
|
|
229
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib" />
|
|
230
|
-
</CLASSES>
|
|
231
|
-
<JAVADOC />
|
|
232
|
-
<SOURCES>
|
|
233
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib" />
|
|
234
|
-
</SOURCES>
|
|
235
|
-
</library>
|
|
236
|
-
</orderEntry>
|
|
237
|
-
<orderEntry type="module-library">
|
|
238
|
-
<library name="rspec-mocks (vbundled(3.4.1), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/rspec-mocks-3.4.1) [path][gem]">
|
|
239
|
-
<CLASSES>
|
|
240
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-mocks-3.4.1/lib" />
|
|
241
|
-
</CLASSES>
|
|
242
|
-
<JAVADOC />
|
|
243
|
-
<SOURCES>
|
|
244
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-mocks-3.4.1/lib" />
|
|
245
|
-
</SOURCES>
|
|
246
|
-
</library>
|
|
247
|
-
</orderEntry>
|
|
248
|
-
<orderEntry type="module-library">
|
|
249
|
-
<library name="rspec-support (vbundled(3.4.1), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/rspec-support-3.4.1) [path][gem]">
|
|
250
|
-
<CLASSES>
|
|
251
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-support-3.4.1/lib" />
|
|
252
|
-
</CLASSES>
|
|
253
|
-
<JAVADOC />
|
|
254
|
-
<SOURCES>
|
|
255
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/rspec-support-3.4.1/lib" />
|
|
256
|
-
</SOURCES>
|
|
257
|
-
</library>
|
|
258
|
-
</orderEntry>
|
|
259
|
-
<orderEntry type="module-library">
|
|
260
|
-
<library name="simplecov (vbundled(0.11.1), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/simplecov-0.11.1) [path][gem]">
|
|
261
|
-
<CLASSES>
|
|
262
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-0.11.1/lib" />
|
|
263
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-0.11.1/features" />
|
|
264
|
-
</CLASSES>
|
|
265
|
-
<JAVADOC />
|
|
266
|
-
<SOURCES>
|
|
267
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-0.11.1/lib" />
|
|
268
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-0.11.1/features" />
|
|
269
|
-
</SOURCES>
|
|
270
|
-
</library>
|
|
271
|
-
</orderEntry>
|
|
272
|
-
<orderEntry type="module-library">
|
|
273
|
-
<library name="simplecov-html (vbundled(0.10.0), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/simplecov-html-0.10.0) [path][gem]">
|
|
274
|
-
<CLASSES>
|
|
275
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-html-0.10.0/lib" />
|
|
276
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-html-0.10.0/views" />
|
|
277
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-html-0.10.0/assets" />
|
|
278
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-html-0.10.0/public" />
|
|
279
|
-
</CLASSES>
|
|
280
|
-
<JAVADOC />
|
|
281
|
-
<SOURCES>
|
|
282
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-html-0.10.0/lib" />
|
|
283
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-html-0.10.0/views" />
|
|
284
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-html-0.10.0/assets" />
|
|
285
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/simplecov-html-0.10.0/public" />
|
|
286
|
-
</SOURCES>
|
|
287
|
-
</library>
|
|
288
|
-
</orderEntry>
|
|
289
|
-
<orderEntry type="module-library">
|
|
290
|
-
<library name="term-ansicolor (vbundled(1.3.2), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/term-ansicolor-1.3.2) [path][gem]">
|
|
291
|
-
<CLASSES>
|
|
292
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/term-ansicolor-1.3.2/bin" />
|
|
293
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/term-ansicolor-1.3.2/lib" />
|
|
294
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/term-ansicolor-1.3.2/tests" />
|
|
295
|
-
</CLASSES>
|
|
296
|
-
<JAVADOC />
|
|
297
|
-
<SOURCES>
|
|
298
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/term-ansicolor-1.3.2/bin" />
|
|
299
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/term-ansicolor-1.3.2/lib" />
|
|
300
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/term-ansicolor-1.3.2/tests" />
|
|
301
|
-
</SOURCES>
|
|
302
|
-
</library>
|
|
303
|
-
</orderEntry>
|
|
304
|
-
<orderEntry type="module-library">
|
|
305
|
-
<library name="thor (vbundled(0.19.1), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/thor-0.19.1) [path][gem]">
|
|
306
|
-
<CLASSES>
|
|
307
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thor-0.19.1/bin" />
|
|
308
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thor-0.19.1/lib" />
|
|
309
|
-
</CLASSES>
|
|
310
|
-
<JAVADOC />
|
|
311
|
-
<SOURCES>
|
|
312
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thor-0.19.1/bin" />
|
|
313
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thor-0.19.1/lib" />
|
|
314
|
-
</SOURCES>
|
|
315
|
-
</library>
|
|
316
|
-
</orderEntry>
|
|
317
|
-
<orderEntry type="module-library">
|
|
318
|
-
<library name="thread_safe (vbundled(0.3.5), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/thread_safe-0.3.5) [path][gem]">
|
|
319
|
-
<CLASSES>
|
|
320
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thread_safe-0.3.5/ext" />
|
|
321
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thread_safe-0.3.5/lib" />
|
|
322
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thread_safe-0.3.5/tasks" />
|
|
323
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thread_safe-0.3.5/yard-template" />
|
|
324
|
-
</CLASSES>
|
|
325
|
-
<JAVADOC />
|
|
326
|
-
<SOURCES>
|
|
327
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thread_safe-0.3.5/ext" />
|
|
328
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thread_safe-0.3.5/lib" />
|
|
329
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thread_safe-0.3.5/tasks" />
|
|
330
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/thread_safe-0.3.5/yard-template" />
|
|
331
|
-
</SOURCES>
|
|
332
|
-
</library>
|
|
333
|
-
</orderEntry>
|
|
334
|
-
<orderEntry type="module-library">
|
|
335
|
-
<library name="tins (vbundled(1.6.0), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/tins-1.6.0) [path][gem]">
|
|
336
|
-
<CLASSES>
|
|
337
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/tins-1.6.0/lib" />
|
|
338
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/tins-1.6.0/tests" />
|
|
339
|
-
</CLASSES>
|
|
340
|
-
<JAVADOC />
|
|
341
|
-
<SOURCES>
|
|
342
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/tins-1.6.0/lib" />
|
|
343
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/tins-1.6.0/tests" />
|
|
344
|
-
</SOURCES>
|
|
345
|
-
</library>
|
|
346
|
-
</orderEntry>
|
|
347
|
-
<orderEntry type="module-library">
|
|
348
|
-
<library name="tzinfo (vbundled(1.2.2), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/tzinfo-1.2.2) [path][gem]">
|
|
349
|
-
<CLASSES>
|
|
350
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/tzinfo-1.2.2/lib" />
|
|
351
|
-
</CLASSES>
|
|
352
|
-
<JAVADOC />
|
|
353
|
-
<SOURCES>
|
|
354
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/tzinfo-1.2.2/lib" />
|
|
355
|
-
</SOURCES>
|
|
356
|
-
</library>
|
|
357
|
-
</orderEntry>
|
|
358
|
-
<orderEntry type="module-library">
|
|
359
|
-
<library name="unf (vbundled(0.1.4), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/unf-0.1.4) [path][gem]">
|
|
360
|
-
<CLASSES>
|
|
361
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/unf-0.1.4/lib" />
|
|
362
|
-
</CLASSES>
|
|
363
|
-
<JAVADOC />
|
|
364
|
-
<SOURCES>
|
|
365
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/unf-0.1.4/lib" />
|
|
366
|
-
</SOURCES>
|
|
367
|
-
</library>
|
|
368
|
-
</orderEntry>
|
|
369
|
-
<orderEntry type="module-library">
|
|
370
|
-
<library name="unf_ext (vbundled(0.0.7.1), D:/Development/Projects/Coursemology Polyglot/vendor/bundle/ruby/2.2.0/gems/unf_ext-0.0.7.1) [path][gem]">
|
|
371
|
-
<CLASSES>
|
|
372
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/unf_ext-0.0.7.1/ext" />
|
|
373
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/unf_ext-0.0.7.1/lib" />
|
|
374
|
-
</CLASSES>
|
|
375
|
-
<JAVADOC />
|
|
376
|
-
<SOURCES>
|
|
377
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/unf_ext-0.0.7.1/ext" />
|
|
378
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.2.0/gems/unf_ext-0.0.7.1/lib" />
|
|
379
|
-
</SOURCES>
|
|
380
|
-
</library>
|
|
381
|
-
</orderEntry>
|
|
382
8
|
</component>
|
|
383
9
|
</module>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# This module is included when a Language can be directly used by the user.
|
|
2
|
+
#
|
|
3
|
+
# This is deliberately defined so that consumers of this library can inject methods into all
|
|
4
|
+
# concrete languages.
|
|
5
|
+
module Coursemology::Polyglot::ConcreteLanguage
|
|
6
|
+
extend ActiveSupport::Autoload
|
|
7
|
+
|
|
8
|
+
autoload :ClassMethods
|
|
9
|
+
end
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# This module is extended by the language's singleton class when the Language can be directly used
|
|
2
|
+
# by the user.
|
|
3
|
+
#
|
|
4
|
+
# This is deliberately defined so that consumers of this library can inject methods into all
|
|
5
|
+
# concrete languages' classes.
|
|
6
|
+
module Coursemology::Polyglot::ConcreteLanguage::ClassMethods
|
|
7
|
+
end
|
|
@@ -8,6 +8,18 @@ else
|
|
|
8
8
|
class Coursemology::Polyglot::Language; end
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
+
# An abstract language. This is a class which can represent a family of languages. Languages become
|
|
12
|
+
# concrete and can be used when that language includes +Coursemology::Polyglot::ConcreteLanguage+.
|
|
13
|
+
#
|
|
14
|
+
# Languages define their own scripts and stylesheets needed to syntax highlight code.
|
|
15
|
+
#
|
|
16
|
+
# Each subclass represents a language ancestry, such as differing language versions (see the Python
|
|
17
|
+
# language definition.) Derived languages can be defined at runtime to utilise the syntax
|
|
18
|
+
# highlighting capabilities of the root language, while requiring a separate runtime environment to
|
|
19
|
+
# run programs written in the derived language.
|
|
20
|
+
#
|
|
21
|
+
# Do *NOT* remove languages after they have been defined because the types specified in this
|
|
22
|
+
# library can have references stored in code (e.g. in a database)
|
|
11
23
|
class Coursemology::Polyglot::Language
|
|
12
24
|
extend ActiveSupport::Autoload
|
|
13
25
|
|
|
@@ -15,6 +27,33 @@ class Coursemology::Polyglot::Language
|
|
|
15
27
|
autoload :Python
|
|
16
28
|
end
|
|
17
29
|
|
|
30
|
+
# Marks the current class as a concrete language.
|
|
31
|
+
#
|
|
32
|
+
# Concrete languages can be instantiated and used.
|
|
33
|
+
#
|
|
34
|
+
# @param [String] display_name The display name for the language
|
|
35
|
+
def self.concrete_language(display_name)
|
|
36
|
+
include Coursemology::Polyglot::ConcreteLanguage
|
|
37
|
+
extend Coursemology::Polyglot::ConcreteLanguage::ClassMethods
|
|
38
|
+
|
|
39
|
+
concrete_class_methods = Module.new do
|
|
40
|
+
define_method(:display_name) do
|
|
41
|
+
display_name
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
extend concrete_class_methods
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Determines the concrete language subclasses of this language.
|
|
49
|
+
#
|
|
50
|
+
# @return [Array<Class>]
|
|
51
|
+
def self.concrete_languages
|
|
52
|
+
descendants.select do |klass|
|
|
53
|
+
klass.ancestors.include?(Coursemology::Polyglot::ConcreteLanguage)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
18
57
|
# Gets the display name of the language.
|
|
19
58
|
#
|
|
20
59
|
# @abstract
|
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
class Coursemology::Polyglot::Language::Python < Coursemology::Polyglot::Language
|
|
2
2
|
class Python2Point7 < Coursemology::Polyglot::Language::Python
|
|
3
|
-
|
|
4
|
-
def display_name
|
|
5
|
-
'Python 2.7'
|
|
6
|
-
end
|
|
7
|
-
end
|
|
3
|
+
concrete_language 'Python 2.7'
|
|
8
4
|
end
|
|
9
5
|
|
|
10
6
|
class Python3Point4 < Coursemology::Polyglot::Language::Python
|
|
11
|
-
|
|
12
|
-
def display_name
|
|
13
|
-
'Python 3.4'
|
|
14
|
-
end
|
|
15
|
-
end
|
|
7
|
+
concrete_language 'Python 3.4'
|
|
16
8
|
end
|
|
17
9
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: coursemology-polyglot
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joel Low
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-01-
|
|
11
|
+
date: 2016-01-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -135,6 +135,8 @@ files:
|
|
|
135
135
|
- Rakefile
|
|
136
136
|
- coursemology-polyglot.gemspec
|
|
137
137
|
- lib/coursemology/polyglot.rb
|
|
138
|
+
- lib/coursemology/polyglot/concrete_language.rb
|
|
139
|
+
- lib/coursemology/polyglot/concrete_language/class_methods.rb
|
|
138
140
|
- lib/coursemology/polyglot/language.rb
|
|
139
141
|
- lib/coursemology/polyglot/language/python.rb
|
|
140
142
|
- lib/coursemology/polyglot/version.rb
|