kyanite 0.3.7 → 0.4.0

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.
Files changed (76) hide show
  1. data/0_rake_test.bat +12 -0
  2. data/1_rake_install_gem.bat +20 -0
  3. data/3_rake_deploy.bat +4 -0
  4. data/4_ruby_script_console.bat +12 -0
  5. data/Div +23 -0
  6. data/History.txt +4 -2
  7. data/License.txt +21 -2
  8. data/Manifest.txt +46 -29
  9. data/README.txt +26 -33
  10. data/Rakefile.rb +6 -6
  11. data/config/website.yml +2 -0
  12. data/lib/kyanite.rb +46 -2
  13. data/lib/kyanite/array/array.rb +15 -14
  14. data/lib/kyanite/array/array2.rb +1 -1
  15. data/lib/kyanite/dictionary.rb +17 -2
  16. data/lib/kyanite/enumerable/enumerable_enumerables.rb +19 -9
  17. data/lib/kyanite/enumerable/enumerable_numerics.rb +25 -19
  18. data/lib/kyanite/enumerable/enumerable_strings.rb +14 -6
  19. data/lib/kyanite/enumerable/structure.rb +45 -29
  20. data/lib/kyanite/general/callerutils.rb +9 -1
  21. data/lib/kyanite/general/classutils.rb +59 -78
  22. data/lib/kyanite/general/kernel.rb +21 -3
  23. data/lib/kyanite/general/nil.rb +34 -12
  24. data/lib/kyanite/general/object.rb +25 -3
  25. data/lib/kyanite/general/true_false.rb +28 -10
  26. data/lib/kyanite/general/undoable.rb +24 -0
  27. data/lib/kyanite/hash.rb +43 -28
  28. data/lib/kyanite/numeric/float.rb +12 -5
  29. data/lib/kyanite/numeric/integer.rb +16 -9
  30. data/lib/kyanite/numeric/numeric.rb +19 -11
  31. data/lib/kyanite/operation/regexp.rb +5 -1
  32. data/lib/kyanite/optimizer.rb +31 -16
  33. data/lib/kyanite/range.rb +15 -8
  34. data/lib/kyanite/set.rb +35 -6
  35. data/lib/kyanite/string/cast.rb +18 -7
  36. data/lib/kyanite/string/chars.rb +24 -17
  37. data/lib/kyanite/string/diff.rb +14 -5
  38. data/lib/kyanite/string/div.rb +8 -1
  39. data/lib/kyanite/string/include.rb +13 -5
  40. data/lib/kyanite/string/list.rb +3 -3
  41. data/lib/kyanite/string/mgsub.rb +6 -2
  42. data/lib/kyanite/string/nested.rb +22 -3
  43. data/lib/kyanite/string/random.rb +4 -0
  44. data/lib/kyanite/string/split.rb +15 -7
  45. data/lib/kyanite/symbol.rb +14 -0
  46. data/lib/kyanite/tree.rb +10 -4
  47. data/script/console +10 -0
  48. data/script/console.cmd +1 -0
  49. data/script/destroy +14 -0
  50. data/script/destroy.cmd +1 -0
  51. data/script/generate +14 -0
  52. data/script/generate.cmd +1 -0
  53. data/script/txt2html +82 -0
  54. data/script/txt2html.cmd +1 -0
  55. data/tasks/deployment.rake +92 -0
  56. data/tasks/documentation.rake +28 -0
  57. data/tasks/environment.rake +7 -0
  58. data/test/array/test_matrix2.rb +1 -0
  59. data/test/enumerable/test_enumerable_numerics.rb +3 -2
  60. data/test/general/test_classutils.rb +3 -0
  61. data/test/general/test_nil.rb +1 -0
  62. data/test/general/test_object.rb +2 -1
  63. data/test/general/test_true_false.rb +1 -0
  64. data/test/numeric/test_numeric_integer.rb +2 -0
  65. data/test/string/test_cast.rb +4 -0
  66. data/test/string/test_chars.rb +3 -0
  67. data/test/string/test_diff.rb +3 -0
  68. data/test/string/test_list.rb +2 -0
  69. data/test/string/test_nested.rb +2 -0
  70. data/test/string/test_split.rb +3 -0
  71. data/test/test_dictionary.rb +3 -0
  72. data/test/test_hash.rb +2 -0
  73. data/test/test_optimizer.rb +14 -14
  74. data/test/test_range.rb +1 -0
  75. data/test/test_tree.rb +1 -1
  76. metadata +48 -31
