modai_prct12 0.0.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.travis.yml +6 -0
  4. data/Gemfile +9 -0
  5. data/Guardfile +346 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +31 -0
  8. data/Rakefile +6 -0
  9. data/documentacion/classes/MatrizAbstracta.html +144 -0
  10. data/documentacion/classes/MatrizAbstracta.src/M000032.html +21 -0
  11. data/documentacion/classes/MatrizDSL.html +212 -0
  12. data/documentacion/classes/MatrizDSL.src/M000028.html +36 -0
  13. data/documentacion/classes/MatrizDSL.src/M000029.html +20 -0
  14. data/documentacion/classes/MatrizDSL.src/M000030.html +27 -0
  15. data/documentacion/classes/MatrizDSL.src/M000031.html +40 -0
  16. data/documentacion/classes/MatrizDensa.html +345 -0
  17. data/documentacion/classes/MatrizDensa.src/M000016.html +18 -0
  18. data/documentacion/classes/MatrizDensa.src/M000017.html +37 -0
  19. data/documentacion/classes/MatrizDensa.src/M000018.html +27 -0
  20. data/documentacion/classes/MatrizDensa.src/M000019.html +44 -0
  21. data/documentacion/classes/MatrizDensa.src/M000020.html +41 -0
  22. data/documentacion/classes/MatrizDensa.src/M000021.html +29 -0
  23. data/documentacion/classes/MatrizDensa.src/M000022.html +37 -0
  24. data/documentacion/classes/MatrizDensa.src/M000023.html +28 -0
  25. data/documentacion/classes/MatrizDensa.src/M000024.html +28 -0
  26. data/documentacion/classes/MatrizDensa.src/M000025.html +35 -0
  27. data/documentacion/classes/MatrizDensa.src/M000026.html +18 -0
  28. data/documentacion/classes/MatrizDensa.src/M000027.html +37 -0
  29. data/documentacion/classes/MatrizDispersa.html +314 -0
  30. data/documentacion/classes/MatrizDispersa.src/M000033.html +22 -0
  31. data/documentacion/classes/MatrizDispersa.src/M000034.html +49 -0
  32. data/documentacion/classes/MatrizDispersa.src/M000035.html +33 -0
  33. data/documentacion/classes/MatrizDispersa.src/M000036.html +64 -0
  34. data/documentacion/classes/MatrizDispersa.src/M000037.html +66 -0
  35. data/documentacion/classes/MatrizDispersa.src/M000038.html +53 -0
  36. data/documentacion/classes/MatrizDispersa.src/M000039.html +31 -0
  37. data/documentacion/classes/MatrizDispersa.src/M000040.html +31 -0
  38. data/documentacion/classes/MatrizDispersa.src/M000041.html +35 -0
  39. data/documentacion/classes/MatrizDispersa.src/M000042.html +18 -0
  40. data/documentacion/classes/ModaiPrct12.html +147 -0
  41. data/documentacion/classes/Racional.html +380 -0
  42. data/documentacion/classes/Racional.src/M000002.html +24 -0
  43. data/documentacion/classes/Racional.src/M000003.html +18 -0
  44. data/documentacion/classes/Racional.src/M000004.html +22 -0
  45. data/documentacion/classes/Racional.src/M000005.html +18 -0
  46. data/documentacion/classes/Racional.src/M000006.html +18 -0
  47. data/documentacion/classes/Racional.src/M000007.html +18 -0
  48. data/documentacion/classes/Racional.src/M000008.html +18 -0
  49. data/documentacion/classes/Racional.src/M000009.html +23 -0
  50. data/documentacion/classes/Racional.src/M000010.html +23 -0
  51. data/documentacion/classes/Racional.src/M000011.html +23 -0
  52. data/documentacion/classes/Racional.src/M000012.html +23 -0
  53. data/documentacion/classes/Racional.src/M000013.html +23 -0
  54. data/documentacion/classes/Racional.src/M000014.html +19 -0
  55. data/documentacion/classes/Racional.src/M000015.html +18 -0
  56. data/documentacion/created.rid +1 -0
  57. data/documentacion/files/lib/modai_prct12/gcd_rb.html +132 -0
  58. data/documentacion/files/lib/modai_prct12/gcd_rb.src/M000001.html +22 -0
  59. data/documentacion/files/lib/modai_prct12/matrizAbstracta_rb.html +108 -0
  60. data/documentacion/files/lib/modai_prct12/matrizDSL_rb.html +105 -0
  61. data/documentacion/files/lib/modai_prct12/matrizDensa_rb.html +105 -0
  62. data/documentacion/files/lib/modai_prct12/matrizDispersa_rb.html +106 -0
  63. data/documentacion/files/lib/modai_prct12/racional_rb.html +114 -0
  64. data/documentacion/files/lib/modai_prct12/version_rb.html +101 -0
  65. data/documentacion/files/lib/modai_prct12_rb.html +112 -0
  66. data/documentacion/files/spec/modai_prct12_spec_rb.html +116 -0
  67. data/documentacion/files/spec/spec_helper_rb.html +114 -0
  68. data/documentacion/fr_class_index.html +32 -0
  69. data/documentacion/fr_file_index.html +36 -0
  70. data/documentacion/fr_method_index.html +68 -0
  71. data/documentacion/index.html +24 -0
  72. data/documentacion/rdoc-style.css +208 -0
  73. data/lib/modai_prct12.rb +26 -0
  74. data/lib/modai_prct12/gcd.rb +9 -0
  75. data/lib/modai_prct12/matrizAbstracta.rb +30 -0
  76. data/lib/modai_prct12/matrizDSL.rb +120 -0
  77. data/lib/modai_prct12/matrizDensa.rb +232 -0
  78. data/lib/modai_prct12/matrizDispersa.rb +280 -0
  79. data/lib/modai_prct12/racional.rb +121 -0
  80. data/lib/modai_prct12/version.rb +3 -0
  81. data/modai_prct12.gemspec +23 -0
  82. data/spec/modai_prct12_spec.rb +251 -0
  83. data/spec/spec_helper.rb +17 -0
  84. metadata +157 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 80100db0e47c18f6b2ffc624f1cc5c523fc904ae
