rhodes-framework 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. data/.gitignore +2 -0
  2. data/History.txt +37 -0
  3. data/Manifest.txt +66 -0
  4. data/README.rdoc +2 -0
  5. data/Rakefile +50 -0
  6. data/lib/ServeME.rb +7 -0
  7. data/lib/TestServe.rb +9 -0
  8. data/lib/bsearch.rb +120 -0
  9. data/lib/builtinME.rb +626 -0
  10. data/lib/date/format.rb +1339 -0
  11. data/lib/date.rb +1792 -0
  12. data/lib/dateME.rb +24 -0
  13. data/lib/erb.rb +896 -0
  14. data/lib/find.rb +81 -0
  15. data/lib/rational.rb +19 -0
  16. data/lib/rationalME.rb +530 -0
  17. data/lib/rho/render.rb +51 -0
  18. data/lib/rho/rho.rb +255 -0
  19. data/lib/rho/rhoapplication.rb +36 -0
  20. data/lib/rho/rhocontact.rb +110 -0
  21. data/lib/rho/rhocontroller.rb +35 -0
  22. data/lib/rho/rhofsconnector.rb +32 -0
  23. data/lib/rho/rhosupport.rb +146 -0
  24. data/lib/rho/rhoviewhelpers.rb +130 -0
  25. data/lib/rho.rb +1 -0
  26. data/lib/rhodes-framework.rb +2 -0
  27. data/lib/rhodes.rb +9 -0
  28. data/lib/rhoframework.rb +38 -0
  29. data/lib/rhofsconnector.rb +1 -0
  30. data/lib/rhom/rhom.rb +58 -0
  31. data/lib/rhom/rhom_db_adapter.rb +185 -0
  32. data/lib/rhom/rhom_db_adapterME.rb +93 -0
  33. data/lib/rhom/rhom_object.rb +69 -0
  34. data/lib/rhom/rhom_object_factory.rb +309 -0
  35. data/lib/rhom/rhom_source.rb +60 -0
  36. data/lib/rhom.rb +1 -0
  37. data/lib/singleton.rb +137 -0
  38. data/lib/time.rb +489 -0
  39. data/lib/version.rb +8 -0
  40. data/res/sqlite3/constants.rb +49 -0
  41. data/res/sqlite3/database.rb +715 -0
  42. data/res/sqlite3/driver/dl/api.rb +154 -0
  43. data/res/sqlite3/driver/dl/driver.rb +307 -0
  44. data/res/sqlite3/driver/native/driver.rb +257 -0
  45. data/res/sqlite3/errors.rb +68 -0
  46. data/res/sqlite3/pragmas.rb +271 -0
  47. data/res/sqlite3/resultset.rb +176 -0
  48. data/res/sqlite3/sqlite3_api.rb +0 -0
  49. data/res/sqlite3/statement.rb +230 -0
  50. data/res/sqlite3/translator.rb +109 -0
  51. data/res/sqlite3/value.rb +57 -0
  52. data/res/sqlite3/version.rb +14 -0
  53. data/rhodes-framework.gemspec +18 -0
  54. data/rhodes.gemspec +18 -0
  55. data/spec/app_manifest.txt +4 -0
  56. data/spec/configs/account.rb +3 -0
  57. data/spec/configs/case.rb +3 -0
  58. data/spec/configs/employee.rb +3 -0
  59. data/spec/rho_controller_spec.rb +144 -0
  60. data/spec/rho_spec.rb +75 -0
  61. data/spec/rhom_object_factory_spec.rb +372 -0
  62. data/spec/rhom_spec.rb +45 -0
  63. data/spec/spec.opts +1 -0
  64. data/spec/spec_helper.rb +49 -0
  65. data/spec/stubs.rb +39 -0
  66. data/spec/syncdbtest.sqlite +0 -0
  67. metadata +202 -0