@@ -2,13 +2,20 @@
2
2
  Infinity = 1.0/0 unless defined? Infinity
3
3
  Googol = 10**100 unless defined? Googol
4
4
 
5
-
5
+ # [ | Kyanite | *Object* | Array | Set | Enumerable | Hash | ] | Object | String | Symbol | *Numeric* |
6
+ # [ ] | Numeric | Integer | *Float* |
7
+ #
8
+ # ---
9
+ #
10
+ # == *Float*
11
+ #
12
+ #
6
13
  class Float
7
14
 
8
- # 1.9 == 1.8 + 0.1 => false
9
- # 1.9.approx(1.8 + 0.1) => true
10
- # 98.6.approx(98.66) => false
11
- # 98.6.approx(98.66, 0.001) => true
15
+ # 1.9 == 1.8 + 0.1 => false
16
+ # 1.9.approx(1.8 + 0.1) => true
17
+ # 98.6.approx(98.66) => false
18
+ # 98.6.approx(98.66, 0.001) => true
12
19
  # Copyright 2006 O'Reilly Media, Ruby Cookbook, by Lucas Carlson and Leonard Richardson
13
20
  #
14
21
  def approx(other, relative_epsilon=Float::EPSILON, epsilon=Float::EPSILON)
@@ -1,4 +1,12 @@
1
1
 
2
+ # [ | Kyanite | *Object* | Array | Set | Enumerable | Hash | ] | Object | String | Symbol | *Numeric* |
3
+ # [ ] | Numeric | *Integer* | Float |
4
+ #
5
+ # ---
6
+ #
7
+ # == *Trivial* *Integer* *Methods*
8
+ #
9
+ #
2
10
  class Integer
3
11
 
4
12
  # Wandelt eine Sekundenzahl-seit-1970 in ein Time-Objekt
@@ -7,19 +15,18 @@ class Integer
7
15
  ::Time.at(self) # ohne die Doppelpunkte sucht Ruby die Methode at in ::Time und wirft einen Error
8
16
  end
9
17
 
10
- # <tt> self </tt>
11
- #
12
- # Test: TestInteger#test_triviales
18
+ # [ ] Rückgabe: self
19
+ # [ ] Test: TestKyaniteNumeric#test_integer_triviales
13
20
  def to_integer; self; end
14
21
 
15
- # <tt> self </tt>
16
- #
17
- # Test: TestInteger#test_triviales
22
+
23
+ # [ ] Rückgabe: self
24
+ # [ ] Test: TestKyaniteNumeric#test_integer_triviales
18
25
  def to_integer_optional; self; end
19
26
 
20
- # <tt> self </tt>
21
- #
22
- # Test: TestInteger#test_triviales
27
+
28
+ # [ ] Rückgabe: self
29
+ # [ ] Test: TestKyaniteNumeric#test_integer_triviales
23
30
  def dup; self; end
24
31
 
25
32
  end # class
@@ -1,35 +1,43 @@
1
1
 
2
+ # [ | Kyanite | *Object* | Array | Set | Enumerable | Hash | ] | Object | String | Symbol | *Numeric* |
3
+ # [ ] | *Numeric* | Integer | Float |
4
+ #
5
+ # ---
6
+ #
7
+ # == *General* *Numeric*
8
+ #
9
+ #
2
10
  class Numeric
3
11
 