4
+ data.tar.gz: 13b028ea8222d57686ffe3ab6ecf69497599dc48
5
+ SHA512:
6
+ metadata.gz: 482e00885a94e96ef7cc9b9f552be555407650beb9c60d622125194746c11a13783605c0206113e6154de59ff144766d096bd82478b2ee74660d2565717ebb10
7
+ data.tar.gz: 9092d067fc49aacedb22bd61784a599c8b66cdad436e3cf4f64c3b7396fc8cd7448bee37b3d1961b438f451b52e333f7508008b5973a8c326155b1315041b35e
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ # - 1.9.2
5
+ - jruby-19mode # JRuby in 1.9 mode
6
+ # - rbx-19mode
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in modai_prct09.gemspec
4
+ gemspec
5
+ gem 'rake'
6
+ gem 'rspec'
7
+ gem 'guard'
8
+ gem 'guard-rspec'
9
+ gem 'guard-bundler'
data/Guardfile ADDED
@@ -0,0 +1,346 @@
1
+ guard 'bundler' do
2
+ watch('Gemfile')
3
+ watch(/^.+\.gemspec/)
4
+ end
5
+
6
+ guard 'rspec', :version => 2 do
7
+ watch(%r{^spec/.+_spec\.rb$})
8
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
9
+ watch('spec/spec_helper.rb') { "spec" }
10
+ end
11
+
12
+ guard :bundler do
13
+ watch('Gemfile')
14
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
15
+ # watch(/^.+\.gemspec/)
16
+ end
17
+
18
+ guard :rspec do
19
+ watch(%r{^spec/.+_spec\.rb$})
20
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
21
+ watch('spec/spec_helper.rb') { "spec" }
22
+
23
+ # Rails example
24
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
25
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
26
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
27
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
28
+ watch('config/routes.rb') { "spec/routing" }
29
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
30
+
31
+ # Capybara features specs
32
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
33
+
34
+ # Turnip features and steps
35
+ watch(%r{^spec/acceptance/(.+)\.feature$})
36
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
37
+ end
38
+
39
+
40
+ guard :bundler do
41
+ watch('Gemfile')
42
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
43
+ # watch(/^.+\.gemspec/)
44
+ end
45
+
46
+ guard :rspec do
47
+ watch(%r{^spec/.+_spec\.rb$})
48
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
49
+ watch('spec/spec_helper.rb') { "spec" }
50
+
51
+ # Rails example
52
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
53
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
54
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
55
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
56
+ watch('config/routes.rb') { "spec/routing" }
57
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
58
+
59
+ # Capybara features specs
60
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
61
+
62
+ # Turnip features and steps
63
+ watch(%r{^spec/acceptance/(.+)\.feature$})
64
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
65
+ end
66
+
67
+
68
+ guard :bundler do
69
+ watch('Gemfile')
70
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
71
+ # watch(/^.+\.gemspec/)
72
+ end
73
+
74
+ guard :rspec do
75
+ watch(%r{^spec/.+_spec\.rb$})
76
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
77
+ watch('spec/spec_helper.rb') { "spec" }
78
+
79
+ # Rails example
80
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
81
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
82
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
83
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
84
+ watch('config/routes.rb') { "spec/routing" }
85
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
86
+
87
+ # Capybara features specs
88
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
89
+
90
+ # Turnip features and steps
91
+ watch(%r{^spec/acceptance/(.+)\.feature$})
92
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
93
+ end
94
+
95
+
96
+ guard :bundler do
97
+ watch('Gemfile')
98
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
99
+ # watch(/^.+\.gemspec/)
100
+ end
101
+
102
+ guard :rspec do
103
+ watch(%r{^spec/.+_spec\.rb$})
104
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
105
+ watch('spec/spec_helper.rb') { "spec" }
106
+
107
+ # Rails example
108
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
109
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
110
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
111
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
112
+ watch('config/routes.rb') { "spec/routing" }
113
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
114
+
115
+ # Capybara features specs
116
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
117
+
118
+ # Turnip features and steps
119
+ watch(%r{^spec/acceptance/(.+)\.feature$})
120
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
121
+ end
122
+
123
+
124
+ guard :bundler do
125
+ watch('Gemfile')
126
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
127
+ # watch(/^.+\.gemspec/)
128
+ end
129
+
130
+ guard :rspec do
131
+ watch(%r{^spec/.+_spec\.rb$})
132
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
133
+ watch('spec/spec_helper.rb') { "spec" }
134
+
135
+ # Rails example
136
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
137
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
138
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
139
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
140
+ watch('config/routes.rb') { "spec/routing" }
141
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
142
+
143
+ # Capybara features specs
144
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
145
+
146
+ # Turnip features and steps
147
+ watch(%r{^spec/acceptance/(.+)\.feature$})
148
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
149
+ end
150
+
151
+
152
+ guard :bundler do
153
+ watch('Gemfile')
154
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
155
+ # watch(/^.+\.gemspec/)
156
+ end
157
+
158
+ guard :rspec do
159
+ watch(%r{^spec/.+_spec\.rb$})
160
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
161
+ watch('spec/spec_helper.rb') { "spec" }
162
+
163
+ # Rails example
164
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
165
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
166
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
167
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
168
+ watch('config/routes.rb') { "spec/routing" }
169
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
170
+
171
+ # Capybara features specs
172
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
173
+
174
+ # Turnip features and steps
175
+ watch(%r{^spec/acceptance/(.+)\.feature$})
176
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
177
+ end
178
+
179
+
180
+ guard :bundler do
181
+ watch('Gemfile')
182
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
183
+ # watch(/^.+\.gemspec/)
184
+ end
185
+
186
+ guard :rspec do
187
+ watch(%r{^spec/.+_spec\.rb$})
188
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
189
+ watch('spec/spec_helper.rb') { "spec" }
190
+
191
+ # Rails example
192
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
193
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
194
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
195
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
196
+ watch('config/routes.rb') { "spec/routing" }
197
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
198
+
199
+ # Capybara features specs
200
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
201
+
202
+ # Turnip features and steps
203
+ watch(%r{^spec/acceptance/(.+)\.feature$})
204
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
205
+ end
206
+
207
+
208
+ guard :bundler do
209
+ watch('Gemfile')
210
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
211
+ # watch(/^.+\.gemspec/)
212
+ end
213
+
214
+ guard :rspec do
215
+ watch(%r{^spec/.+_spec\.rb$})
216
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
217
+ watch('spec/spec_helper.rb') { "spec" }
218
+
219
+ # Rails example
220
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
221
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
222
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
223
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
224
+ watch('config/routes.rb') { "spec/routing" }
225
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
226
+
227
+ # Capybara features specs
228
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
229
+
230
+ # Turnip features and steps
231
+ watch(%r{^spec/acceptance/(.+)\.feature$})
232
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
233
+ end
234
+
235
+
236
+ guard :bundler do
237
+ watch('Gemfile')
238
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
239
+ # watch(/^.+\.gemspec/)
240
+ end
241
+
242
+ guard :rspec do
243
+ watch(%r{^spec/.+_spec\.rb$})
244
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
245
+ watch('spec/spec_helper.rb') { "spec" }
246
+
247
+ # Rails example
248
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
249
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
250
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
251
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
252
+ watch('config/routes.rb') { "spec/routing" }
253
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
254
+
255
+ # Capybara features specs
256
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
257
+
258
+ # Turnip features and steps
259
+ watch(%r{^spec/acceptance/(.+)\.feature$})
260
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
261
+ end
262
+
263
+
264
+ guard :bundler do
265
+ watch('Gemfile')
266
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
267
+ # watch(/^.+\.gemspec/)
268
+ end
269
+
270
+ guard :rspec do
271
+ watch(%r{^spec/.+_spec\.rb$})
272
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
273
+ watch('spec/spec_helper.rb') { "spec" }
274
+
275
+ # Rails example
276
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
277
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
278
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
279
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
280
+ watch('config/routes.rb') { "spec/routing" }
281
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
282
+
283
+ # Capybara features specs
284
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
285
+
286
+ # Turnip features and steps
287
+ watch(%r{^spec/acceptance/(.+)\.feature$})
288
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
289
+ end
290
+
291
+
292
+ guard :bundler do
293
+ watch('Gemfile')
294
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
295
+ # watch(/^.+\.gemspec/)
296
+ end
297
+
298
+ guard :rspec do
299
+ watch(%r{^spec/.+_spec\.rb$})
300
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
301
+ watch('spec/spec_helper.rb') { "spec" }
302
+
303
+ # Rails example
304
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
305
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
306
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
307
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
308
+ watch('config/routes.rb') { "spec/routing" }
309
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
310
+
311
+ # Capybara features specs
312
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
313
+
314
+ # Turnip features and steps
315
+ watch(%r{^spec/acceptance/(.+)\.feature$})
316
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
317
+ end
318
+
319
+
320
+ guard :bundler do
321
+ watch('Gemfile')
322
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
323
+ # watch(/^.+\.gemspec/)
324
+ end
325
+
326
+ guard :rspec do
327
+ watch(%r{^spec/.+_spec\.rb$})
328
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
329
+ watch('spec/spec_helper.rb') { "spec" }
330
+
331
+ # Rails example
332
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
333
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
334
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
335
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
336
+ watch('config/routes.rb') { "spec/routing" }
337
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
338
+
339
+ # Capybara features specs
340
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
341
+
342
+ # Turnip features and steps
343
+ watch(%r{^spec/acceptance/(.+)\.feature$})
344
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
345
+ end
346
+
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Dailos Herrera Bencomo
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ Práctica : Práctica de Laboratorio #12 - EQUIPO.
2
+ ======================================================
3
+ Grupo : LPP-T-45.
4
+ Alumnos : DAILOS HERRERA BENCOMO.
5
+ MOHAMMED MAHRACH.
6
+ Asignatura : LPP.
7
+
8
+ -------------------------------------------------
9
+
10
+ Considere la Gema para la representación de Matrices que ha desarrollado en prácticas anteriores. Los objetivos de esta práctica son dos:
11
+
12
+ * Seguir las dependencias de la Gema (Gemnasium).
13
+ * Diseñar e implementar un Lenguaje de Dominio Específico (Domain Specific Language - DSL).
14
+
15
+ 1. Diseñar y desarrollar un DSL interno para trabajar con matrices.
16
+
17
+ Los DSL son herramientas útiles que permiten expresar fácilmente la lógica específica de un problema particular (dominio) que de otro modo sería difícil o farragoso de escribir en otro idioma. Por lo general, se trata de definir una gramática que se asemeja más al léxico utilizado por el dominio de destino. Por ejemplo, un matemático que trabaja con matrices no piensa en bucles, iteradores o arrays, sino que piensa en términos de vectores, productos y transformaciones. El uso de un lenguaje de propósito general, como Ruby, con sólo arrays e iteradores requeriría que el matemático practicara gimnasia mental para traducir mentalmente entre el dominio de su problema (matrices) y el del lenguaje con el que escribe el código (Ruby) . El uso de un DSL diseñado para operaciones con matrices eliminaría esta traducción mental y proporcionaría un código más conciso. Los DSL tienen dos formas: externos e internos. Los DSL externos existen independientemente de cualquier otro lenguaje. Los DSL internos estan alojados dentro de otro lenguaje de programación - por ejemplo, Rails es un DSL interno que se aloja en el lenguaje de programación Ruby.
18
+
19
+ En este ejercicio se ha de diseñar un DSL interno para trabajar con la clase para matrices que se ha desarrollado durante el curso. Un posilbe ejemplo del mismo sería el siguiente:
20
+
21
+ ejemplo = MatrixDSL.new("suma") do
22
+ option "densa"
23
+ option "console"
24
+
25
+ operand [[1,2,3],[4,5,6],[7,8,9]]
26
+ operand [[1,1,1],[1,1,1],[1,1,1]]
27
+ end
28
+
29
+ 2. Utilizar Gemnasium para comprobar las dependencias de la aplicación desarrollada.
30
+ 3. Indicar la URL del repositorio que ha desarrollado y el informe de dependencias para su Gema ofrecido por Gemnasium.
31
+