data/lib/builtinME.rb ADDED
@@ -0,0 +1,626 @@
1
+ $" = []
2
+ $* = ARGV
3
+ $SAFE = 0
4
+
5
+ TRUE = true
6
+ FALSE = false
7
+ NIL = nil
8
+
9
+ RUBY_VERSION = "1.8.5"
10
+ VERSION = "1.8.5"
11
+
12
+ TOPLEVEL_BINDING = self
13
+
14
+ module Kernel
15
+ def nil?
16
+ false
17
+ end
18
+
19
+ def fork
20
+ raise NotImplementedError, "the fork() function is unimplemented on this machine"
21
+ end
22
+
23
+ def =~ x
24
+ false
25
+ end
26
+
27
+ def singleton_method_added symbol
28
+ end
29
+
30
+ def singleton_method_removed symbol
31
+ end
32
+
33
+ def singleton_method_undefined symbol
34
+ end
35
+
36
+ #private
37
+ def require(file_name)
38
+ return false if ($".include?(file_name) || $".include?(file_name + ".rb"))
39
+
40
+ load(file_name);
41
+ end
42
+
43
+ #private
44
+ def load(file_name)
45
+ if __load_with_reflection__(file_name)
46
+ return true
47
+ end
48
+
49
+ # $:.each do |path|
50
+ # return true if load_rb_file(path, file_name)
51
+ # end
52
+
53
+ raise LoadError, "no such file to load -- " + file_name
54
+ end
55
+
56
+ private
57
+ def method_added symbol
58
+ end
59
+ end
60
+
61
+ class Object
62
+ # def to_a
63
+ # [self]
64
+ # end
65
+
66
+ alias type :class
67
+
68
+ private
69
+ def initialize
70
+ end
71
+ end
72
+
73
+ module Enumerable
74
+ def find_all
75
+ a = []
76
+ each {|x|
77
+ if yield x
78
+ a.push(x)
79
+ end
80
+ }
81
+ return a
82
+ end
83
+
84
+ alias :select :find_all
85
+
86
+ def sort_by &block
87
+ array_of_tuples = []
88
+ each {|x| array_of_tuples.push([x, yield(x)])}
89
+ array_of_tuples = array_of_tuples.sort {|x, y| x[1] <=> y[1]}
90
+ return array_of_tuples.collect {|x| x[0]}
91
+ end
92
+
93
+ def each_with_index
94
+ i = 0;
95
+ each {|x| yield x, i; i = i + 1}
96
+ end
97
+
98
+ def to_a
99
+ arr = []
100
+ each{|obj| arr <<obj}
101
+ return arr
102
+ end
103
+
104
+ alias entries :to_a
105
+
106
+ def sort(&proc)
107
+ #proc = lambda{ |a,b| a<=>b } unless block_given?
108
+ arr = to_a
109
+ arr.sort{|x,y|
110
+ if block_given? then
111
+ proc.call(x,y)
112
+ else
113
+ x<=>y
114
+ end
115
+ }
116
+ end
117
+
118
+ def member?(other)
119
+ each{|obj| return true if obj == other }
120
+ return false
121
+ end
122
+
123
+ alias include? :member?
124
+
125
+ def inject(*args)
126
+ if args.size == 0 then
127
+ vals = to_a
128
+ memo = vals[0]
129
+ vals[1..vals.size-1].each {|obj| memo = yield(memo, obj)}
130
+ return memo
131
+ elsif args.size == 1 then
132
+ memo = args[0]
133
+ each {|obj| memo = yield(memo, obj)}
134
+ return memo
135
+ else
136
+ nil
137
+ end
138
+ end
139
+
140
+ def collect
141
+ arr = []
142
+ each{|obj| arr << yield(obj)}
143
+ return arr
144
+ end
145
+
146
+ alias map :collect
147
+
148
+ def max(&proc)
149
+ proc = lambda { |a, b| a <=> b } unless block_given?
150
+ max = nil
151
+ each {|obj| max = obj if max.nil? || proc.call(max, obj) < 0}
152
+ max
153
+ end
154
+
155
+ def min(&proc)
156
+ proc = lambda { |a, b| a <=> b } unless block_given?
157
+ min = nil
158
+ each {|obj| min = obj if min.nil? || proc.call(min, obj) > 0}
159
+ min
160
+ end
161
+
162
+ end
163
+
164
+ class Array
165
+ alias reject! delete_if
166
+
167
+ def reject
168
+ a = []
169
+ each {|x|
170
+ if !yield x
171
+ a << x
172
+ end
173
+ }
174
+ a
175
+ end
176
+
177
+ # def to_a
178
+ # self
179
+ # end
180
+
181
+ def join(sepString="")
182
+ return to_s if sepString.nil? || sepString == ""
183
+
184
+ result = ""
185
+ (length - 1).times do |index|
186
+ result += (self[index].to_s) + sepString
187
+ end
188
+ result += self[length - 1].to_s if length != 0
189
+ result
190
+ end
191
+
192
+ alias map! collect!
193
+ alias size length
194
+ alias to_ary to_a
195
+
196
+ def inspect
197
+ str = "["
198
+ is_first = true
199
+ self.each() { |x|
200
+ if (!is_first)
201
+ str << ", "
202
+ end
203
+ is_first = false
204
+ str << x.inspect
205
+ }
206
+ str << "]"
207
+ end
208
+
209
+ alias to_s inspect
210
+
211
+ end
212
+
213
+ class File
214
+ SEPARATOR = '/'
215
+
216
+ def File.join *aString
217
+ s = ""
218
+ first = true
219
+ aString.each {|x|
220
+ if !first
221
+ s += File::SEPARATOR
222
+ end
223
+ s+= x
224
+ first = false
225
+ }
226
+ s
227
+ end
228
+ end
229
+
230
+ class IO
231
+ def each
232
+ while !eof
233
+ yield gets
234
+ end
235
+ close
236
+ end
237
+ end
238
+
239
+ class Time
240
+ include Comparable
241
+ end
242
+
243
+ class Hash
244
+ def each
245
+ ks = keys
246
+ ks.each {|k| yield([k, self[k]])}
247
+ end
248
+
249
+ def each_key
250
+ ks = keys
251
+ ks.each {|k| yield(k)}
252
+ end
253
+
254
+ def each_value
255
+ vs = values
256
+ vs.each {|k| yield(k)}
257
+ end
258
+
259
+ def empty?
260
+ length == 0
261
+ end
262
+
263
+ alias each_pair each
264
+
265
+ def to_a
266
+ res = []
267
+ each_pair do |k, v|
268
+ item = []
269
+ item << k
270
+ item << v
271
+ res << item
272
+ end
273
+ res
274
+ end
275
+
276
+ def inspect
277
+ r = '{'
278
+ is_first = true
279
+ each_pair do |k, v|
280
+ if !is_first
281
+ r << ", "
282
+ end
283
+ is_first = false
284
+ r << k.inspect
285
+ r << '=>'
286
+ r << v.inspect
287
+ end
288
+ r << '}'
289
+ end
290
+
291
+ alias to_s inspect
292
+
293
+ def invert
294
+ h = {}
295
+ each {|k, v| h[v] = k}
296
+ h
297
+ end
298
+
299
+ def update other
300
+ other.each {|k, v| self[k] = v}
301
+ self
302
+ end
303
+
304
+ alias merge! update
305
+
306
+ def merge other
307
+ clone.merge!(other)
308
+ end
309
+
310
+ def index value
311
+ each {|k, v| return k if value == v }
312
+ return nil
313
+ end
314
+ end
315
+
316
+ class Symbol
317
+ alias to_s id2name
318
+ end
319
+
320
+ class << self
321
+ def to_s
322
+ return "main"
323
+ end
324
+
325
+ def public
326
+ Object.public
327
+ end
328
+
329
+ def private
330
+ Object.private
331
+ end
332
+
333
+ def protected
334
+ Object.protected
335
+ end
336
+ end
337
+
338
+ class Fixnum
339
+ def is_alpha_numeric
340
+ return (self>=?0 && self<=?9) || (self>=?a && self<=?z) || (self>=?A && self<=?Z)
341
+ end
342
+ end
343
+
344
+ module Comparable
345
+ def >=(value)
346
+ compare = (self <=> value)
347
+ return compare != -1 and compare != nil
348
+ end
349
+
350
+ def ==(value)
351
+ compare = (self <=> value)
352
+ return compare == 0
353
+ end
354
+
355
+ def <=(value)
356
+ compare = (self <=> value)
357
+ return compare != 1 and compare != nil
358
+ end
359
+
360
+ def >(value)
361
+ compare = (self <=> value)
362
+ return compare == 1
363
+ end
364
+
365
+ def <(value)
366
+ compare = (self <=> value)
367
+ return compare == -1
368
+ end
369
+
370
+ def between?(a, b)
371
+ self >= a && self <= b
372
+ end
373
+ end
374
+
375
+ class Numeric
376
+ include Comparable
377
+
378
+ def floor
379
+ self.to_f.floor
380
+ end
381
+
382
+ def abs
383
+ return -self if (self <=> 0) == -1
384
+ self
385
+ end
386
+
387
+ def div value
388
+ (self/value).floor
389
+ end
390
+
391
+ def divmod(value)
392
+ [(self/value).floor, self % value]
393
+ end
394
+
395
+ def integer?
396
+ false
397
+ end
398
+
399
+ alias eql? :==
400
+
401
+ def modulo(value)
402
+ self % value
403
+ end
404
+
405
+ def nonzero?
406
+ return nil if self == 0
407
+ self
408
+ end
409
+
410
+ def zero?
411
+ return true if self == 0
412
+ false
413
+ end
414
+
415
+ def remainder(value)
416
+ self_sign = (self < 0)
417
+ value_sign = (value < 0)
418
+ return self % value if self_sign == value_sign
419
+ self % (-value)
420
+ end
421
+
422
+ end
423
+
424
+ class Integer < Numeric
425
+
426
+ def to_i
427
+ return self
428
+ end
429
+
430
+ alias to_int to_i
431
+
432
+ #Returns the Integer equal to int + 1
433
+ def next
434
+ self + 1
435
+ end
436
+
437
+ #Synonym for Integer#next
438
+ def succ
439
+ self + 1
440
+ end
441
+
442
+ #Always returns true
443
+ def integer?
444
+ true
445
+ end
446
+
447
+ def upto(to)
448
+ a = self
449
+ while a <= to
450
+ yield a
451
+ a += 1
452
+ end
453
+ end
454
+
455
+ def downto(to)
456
+ a = self
457
+ while a >= to
458
+ yield a
459
+ a -= 1
460
+ end
461
+ end
462
+
463
+ def size
464
+ 4
465
+ end
466
+
467
+ def integer?
468
+ true
469
+ end
470
+ end
471
+
472
+ class Fixnum < Integer
473
+ def to_i
474
+ self
475
+ end
476
+
477
+ alias inspect to_s
478
+ end
479
+
480
+ class NilClass
481
+
482
+ #Returns false
483
+ def &(anObject)
484
+ false
485
+ end
486
+
487
+ #Returns false if anObject is nil or false, true otherwise
488
+ def ^(anObject)
489
+ anObject ? true : false
490
+ end
491
+
492
+ #Returns false if anObject is nil or false, true otherwise
493
+ def |(anObject)
494
+ anObject ? true : false
495
+ end
496
+
497
+ #Always returns true
498
+ def nil?
499
+ true
500
+ end
501
+
502
+ #Always returns an empty array
503
+ def to_a
504
+ []
505
+ end
506
+
507
+ #Always returns zero
508
+ def to_i
509
+ 0
510
+ end
511
+
512
+ def to_f
513
+ 0.0
514
+ end
515
+
516
+ #Always returns the empty string
517
+ def to_s
518
+ ""
519
+ end
520
+
521
+ def inspect
522
+ "nil"
523
+ end
524
+ alias to_str to_s
525
+ end
526
+
527
+ class TrueClass
528
+ #Returns false if anObject is nil or false, true otherwise
529
+ def &(anObject)
530
+ anObject ? true : false
531
+ end
532
+
533
+ #Returns true if anObject is nil or false, false otherwise
534
+ def ^(anObject)
535
+ anObject ? false : true
536
+ end
537
+
538
+ #Returns true
539
+ def |(anObject)
540
+ true
541
+ end
542
+
543
+ def to_s
544
+ "true"
545
+ end
546
+
547
+ def inspect
548
+ "true"
549
+ end
550
+ end
551
+
552
+ class FalseClass
553
+
554
+ #Returns false
555
+ def &(anObject)
556
+ false
557
+ end
558
+
559
+ #If anObject is nil or false, returns false; otherwise, returns true
560
+ def ^(anObject)
561
+ anObject ? true : false
562
+ end
563
+
564
+ #Returns false if anObject is nil or false; true otherwise
565
+ def |(anObject)
566
+ anObject ? true : false
567
+ end
568
+
569
+ def to_s
570
+ "false"
571
+ end
572
+
573
+ def inspect
574
+ "false"
575
+ end
576
+ end
577
+
578
+ class String
579
+ include Comparable
580
+
581
+ def to_s
582
+ return self
583
+ end
584
+
585
+ def empty?
586
+ length == 0
587
+ end
588
+
589
+ def inspect
590
+ '"' + to_s + '"'
591
+ end
592
+
593
+ #from rubinius
594
+ # justify left = -1, center = 0, right = 1
595
+ def justify_string(width, str, justify)
596
+ return self if width <= length
597
+ pad = width - length
598
+ out = str.to_str * (pad / str.length)
599
+ out << str[0, pad - out.length] if out.length < pad
600
+ # Left justification
601
+ return self << out if justify == -1
602
+ # Right justification
603
+ return out << self if justify == 1
604
+ # and finially center
605
+ split = (width / 2) - (length / 2)
606
+ return out.insert(split-((width-length)%2), self)
607
+ end
608
+
609
+ #from rubinius
610
+ def rjust(width, str=" ")
611
+ justify_string(width, str, 1)
612
+ end
613
+
614
+ #from rubinius
615
+ def ljust(width, str=" ")
616
+ justify_string(width, str, -1)
617
+ end
618
+
619
+ #from rubinius
620
+ def center(width, str=" ")
621
+ justify_string(width, str, 0)
622
+ end
623
+
624
+ alias to_str to_s
625
+ alias size length
626
+ end