4
- # Zahlen sind schon numerisch:
5
- # <tt> self </tt>
6
- def split_numeric #:nodoc:
12
+ # [ ] Zahlen sind schon numerisch:
13
+ # [ ] Rückgabe self
14
+ def split_numeric
7
15
  self
8
16
  end
9
17
 
10
18
 
11
- # Zahlen sind nicht empty:
12
- # <tt> false </tt>
13
- def empty? #:nodoc:
19
+ # [ ] Zahlen sind nicht empty:
20
+ # [ ] Rückgabe false
21
+ def empty?
14
22
  false
15
23
  end
16
24
 
17
25
 
18
- # siehe ::Array#shift_complement:
19
- # <tt> nil </tt>
20
- def shift_complement #:nodoc:
26
+ # [ ] siehe Array#shift_complement:
27
+ # [ ] Rückgabe nil
28
+ def shift_complement
21
29
  nil
22
30
  end
23
31
 
24
32
 
25
- # Wandelt 0 in nil um
33
+ # [ ] Wandelt 0 in nil um
26
34
  def to_nil(*args)
27
35
  return nil if self == 0
28
36
  self
29
37
  end
30
38
 
31
39
 
32
- # nil-sicheres subtrahieren
40
+ # [ ] nil-sicheres subtrahieren
33
41
  def substract(other)
34
42
  return nil if other.nil?
35
43
  self - other
@@ -3,7 +3,11 @@
3
3
 
4
4
  class String
5
5
 
6
- # Zeigt das Ergebnis eines Matches mit einer Regular Expression. Erleichtert das Entwickeln regul�rer Ausdr�cke.
6
+ # ---------------------------------------------------------------------------------------------------------------------------------
7
+ # :section: Operation
8
+ #
9
+
10
+ # Zeigt das Ergebnis eines Matches mit einer Regular Expression. Erleichtert das Entwickeln regulärer Ausdrücke.
7
11
  #
8
12
  def show_regexp(re)
9
13
  if self =~ re
@@ -1,6 +1,18 @@
1
1
 
2
2
  require 'perception' if $0 == __FILE__
3
-
3
+
4
+ #
5
+ # [ | *Kyanite* | Object | Array | Set | Enumerable | Hash | ] | Kyanite | TrueClass | FalseClass | NilClass | *Div* |
6
+ # [ ] | Div | Tree::TreeNode | *Optimizer* |
7
+ # ---
8
+ #
9
+ # == *Optimizer*
10
+ # Auswahl von Objekten auf Basis von Scores. See TestKyaniteOptimizer for Tests and examples.
11
+ #
12
+ # [] Jedes Objekt wird per +push+ in den Optimizer geschrieben. Dabei wird auch sein Score übergeben.
13
+ # [] +content_max+ bzw. +content_min+ liefern das Objekt mit dem höchsten / niedrigsten Score.
14
+ # [] +delete_max+ bzw. +delete_min+ löschen das Objekt mit den höchsten / niedrigsten Score. Dadurch ist auch der Zugriff auf die zweiten und dritten Objekte möglich.
15
+ #
4
16
  # Drei Stufen für Marshall sind denkbar:
5
17
  # * kein Marshal
6
18
  # * Marshal.load(Marshal.dump) beim Schreiben. Dadurch sind Schreibzugriffe teuer, Lesezugriffe aber billig
@@ -16,23 +28,24 @@ class Optimizer < Hash
16
28
  # end
17
29
 
18
30
 
19
- def matchpoints_max
31
+ # Liefert den Wert des höchsten Scores.
32
+ def score_max
20
33
  return nil if size == 0
21
34
  keys.max
22
35
  end
23
36
 
24
37
 
25
-
26
- def matchpoints_min
38
+ # Liefert den Wert des niedrigsten Scores.
39
+ def score_min
27
40
  return nil if size == 0
28
41
  keys.min
29
42
  end
30
43
 
31
44
 
32
- # Liefert den Content mit den meisten Matchpoints. Mit
33
- # content_max(0) erhält man den ersten Content mit maximalen Matchpoints, mit
34
- # content_max(-1) den letzten Content mit maximalen Matchpoints und mit
35
- # content_max(0..-1) alle Contents mit maximalen Matchpoints (dann als Array).
45
+ # Liefert den Content mit dem höchsten Score. Mit
46
+ # [] content_max(0) erhält man den ersten Content mit maximalem Score, mit
47
+ # [] content_max(-1) den letzten Content mit maximalem Score und mit
48
+ # [] content_max(0..-1) alle Contents mit maximalem Score (dann als Array).
36
49
  #
37
50
  def content_max(range=0..0)
38
51
  return nil if size == 0
@@ -49,7 +62,7 @@ class Optimizer < Hash
49
62
  end
50
63
 
51
64
 
52
- # siehe content_max
65
+ # siehe #content_max
53
66
  def content_min(range=0..0)
54
67
  return nil if size == 0
55
68
  range = (range..range) if range.kind_of?(Fixnum)
@@ -65,17 +78,17 @@ class Optimizer < Hash
65
78
  end
66
79
 
67
80
 
68
-
69
- def push( matchpoints, content, options={} )
70
- if self.has_key?(matchpoints)
71
- self[matchpoints] << Marshal.dump(content)
81
+ # Beladen des Optimizers mit Objekten.
82
+ def push( score, content, options={} )
83
+ if self.has_key?(score)
84
+ self[score] << Marshal.dump(content)
72
85
  else
73
- self[matchpoints] = [ Marshal.dump(content) ]
86
+ self[score] = [ Marshal.dump(content) ]
74
87
  end
75
88
  end
76
89
 
77
90
 
78
-
91
+ # Löscht alle Objekte in der Mitte.
79
92
  def cleanup
80
93
  return false if size <= 2
81
94
  keys.sort[1..-2].each do | key |
@@ -85,13 +98,14 @@ class Optimizer < Hash
85
98
  end
86
99
 
87
100
 
101
+ # Löscht das Objekt mit dem niedrigsten Score.
88
102
  def delete_min
89
103
  return false if size <= 1
90
104
  self.delete(keys.min)
91
105
  true
92
106
  end
93
107
 
94
-
108
+ # Löscht das Objekt mit dem höchsten Score.
95
109
  def delete_max
96
110
  return false if size <= 1
97
111
  self.delete(keys.max)
@@ -100,6 +114,7 @@ class Optimizer < Hash
100
114
 
101
115
 
102
116
 
117
+
103
118
 
104
119
 
105
120
  end #class
@@ -1,18 +1,25 @@
1
1
 
2
2
  require 'facets/range/combine'
3
3
  require 'facets/range/within'
4
- require 'kyanite/enumerable' # is_collection? ist f�r Ranges false
4
+ require 'kyanite/enumerable' # is_collection? ist für Ranges false
5
5
 
6
-
7
- # Aus Facets eingef�gt:
8
- # * umbrella(r)
9
- # * within?
10
- # * combine(r)
6
+ # [ | Kyanite | Object | *Array* | Set | Enumerable | Hash | ] | Array | ArrayOfNumerics | ArrayOfStrings | ArrayOfEnumerables | *Range* |
7
+ # ---
8
+ #
9
+ #
10
+ # == *Range*
11
+ #
12
+ #
13
+ # Aus {Facets/Range}[http://facets.rubyforge.org/doc/api/core/classes/Range.html] eingefügt:
14
+ # [ ] umbrella(range)
15
+ # [ ] within?
16
+ # [ ] combine(range)
17
+ #
11
18
  #
12
19
  class Range
13
20
 
14
21
  # Invertiert den Range, mit dem ein Ausschnitt eines Strings oder eines Arrays bestimmt wird.
15
- # Liefert einen Range, mit dem der inverse Teil des Strings ausgew�hlt werden kann.
22
+ # Liefert einen Range, mit dem der inverse Teil des Strings ausgewählt werden kann.
16
23
  # Beispiele siehe TestKyaniteRange.
17
24
  #
18
25
  def invert_index
@@ -28,7 +35,7 @@ class Range
28
35
 
29
36
  end
30
37
 
31
- # �u�ere Teile ausgeben
38
+ # äußere Teile ausgeben
32
39
  return [(first..-1).invert_index, (0..last).invert_index]
33
40
  end # def
34
41
 
@@ -7,9 +7,15 @@ require 'kyanite/symbol' # damit man auch Symbols aufnehmen kann
7
7
  require 'kyanite/hash' # Korrektur der Methoden hash und eql?
8
8
 
9
9
 
10
- # Set OrderedSet SortedSet Array
10
+ # [ | Kyanite | Object | Array | *Set* | Enumerable | Hash | ] | *Set* | OrderedSet | SortedSet |
11
+ # ---
11
12
  #
12
- # = Unterschiede der verschiedenen Set-Klassen
13
+ #
14
+ # == *General* *Set*
15
+ # [ ] Tests and examples see TestKyaniteSet
16
+ #
17
+ #
18
+ # === Unterschiede der verschiedenen Set-Klassen
13
19
  # * Ein {Set}[http://www.ruby-doc.org/core/classes/Set.html] ist ungeordnet.
14
20
  # Beispiele: TestKyaniteSet#test_set
15
21
  # * Ein OrderedSet ist geordnet, es behält die ursprüngliche Reihenfolge, wird aber nicht kontinuierlich neu sortiert.
@@ -59,7 +65,13 @@ class Set
59
65
  end
60
66
 
61
67
 
62
- # Set OrderedSet SortedSet Array
68
+ # [ | Kyanite | Object | Array | *Set* | Enumerable | Hash | ] | Set | *OrderedSet* | SortedSet |
69
+ # ---
70
+ #
71
+ #
72
+ # == *Ordered* *Set*
73
+ # [ ] Tests and examples see TestKyaniteSet
74
+ #
63
75
  #
64
76
  # Ein OrderedSet ist geordnet, es behält die ursprüngliche Reihenfolge, wird aber nicht kontinuierlich neu sortiert.
65
77
  # Es sei denn, man sorgt dafür mit Dictionary#order_by
@@ -127,7 +139,13 @@ class OrderedSet < Set
127
139
  end # class
128
140
 
129
141
 
130
- # Set OrderedSet SortedSet Array
142
+ # [ | Kyanite | Object | | Array | *Set* | Enumerable | Hash ] | Set | OrderedSet | *SortedSet* |
143
+ # ---
144
+ #
145
+ #
146
+ # == *Sorted* *Set*
147
+ # [ ] Tests and examples see TestKyaniteSet
148
+ #
131
149
  #
132
150
  # Ein {SortedSet}[http://www.ruby-doc.org/core/classes/SortedSet.html] ist geordnet und sortiert. Es behält immer die Sortierung.
133
151
  # Beispiele: TestKyaniteSet#test_sorted_set
@@ -186,14 +204,25 @@ end # class
186
204
 
187
205
 
188
206
  class NilClass
189
- def to_set; Set.new; end
190
- def to_sorted_set; SortedSet.new; end
207
+
208
+ # Rückgabe: Leeres Set
209
+ def to_set; Set.new; end
210
+
211
+ # Rückgabe: Leeres SortedSet
212
+ def to_sorted_set; SortedSet.new; end
213
+
214
+ # Rückgabe: Leeres OrderedSet
191
215
  def to_ordered_set; OrderedSet.new; end
192
216
  end
193
217
 
194
218
 
219
+
195
220
  class Object
221
+
222
+ # Liefert ein Set mit einem Element
223
+ #
196
224
  def to_set; Set.new([self]); end
225
+
197
226
  end
198
227
 
199
228
 
@@ -1,19 +1,26 @@
1
1
 
2
2
  require 'kyanite/numeric/integer'
3
3
 
4
-
4
+ # [ | Kyanite | *Object* | Array | Set | Enumerable | Hash | ] | Object | *String* | Symbol | Numeric |
5
+ #
6
+ # ---
7
+ #
8
+ # == *String*
9
+ #
10
+ #
5
11
  class String
6
12
 
7
13
  # ---------------------------------------------------------------------------------------------------------------------------------
8
- # :section: Umwandeln
9
- # Siehe auch KlippsteinMail::String#to_email_address und KlippsteinMail::String#to_domain
14
+ # :section: Cast
15
+ # See TestKyaniteStringCast for tests and examples.
16
+ #
10
17
 
11
18
 
12
19
 
13
20
  # Wandelt einen String in den plausibelsten Identifier um:
14
21
  # self.strip.to_integer_optional
15
22
  #
16
- # Tests & Beispiele siehe TestString#test_to_identifier
23
+ # Tests & Beispiele siehe TestKyaniteStringCast#test_to_identifier
17
24
  def to_identifier
18
25
  self.strip.to_integer_optional
19
26
  end
@@ -22,7 +29,7 @@ class String
22
29
  # Wandelt einen String in einen Integer, auch dann, wenn die Zahl hinten angehängt wurde.
23
30
  # Im Gegensatz zu to_i wird nil zurückgegeben, wenn keine Zahl drin war.
24
31
  #
25
- # Beispiele & Tests siehe TestString#test_to_integer
32
+ # Beispiele & Tests siehe TestKyaniteStringCast#test_to_integer
26
33
  def to_integer
27
34
  return nil unless self =~ /\d/
28
35
  firsttry = self.to_i
@@ -35,7 +42,7 @@ class String
35
42
  # Im Gegensatz zu to_i wird self zurückgegeben, wenn der String nicht mit einer Zahl beginnt.
36
43
  # Leere Strings werden in NIL umgewandelt.
37
44
  #
38
- # Beispiele & Tests siehe TestString#test_to_integer_optional
45
+ # Beispiele & Tests siehe TestKyaniteStringCast#test_to_integer_optional
39
46
  def to_integer_optional
40
47
  return nil if self.empty?
41
48
  return self unless (self =~ /^\d/ || self =~ /^-\d/ )
@@ -55,6 +62,9 @@ class String
55
62
  HEX_CHARS = '0123456789abcdef'.freeze
56
63
  end
57
64
 
65
+
66
+ # Get a hex representation for a char.
67
+ # [ ] See also String#from_x.
58
68
  def to_x
59
69
  hex = ''
60
70
  each_byte { |byte|
@@ -66,7 +76,8 @@ class String
66
76
  hex
67
77
  end
68
78
 
69
-
79
+ # [ ] Get a char for a hex representation.
80
+ # [ ] See also String#to_x.
70
81
  def from_x
71
82
  str, q, first = '', 0, false
72
83
  each_byte { |byte|
@@ -32,39 +32,42 @@ end
32
32
  class String
33
33
 
34
34
  # ---------------------------------------------------------------------------------------------------------------------------------
35
- # :section: clear / format text
36
- #
35
+ # :section: Clear / Format Text
36
+ # See TestKyaniteStringChars for tests and examples.
37
37
 
38
38
  # Reduziert den String auf ein Base94-Encoding.
39
39
  # * Wandelt àáâăäãāåạąæảấầắằÀÁÂĂÄÃĀÅẠĄÆẢẤẦẮẰ usw. in aaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAA usw. um
40
40
  # * entfernt anschließend alle Nicht-Asciizeichen
41
41
  # * entfernt außerdem alle nichtdruckbaren Asciizeichen
42
42
  # * Vorsicht: Newlines werden auch entfernt
43
- #
43
+ #
44
+ # See TestKyaniteStringChars for tests and examples.
44
45
  #
45
- # Tests & Beispiele siehe TestKyaniteStringClear
46
46
  def reduce94( options={} )
47
47
  dup.reduce94!
48
48
  end
49
49
 
50
+ # See TestKyaniteStringChars for tests and examples.
51
+ #
50
52
  def reduce94!( options={} )
51
53
  self.tr!(TR_FULL, TR_REDUCED)
52
54
  self.delete!('^ -~')
53
55
  self
54
56
  end
55
57
 
56
- # Reduziert den String auf ein Base53-Encoding,
57
- # bestehend aus Großbuchstaben, Minuszeichen und zu Kleinbuchstaben umgeformten Sonderzeichen.
58
- # Alle reduzierten Zeichen sind aber *klein*, streng genommen handelt es sich also um ein Base52-Encoding.
59
- # Wandelt z.B. àáâăäãāåạąæảấầắằÀÁÂĂÄÃĀÅẠĄÆẢẤẦẮẰ usw. in aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa usw. um.
60
- #
61
- #
62
- # Tests & Beispiele siehe TestKyaniteStringClear
58
+ # [ ] Reduziert den String auf ein Base53-Encoding,
59
+ # [ ] bestehend aus Großbuchstaben, Minuszeichen und zu Kleinbuchstaben umgeformten Sonderzeichen.
60
+ # [ ] Alle reduzierten Zeichen sind aber *klein*, streng genommen handelt es sich also um ein Base52-Encoding.
61
+ # [ ] Wandelt z.B. àáâăäãāåạąæảấầắằÀÁÂĂÄÃĀÅẠĄÆẢẤẦẮẰ usw. in aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa usw. um.
62
+ #
63
+ # [ ] See TestKyaniteStringChars for tests and examples.
64
+ #
63
65
  def reduce53( options={} )
64
66
  dup.reduce53!(options)
65
67
  end
66
68
 
67
-
69
+ # See TestKyaniteStringChars for tests and examples.
70
+ #
68
71
  def reduce53!( options={} )
69
72
  if options[:camelcase]
70
73
  self.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1-\2')
@@ -90,7 +93,8 @@ class String
90
93
 
91
94
  # Formt einen String so um, dass man auch mit utf8_general_ci verglichene Strings wiedererkennen kann
92
95
  #
93
- # Tests & Beispiele siehe TestKyaniteStringClear
96
+ # See TestKyaniteStringChars for tests and examples.
97
+ #
94
98
  def mysqlize
95
99
  self.mb_chars.tidy_bytes.mgsub(MYSQL_REPLACES).downcase.to_s
96
100
  end
@@ -99,7 +103,7 @@ class String
99
103
 
100
104
  # macht die nötigen Korrekturen für EmailAddress und Domain.
101
105
  #
102
- # Tests & Beispiele siehe TestKyaniteStringClear
106
+ # Tests & Beispiele siehe TestKyaniteStringChars
103
107
  # def strip_downcase_iconv
104
108
  #to #from
105
109
  # Iconv.new('iso-8859-1','utf-8').iconv(self.strip.downcase2)
@@ -111,7 +115,8 @@ class String
111
115
 
112
116
  # ---------------------------------------------------------------------------------------------------------------------------------
113
117
  # :section: Groß- und Kleinschreibung
114
- #
118
+ # See TestKyaniteStringChars for tests and examples.
119
+ #
115
120
 
116
121
  # Ein Überschreiben von downcase führt in Kombination mit ActiveSupport zu seltsamen Ergebnissen!
117
122
  def downcase2
@@ -153,15 +158,17 @@ end
153
158
 
154
159
 
155
160
  class NilClass
161
+
162
+ # Rückgabe: false
163
+ def capitalized?; false; end
164
+
156
165
  def reduce94; nil; end
157
166
  def reduce94!; nil; end
158
167
  def reduce53; nil; end
159
168
  def reduce53!; nil; end
160
- def capitalized?; false; end
161
169
  def downcase2; nil; end
162
170
  def downcase2!; nil; end
163
171
  def mysqlize; nil; end
164
- # def strip_downcase_iconv; nil; end
165
172
  def upcase2; nil; end
166
173
  def upcase2!; nil; end
167
174
  end