kyanite 0.5.17 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +3 -0
- data/Manifest.txt +1 -4
- data/Rakefile.rb +4 -4
- data/console.rb +9 -0
- data/lib/kyanite.rb +1 -2
- data/lib/kyanite/array/array.rb +4 -4
- data/lib/kyanite/array/array2.rb +4 -2
- data/lib/kyanite/basics.rb +1 -3
- data/lib/kyanite/dictionary.rb +6 -5
- data/lib/kyanite/enumerable/enumerable_enumerables.rb +6 -5
- data/lib/kyanite/enumerable/enumerable_numerics.rb +13 -13
- data/lib/kyanite/general.rb +0 -1
- data/lib/kyanite/general/classutils.rb +10 -12
- data/lib/kyanite/general/object.rb +13 -13
- data/lib/kyanite/hash.rb +9 -8
- data/lib/kyanite/numeric/integer.rb +4 -4
- data/lib/kyanite/numeric/numeric.rb +4 -3
- data/lib/kyanite/operation/regexp.rb +4 -3
- data/lib/kyanite/range.rb +29 -8
- data/lib/kyanite/set.rb +30 -19
- data/lib/kyanite/string/cast.rb +9 -9
- data/lib/kyanite/string/chars.rb +16 -16
- data/lib/kyanite/string/chars_const.rb +30 -20
- data/lib/kyanite/string/diff.rb +15 -15
- data/lib/kyanite/string/div.rb +6 -4
- data/lib/kyanite/string/include.rb +6 -6
- data/lib/kyanite/string/list.rb +8 -7
- data/lib/kyanite/string/mgsub.rb +5 -5
- data/lib/kyanite/string/nested.rb +10 -9
- data/lib/kyanite/string/random.rb +5 -5
- data/lib/kyanite/string/split.rb +12 -11
- data/lib/kyanite/tree.rb +1 -1
- data/test/_start_all.rb +2 -1
- data/test/array/test_matrix2.rb +2 -1
- data/test/general/test_classutils.rb +2 -0
- data/test/general/test_true_false.rb +1 -1
- data/test/test_dictionary.rb +1 -1
- data/test/test_hash.rb +1 -1
- data/test/test_optimizer.rb +1 -1
- data/test/test_range.rb +1 -1
- data/test/test_set.rb +2 -1
- data/test/test_tree.rb +1 -1
- metadata +19 -7
- data/lib/kyanite/general/nil.rb +0 -88
- data/lib/kyanite/nil.rb +0 -3
- data/script/console.rb +0 -10
- data/test/general/test_nil.rb +0 -48
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
console.rb
|
1
2
|
Div
|
2
3
|
History.txt
|
3
4
|
License.txt
|
@@ -24,14 +25,12 @@ lib/kyanite/general.rb
|
|
24
25
|
lib/kyanite/general/callerutils.rb
|
25
26
|
lib/kyanite/general/classutils.rb
|
26
27
|
lib/kyanite/general/kernel.rb
|
27
|
-
lib/kyanite/general/nil.rb
|
28
28
|
lib/kyanite/general/object.rb
|
29
29
|
lib/kyanite/general/true_false.rb
|
30
30
|
lib/kyanite/general/undoable.rb
|
31
31
|
lib/kyanite/hash.rb
|
32
32
|
lib/kyanite/hoe.rb
|
33
33
|
lib/kyanite/matrix2.rb
|
34
|
-
lib/kyanite/nil.rb
|
35
34
|
lib/kyanite/numeric.rb
|
36
35
|
lib/kyanite/numeric/float.rb
|
37
36
|
lib/kyanite/numeric/integer.rb
|
@@ -63,7 +62,6 @@ lib/kyanite/symbol.rb
|
|
63
62
|
lib/kyanite/tree.rb
|
64
63
|
lib/kyanite/undoable.rb
|
65
64
|
lib/kyanite/unit_test.rb
|
66
|
-
script/console.rb
|
67
65
|
test/_start_all.rb
|
68
66
|
test/array/test_array.rb
|
69
67
|
test/array/test_matrix2.rb
|
@@ -72,7 +70,6 @@ test/enumerable/test_enumerable_numerics.rb
|
|
72
70
|
test/enumerable/test_enumerable_strings.rb
|
73
71
|
test/enumerable/test_structure.rb
|
74
72
|
test/general/test_classutils.rb
|
75
|
-
test/general/test_nil.rb
|
76
73
|
test/general/test_object.rb
|
77
74
|
test/general/test_true_false.rb
|
78
75
|
test/numeric/test_numeric_integer.rb
|
data/Rakefile.rb
CHANGED
@@ -24,12 +24,12 @@ $hoe = Hoe.spec Kyanite.projectname do
|
|
24
24
|
|
25
25
|
developer('Bjoern Klippstein', 'klippstein@klippstein.com')
|
26
26
|
summary = 'General toolbox like Facets or ActiveSupport.'
|
27
|
-
|
28
|
-
remote_rdoc_dir = '' # Release to root only one project
|
27
|
+
extra_deps << ['transparent_nil', '>= 0.1.3']
|
29
28
|
extra_deps << ['activesupport', '>= 3.2.8']
|
30
29
|
extra_deps << ['facets', '>= 2.9.3']
|
31
30
|
extra_deps << ['rubytree', '>= 0.8.3']
|
32
|
-
|
31
|
+
remote_rdoc_dir = '' # Release to root only one project
|
32
|
+
urls = [["http://#{Kyanite.github_username}.github.com/#{Kyanite.projectname}/"]]
|
33
33
|
|
34
34
|
|
35
35
|
end
|
@@ -91,7 +91,7 @@ remove_task 'deps:email'
|
|
91
91
|
remove_task 'install_gem'
|
92
92
|
remove_task 'multi'
|
93
93
|
remove_task 'newb'
|
94
|
-
Dir['tasks/**/*.rake'].each { |t| load t }
|
94
|
+
#Dir['tasks/**/*.rake'].each { |t| load t }
|
95
95
|
|
96
96
|
|
97
97
|
|
data/console.rb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# File: script/console
|
3
|
+
irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
|
4
|
+
libs = " -r irb/completion"
|
5
|
+
libs << " -r #{File.dirname(__FILE__) + '/init.rb'}"
|
6
|
+
|
7
|
+
puts "Welcome to Kyanite gem"
|
8
|
+
|
9
|
+
exec "#{irb} #{libs} --simple-prompt --noreadline"
|
data/lib/kyanite.rb
CHANGED
@@ -16,7 +16,7 @@ end
|
|
16
16
|
|
17
17
|
module Kyanite #:nodoc
|
18
18
|
|
19
|
-
VERSION = '0.
|
19
|
+
VERSION = '0.6.0'
|
20
20
|
|
21
21
|
end
|
22
22
|
|
@@ -28,7 +28,6 @@ end
|
|
28
28
|
require 'kyanite/general'
|
29
29
|
require 'kyanite/hash'
|
30
30
|
# require 'kyanite/matrix2' # ist schon in array
|
31
|
-
# require 'kyanite/nil' # ist schon in general
|
32
31
|
require 'kyanite/numeric'
|
33
32
|
# require 'kyanite/operation' # nur manuell
|
34
33
|
require 'kyanite/optimizer'
|
data/lib/kyanite/array/array.rb
CHANGED
data/lib/kyanite/array/array2.rb
CHANGED
@@ -14,8 +14,10 @@ class Array
|
|
14
14
|
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
if defined? TransparentNil
|
18
|
+
class NilClass
|
19
|
+
def row_to_nil; nil; end
|
20
|
+
end
|
19
21
|
end
|
20
22
|
|
21
23
|
# Ein Array2 ist eine spezielle Form von Array, nämlich immer zweidimensional. Siehe auch Matrix2!
|
data/lib/kyanite/basics.rb
CHANGED
@@ -12,8 +12,7 @@
|
|
12
12
|
# require 'kyanite/general'
|
13
13
|
# require 'kyanite/general/callerutils'
|
14
14
|
require 'kyanite/general/classutils'
|
15
|
-
require 'kyanite/general/kernel'
|
16
|
-
require 'kyanite/general/nil'
|
15
|
+
require 'kyanite/general/kernel'
|
17
16
|
require 'kyanite/general/object'
|
18
17
|
# require 'kyanite/general/optimizer'
|
19
18
|
require 'kyanite/general/true_false'
|
@@ -45,7 +44,6 @@
|
|
45
44
|
# require 'kyanite/dictionary'
|
46
45
|
require 'kyanite/hash'
|
47
46
|
# require 'kyanite/matrix2'
|
48
|
-
# require 'kyanite/nil' # ist schon in general
|
49
47
|
require 'kyanite/range'
|
50
48
|
# require 'kyanite/set'
|
51
49
|
require 'kyanite/symbol'
|
data/lib/kyanite/dictionary.rb
CHANGED
@@ -94,17 +94,18 @@ class Array
|
|
94
94
|
end
|
95
95
|
|
96
96
|
|
97
|
-
|
97
|
+
if defined? TransparentNil
|
98
|
+
class NilClass
|
98
99
|
|
99
|
-
|
100
|
-
|
100
|
+
# Rückgabe: Leeres Dictionary
|
101
|
+
def to_dictionary; Dictionary.new; end
|
101
102
|
|
102
|
-
|
103
|
+
def fetch_by_index(*a); nil; end
|
103
104
|
|
105
|
+
end
|
104
106
|
end
|
105
107
|
|
106
108
|
|
107
|
-
|
108
109
|
# ---------------------------------------------------------
|
109
110
|
# Ausprobieren
|
110
111
|
#
|
@@ -68,14 +68,15 @@ class Array
|
|
68
68
|
end
|
69
69
|
|
70
70
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
71
|
+
if defined? TransparentNil
|
72
|
+
class NilClass
|
73
|
+
def transpose!; nil; end
|
74
|
+
def transpose; nil; end
|
75
|
+
def rectangle; nil; end
|
76
|
+
end
|
75
77
|
end
|
76
78
|
|
77
79
|
|
78
80
|
|
79
81
|
|
80
82
|
|
81
|
-
|
@@ -138,21 +138,21 @@ class Array
|
|
138
138
|
end
|
139
139
|
|
140
140
|
|
141
|
-
|
142
|
-
class NilClass
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
141
|
+
if defined? TransparentNil
|
142
|
+
class NilClass
|
143
|
+
def average; nil; end
|
144
|
+
def avg; nil; end
|
145
|
+
def mean; nil; end
|
146
|
+
def mean_arithmetric; nil; end
|
147
|
+
def mean_geometric; nil; end
|
148
|
+
def mean_harmonic(*a); nil; end
|
149
|
+
def parallel(*a); nil; end
|
150
|
+
def prd; nil; end
|
151
|
+
def sum; nil; end
|
152
|
+
def summation; nil; end
|
153
|
+
end
|
153
154
|
end
|
154
155
|
|
155
|
-
|
156
156
|
# ==================================================================================
|
157
157
|
# Ausprobieren
|
158
158
|
#
|
data/lib/kyanite/general.rb
CHANGED
@@ -195,21 +195,19 @@ class String
|
|
195
195
|
|
196
196
|
end # class
|
197
197
|
|
198
|
+
if defined? TransparentNil
|
199
|
+
class NilClass
|
198
200
|
|
199
|
-
|
201
|
+
# Rückgabe: Leerer String
|
202
|
+
def to_classname; ''; end
|
200
203
|
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
def demodulize; nil; end
|
207
|
-
def to_class; nil; end
|
208
|
-
def underscore; nil; end
|
209
|
-
|
210
|
-
|
211
|
-
|
204
|
+
def camelize; nil; end
|
205
|
+
def constantize; nil; end
|
206
|
+
def demodulize; nil; end
|
207
|
+
def to_class; nil; end
|
208
|
+
def underscore; nil; end
|
212
209
|
|
210
|
+
end
|
213
211
|
end
|
214
212
|
|
215
213
|
|
@@ -85,21 +85,21 @@ end
|
|
85
85
|
|
86
86
|
|
87
87
|
|
88
|
-
|
89
|
-
class NilClass
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
88
|
+
if defined? TransparentNil
|
89
|
+
class NilClass
|
90
|
+
|
91
|
+
# Rückgabe: false
|
92
|
+
def blank?; false; end
|
93
|
+
|
94
|
+
# Rückgabe: false
|
95
|
+
def is_numeric?; false; end
|
96
|
+
|
97
|
+
def to_nil; nil; end
|
98
|
+
def to_nil_unless(*a); nil; end
|
99
|
+
def name_of_constant(*a); nil; end
|
100
|
+
end
|
100
101
|
end
|
101
102
|
|
102
103
|
|
103
104
|
|
104
105
|
|
105
|
-
|
data/lib/kyanite/hash.rb
CHANGED
@@ -148,14 +148,15 @@ class Hash
|
|
148
148
|
|
149
149
|
end #class
|
150
150
|
|
151
|
-
|
152
|
-
class NilClass
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
151
|
+
if defined? TransparentNil
|
152
|
+
class NilClass
|
153
|
+
def compact_keys!; nil; end
|
154
|
+
def compact_values!; nil; end
|
155
|
+
def delete_key(*a); nil; end
|
156
|
+
def delete_value(*a); nil; end
|
157
|
+
def arrayize(*a); nil; end
|
158
|
+
def fuzzyget(*a); nil; end
|
159
|
+
end
|
159
160
|
end
|
160
161
|
|
161
162
|
|
data/lib/kyanite/range.rb
CHANGED
@@ -1,4 +1,9 @@
|
|
1
1
|
# ruby encoding: utf-8
|
2
|
+
# ü
|
3
|
+
if $0 == __FILE__
|
4
|
+
require File.join(File.dirname(__FILE__), '..', '..', 'smart_load_path.rb' )
|
5
|
+
smart_load_path
|
6
|
+
end
|
2
7
|
require 'facets/range/combine'
|
3
8
|
require 'facets/range/within'
|
4
9
|
require 'kyanite/enumerable' # is_collection? ist für Ranges false
|
@@ -46,16 +51,32 @@ end # class
|
|
46
51
|
|
47
52
|
|
48
53
|
|
54
|
+
if defined? TransparentNil
|
55
|
+
class NilClass
|
56
|
+
def invert_index; nil; end
|
57
|
+
def umbrella(*a); nil; end
|
58
|
+
def combine(*a); nil; end
|
59
|
+
def within?(*a); nil; end
|
60
|
+
end
|
61
|
+
end # if defined? TransparentNil
|
62
|
+
|
63
|
+
# ==================================================================================
|
64
|
+
# Ausprobieren
|
65
|
+
#
|
66
|
+
if $0 == __FILE__
|
49
67
|
|
50
|
-
class NilClass
|
51
|
-
def invert_index; nil; end
|
52
|
-
def umbrella(*a); nil; end
|
53
|
-
def combine(*a); nil; end
|
54
|
-
def within?(*a); nil; end
|
55
|
-
end
|
56
68
|
|
57
|
-
|
58
|
-
|
69
|
+
# puts TransparentNil::VERSION
|
70
|
+
puts (nil.respond_to? :invert_index).inspect
|
71
|
+
# puts nil.invert_index
|
72
|
+
|
73
|
+
# test = [:a, :b, :c].to_ordered_set
|
74
|
+
# see :test # .inspect_see
|
75
|
+
# see_pp test
|
76
|
+
# seee.process_print( test, :method => :pp )
|
77
|
+
# see :test# .inspect_see
|
78
|
+
|
79
|
+
end
|
59
80
|
|
60
81
|
|
61
82
|
|
data/lib/kyanite/set.rb
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
# ruby encoding: utf-8
|
2
|
+
# ü
|
3
|
+
if $0 == __FILE__
|
4
|
+
require File.join(File.dirname(__FILE__), '..', '..', 'smart_load_path.rb' )
|
5
|
+
smart_load_path
|
6
|
+
end
|
7
|
+
|
2
8
|
require 'set'
|
3
9
|
require 'kyanite/enumerable' # is_collection?
|
4
10
|
require 'kyanite/general/kernel' # silence_warnings
|
@@ -199,29 +205,31 @@ class Array
|
|
199
205
|
end # class
|
200
206
|
|
201
207
|
|
208
|
+
class Object
|
202
209
|
|
210
|
+
# Liefert ein Set mit einem Element
|
211
|
+
#
|
212
|
+
def to_set; Set.new([self]); end
|
213
|
+
|
214
|
+
end
|
203
215
|
|
204
|
-
class NilClass
|
205
216
|
|
206
|
-
|
207
|
-
|
217
|
+
if defined? TransparentNil
|
218
|
+
class NilClass
|
208
219
|
|
209
|
-
|
210
|
-
|
220
|
+
# Rückgabe: Leeres Set
|
221
|
+
def to_set; Set.new; end
|
211
222
|
|
212
|
-
|
213
|
-
|
214
|
-
end
|
223
|
+
# Rückgabe: Leeres SortedSet
|
224
|
+
def to_sorted_set; SortedSet.new; end
|
215
225
|
|
226
|
+
# Rückgabe: Leeres OrderedSet
|
227
|
+
def to_ordered_set; OrderedSet.new; end
|
228
|
+
end
|
229
|
+
end
|
216
230
|
|
217
231
|
|
218
|
-
class Object
|
219
232
|
|
220
|
-
# Liefert ein Set mit einem Element
|
221
|
-
#
|
222
|
-
def to_set; Set.new([self]); end
|
223
|
-
|
224
|
-
end
|
225
233
|
|
226
234
|
|
227
235
|
# ==================================================================================
|
@@ -229,11 +237,14 @@ end
|
|
229
237
|
#
|
230
238
|
if $0 == __FILE__
|
231
239
|
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
see :test# .inspect_see
|
240
|
+
|
241
|
+
puts nil.to_set
|
242
|
+
|
243
|
+
# test = [:a, :b, :c].to_ordered_set
|
244
|
+
# see :test # .inspect_see
|
245
|
+
# see_pp test
|
246
|
+
# seee.process_print( test, :method => :pp )
|
247
|
+
# see :test# .inspect_see
|
237
248
|
|
238
249
|
end
|
239
250
|
|
data/lib/kyanite/string/cast.rb
CHANGED
@@ -100,16 +100,16 @@ class String
|
|
100
100
|
|
101
101
|
end
|
102
102
|
|
103
|
-
|
104
|
-
class NilClass
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
103
|
+
if defined? TransparentNil
|
104
|
+
class NilClass
|
105
|
+
def to_identifier; nil; end
|
106
|
+
def to_integer; nil; end
|
107
|
+
def to_integer_optional; nil; end
|
108
|
+
def to_nil(*a); nil; end
|
109
|
+
def to_x; nil; end
|
110
|
+
def from_x; nil; end
|
111
|
+
end
|
111
112
|
end
|
112
113
|
|
113
114
|
|
114
115
|
|
115
|
-
|
data/lib/kyanite/string/chars.rb
CHANGED
@@ -160,24 +160,24 @@ end
|
|
160
160
|
|
161
161
|
|
162
162
|
|
163
|
-
|
164
|
-
class NilClass
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
163
|
+
if defined? TransparentNil
|
164
|
+
class NilClass
|
165
|
+
|
166
|
+
# Rückgabe: false
|
167
|
+
def capitalized?; false; end
|
168
|
+
|
169
|
+
def reduce94; nil; end
|
170
|
+
def reduce94!; nil; end
|
171
|
+
def reduce53; nil; end
|
172
|
+
def reduce53!; nil; end
|
173
|
+
def downcase2; nil; end
|
174
|
+
def downcase2!; nil; end
|
175
|
+
def mysqlize; nil; end
|
176
|
+
def upcase2; nil; end
|
177
|
+
def upcase2!; nil; end
|
178
|
+
end
|
178
179
|
end
|
179
180
|
|
180
|
-
|
181
181
|
# -----------------------------------------------------------------------------------------
|
182
182
|
# Ausprobieren
|
183
183
|
#
|
@@ -1,7 +1,11 @@
|
|
1
1
|
# ruby encoding: utf-8
|
2
2
|
|
3
|
+
if $0 == __FILE__
|
4
|
+
require File.join(File.dirname(__FILE__), '..', '..', '..', 'smart_load_path.rb' )
|
5
|
+
smart_load_path
|
6
|
+
end
|
7
|
+
|
3
8
|
require 'hashery'
|
4
|
-
require 'kyanite/nil'
|
5
9
|
require 'kyanite/string/div'
|
6
10
|
|
7
11
|
|
@@ -72,8 +76,10 @@ unless defined?(TR_UPCASE_ALL_REGEXP)
|
|
72
76
|
# Spaces entfernen
|
73
77
|
allkeys.split(//).each do |key|
|
74
78
|
next unless base[key]
|
75
|
-
base[key].
|
76
|
-
base[key
|
79
|
+
next if base[key].nil?
|
80
|
+
# base[key].strip!.gsub!(' ','').gsub!(' ','')
|
81
|
+
base[key].strip!.gsub!(' ','')
|
82
|
+
base[key.upcase].strip!.gsub!(' ','')
|
77
83
|
end
|
78
84
|
|
79
85
|
|
@@ -145,26 +151,30 @@ end # unless defined?
|
|
145
151
|
#
|
146
152
|
if $0 == __FILE__ then
|
147
153
|
|
148
|
-
|
149
|
-
|
154
|
+
|
155
|
+
puts TR_DOWNCASE_ONLY.inspect
|
156
|
+
|
157
|
+
|
158
|
+
# require 'perception'
|
159
|
+
# rawlog "\n----------------------------------------------------------\n\n"
|
150
160
|
|
151
|
-
rawlog 'TR_DOWNCASE_ONLY= '
|
152
|
-
rawlog TR_DOWNCASE_ONLY
|
153
|
-
rawlog "\n"
|
161
|
+
# rawlog 'TR_DOWNCASE_ONLY= '
|
162
|
+
# rawlog TR_DOWNCASE_ONLY
|
163
|
+
# rawlog "\n"
|
154
164
|
|
155
|
-
rawlog 'TR_FULL= '
|
156
|
-
rawlog TR_FULL
|
157
|
-
rawlog "\n"
|
158
|
-
rawlog 'TR_REDUCED= '
|
159
|
-
rawlog TR_REDUCED
|
160
|
-
rawlog "\n"
|
165
|
+
# rawlog 'TR_FULL= '
|
166
|
+
# rawlog TR_FULL
|
167
|
+
# rawlog "\n"
|
168
|
+
# rawlog 'TR_REDUCED= '
|
169
|
+
# rawlog TR_REDUCED
|
170
|
+
# rawlog "\n"
|
161
171
|
|
162
|
-
rawlog 'TR_UPCASE= '
|
163
|
-
rawlog TR_UPCASE
|
164
|
-
rawlog "\n"
|
165
|
-
rawlog 'TR_DOWNCASE= '
|
166
|
-
rawlog TR_DOWNCASE
|
167
|
-
rawlog "\n"
|
172
|
+
# rawlog 'TR_UPCASE= '
|
173
|
+
# rawlog TR_UPCASE
|
174
|
+
# rawlog "\n"
|
175
|
+
# rawlog 'TR_DOWNCASE= '
|
176
|
+
# rawlog TR_DOWNCASE
|
177
|
+
# rawlog "\n"
|
168
178
|
|
169
179
|
|
170
180
|
|
data/lib/kyanite/string/diff.rb
CHANGED
@@ -64,24 +64,24 @@ class String
|
|
64
64
|
end
|
65
65
|
|
66
66
|
|
67
|
-
|
68
|
-
class NilClass
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
67
|
+
if defined? TransparentNil
|
68
|
+
class NilClass
|
69
|
+
|
70
|
+
# Rückgabe: Leerer String,
|
71
|
+
# siehe String#overlap
|
72
|
+
def overlap(*a); ''; end
|
73
|
+
|
74
|
+
# Rückgabe: b,
|
75
|
+
# siehe String#diff
|
76
|
+
def diff(b); b; end
|
77
|
+
|
78
|
+
# Rückgabe: ['', b],
|
79
|
+
# siehe String#overlapdiff
|
80
|
+
def overlapdiff(b); ['', b]; end
|
81
|
+
end
|
81
82
|
end
|
82
83
|
|
83
84
|
|
84
85
|
|
85
86
|
|
86
87
|
|
87
|
-
|
data/lib/kyanite/string/div.rb
CHANGED
@@ -26,15 +26,15 @@ class String
|
|
26
26
|
end # def
|
27
27
|
end
|
28
28
|
|
29
|
+
if defined? TransparentNil
|
30
|
+
class NilClass
|
29
31
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
def include?(*a); false; end
|
32
|
+
# Rückgabe: false
|
33
|
+
# redundante Definition!
|
34
|
+
def include?(*a); false; end
|
35
|
+
end
|
35
36
|
end
|
36
37
|
|
37
|
-
|
38
38
|
# -----------------------------------------------------------------------------------------
|
39
39
|
# ausprobieren
|
40
40
|
#
|
data/lib/kyanite/string/list.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# ruby encoding: utf-8
|
2
|
-
require '
|
2
|
+
require 'transparent_nil'
|
3
3
|
require 'kyanite/symbol'
|
4
4
|
|
5
5
|
class String
|
@@ -24,7 +24,7 @@ class String
|
|
24
24
|
|
25
25
|
# einzelnen String oder einzelnes Symbol angegeben -> ohne Separator ausgeben
|
26
26
|
if elemente.kind_of?(String) || !elemente.respond_to?(:each_index)
|
27
|
-
e = elemente.dup
|
27
|
+
e = elemente.dup
|
28
28
|
e = yield e if block_given?
|
29
29
|
return "#{self}#{options[:pre]}#{e}#{options[:post]}"
|
30
30
|
end
|
@@ -75,10 +75,11 @@ class String
|
|
75
75
|
|
76
76
|
end
|
77
77
|
|
78
|
-
|
79
|
-
class NilClass
|
80
|
-
|
81
|
-
|
82
|
-
|
78
|
+
if defined? TransparentNil
|
79
|
+
class NilClass
|
80
|
+
def list_with(*a); nil; end
|
81
|
+
def sql_regexp_for_kommaliste; nil; end
|
82
|
+
def enum_to_array; nil; end
|
83
|
+
end
|
83
84
|
end
|
84
85
|
|
data/lib/kyanite/string/mgsub.rb
CHANGED
@@ -26,11 +26,11 @@ class String
|
|
26
26
|
|
27
27
|
end # class
|
28
28
|
|
29
|
-
|
30
|
-
class NilClass
|
31
|
-
|
32
|
-
end
|
33
|
-
|
29
|
+
if defined? TransparentNil
|
30
|
+
class NilClass
|
31
|
+
def mgsub(*a); nil; end
|
32
|
+
end
|
33
|
+
end
|
34
34
|
|
35
35
|
|
36
36
|
# -----------------------------------------------------------------------------------------
|
@@ -217,18 +217,19 @@ class String
|
|
217
217
|
end # class
|
218
218
|
|
219
219
|
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
220
|
+
if defined? TransparentNil
|
221
|
+
class NilClass
|
222
|
+
|
223
|
+
# Rückgabe: 0
|
224
|
+
def nestinglevel; 0; end
|
225
|
+
|
226
|
+
def anti; nil; end
|
227
|
+
def index_bracket; nil; end
|
228
|
+
def mask(*a); nil; end
|
229
|
+
end
|
228
230
|
end
|
229
231
|
|
230
232
|
|
231
|
-
|
232
233
|
# ------------------------------------------------------------------------------
|
233
234
|
# Tests
|
234
235
|
#
|
data/lib/kyanite/string/split.rb
CHANGED
@@ -129,16 +129,17 @@ class String
|
|
129
129
|
end
|
130
130
|
|
131
131
|
|
132
|
-
|
132
|
+
if defined? TransparentNil
|
133
|
+
class NilClass
|
133
134
|
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
135
|
+
# Rückgabe: Leerer String,
|
136
|
+
# siehe String#split
|
137
|
+
def cut(*a); ''; end
|
138
|
+
|
139
|
+
def nchar(*a); nil; end
|
140
|
+
def split_by_index(*a); nil; end
|
141
|
+
def extract(*a); nil; end
|
142
|
+
def split_numeric; nil; end
|
143
|
+
def without_versioninfo; nil; end
|
144
|
+
end
|
143
145
|
end
|
144
|
-
|
data/lib/kyanite/tree.rb
CHANGED
data/test/_start_all.rb
CHANGED
data/test/array/test_matrix2.rb
CHANGED
@@ -5,9 +5,10 @@ if $0 == __FILE__
|
|
5
5
|
smart_load_path
|
6
6
|
end
|
7
7
|
|
8
|
+
require 'transparent_nil' unless defined? TransparentNil
|
8
9
|
require 'kyanite/unit_test'
|
9
10
|
require 'kyanite/matrix2'
|
10
|
-
require '
|
11
|
+
require 'transparent_nil'
|
11
12
|
|
12
13
|
# require 'benchmark'
|
13
14
|
# include Benchmark
|
data/test/test_dictionary.rb
CHANGED
data/test/test_hash.rb
CHANGED
data/test/test_optimizer.rb
CHANGED
data/test/test_range.rb
CHANGED
data/test/test_set.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
# ruby encoding: utf-8
|
2
2
|
# ü
|
3
3
|
if $0 == __FILE__
|
4
|
-
require File.join(File.dirname(__FILE__), '..', '
|
4
|
+
require File.join(File.dirname(__FILE__), '..', 'smart_load_path.rb' )
|
5
5
|
smart_load_path
|
6
6
|
end
|
7
7
|
|
8
|
+
require 'transparent_nil' unless defined? TransparentNil
|
8
9
|
require 'kyanite/unit_test'
|
9
10
|
require 'kyanite/set'
|
10
11
|
|
data/test/test_tree.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kyanite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: transparent_nil
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.1.3
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.1.3
|
14
30
|
- !ruby/object:Gem::Dependency
|
15
31
|
name: activesupport
|
16
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,6 +118,7 @@ extra_rdoc_files:
|
|
102
118
|
- Manifest.txt
|
103
119
|
- README.txt
|
104
120
|
files:
|
121
|
+
- console.rb
|
105
122
|
- Div
|
106
123
|
- History.txt
|
107
124
|
- License.txt
|
@@ -128,14 +145,12 @@ files:
|
|
128
145
|
- lib/kyanite/general/callerutils.rb
|
129
146
|
- lib/kyanite/general/classutils.rb
|
130
147
|
- lib/kyanite/general/kernel.rb
|
131
|
-
- lib/kyanite/general/nil.rb
|
132
148
|
- lib/kyanite/general/object.rb
|
133
149
|
- lib/kyanite/general/true_false.rb
|
134
150
|
- lib/kyanite/general/undoable.rb
|
135
151
|
- lib/kyanite/hash.rb
|
136
152
|
- lib/kyanite/hoe.rb
|
137
153
|
- lib/kyanite/matrix2.rb
|
138
|
-
- lib/kyanite/nil.rb
|
139
154
|
- lib/kyanite/numeric.rb
|
140
155
|
- lib/kyanite/numeric/float.rb
|
141
156
|
- lib/kyanite/numeric/integer.rb
|
@@ -167,7 +182,6 @@ files:
|
|
167
182
|
- lib/kyanite/tree.rb
|
168
183
|
- lib/kyanite/undoable.rb
|
169
184
|
- lib/kyanite/unit_test.rb
|
170
|
-
- script/console.rb
|
171
185
|
- test/_start_all.rb
|
172
186
|
- test/array/test_array.rb
|
173
187
|
- test/array/test_matrix2.rb
|
@@ -176,7 +190,6 @@ files:
|
|
176
190
|
- test/enumerable/test_enumerable_strings.rb
|
177
191
|
- test/enumerable/test_structure.rb
|
178
192
|
- test/general/test_classutils.rb
|
179
|
-
- test/general/test_nil.rb
|
180
193
|
- test/general/test_object.rb
|
181
194
|
- test/general/test_true_false.rb
|
182
195
|
- test/numeric/test_numeric_integer.rb
|
@@ -228,7 +241,6 @@ test_files:
|
|
228
241
|
- test/enumerable/test_enumerable_strings.rb
|
229
242
|
- test/enumerable/test_structure.rb
|
230
243
|
- test/general/test_classutils.rb
|
231
|
-
- test/general/test_nil.rb
|
232
244
|
- test/general/test_object.rb
|
233
245
|
- test/general/test_true_false.rb
|
234
246
|
- test/numeric/test_numeric_integer.rb
|
data/lib/kyanite/general/nil.rb
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
# ruby encoding: utf-8
|
2
|
-
# [ | *Kyanite* | Object | Array | Set | Enumerable | Hash | ] | Kyanite | TrueClass | FalseClass | *NilClass* | Div |
|
3
|
-
#
|
4
|
-
# ---
|
5
|
-
#
|
6
|
-
#
|
7
|
-
# == *Transparent* *Nil*
|
8
|
-
# Nil nervt oft. Zwar ist es ein schöner Fehlerindikator
|
9
|
-
# (meist läuft irgendwas schief wenn man es unerwartet mit nil zu tun hat)
|
10
|
-
# aber man verunstaltet seinen Quellcode schnell mit Fallunterscheidungen, die den nil-Fall behandeln.
|
11
|
-
#
|
12
|
-
# In Kyanite werden daher zahlreiche Methoden für nil definiert.
|
13
|
-
# Nil verhält sich damit wie alle anderen Objekte auch.
|
14
|
-
# Man kann immer noch nach Nil fragen, wenn man es möchte, aber man muss es nicht mehr tun!
|
15
|
-
#
|
16
|
-
class NilClass
|
17
|
-
|
18
|
-
# Rückgabe: Array mit dem einen Element
|
19
|
-
def <<(element); [element]; end
|
20
|
-
|
21
|
-
# Rückgabe: true
|
22
|
-
def empty?; true; end
|
23
|
-
|
24
|
-
# Rückgabe: 0
|
25
|
-
def length; 0; end
|
26
|
-
|
27
|
-
# Rückgabe: 0
|
28
|
-
def size; 0; end
|
29
|
-
|
30
|
-
# Rückgabe: 0
|
31
|
-
def count(*a); 0; end
|
32
|
-
|
33
|
-
# Rückgabe: leeres Array
|
34
|
-
def split(*a); []; end
|
35
|
-
|
36
|
-
# Rückgabe: false
|
37
|
-
def =~(other); false; end
|
38
|
-
|
39
|
-
# Rückgabe: false
|
40
|
-
# redundante Definition!
|
41
|
-
def include?(*a); false; end
|
42
|
-
|
43
|
-
|
44
|
-
def -(other); nil; end
|
45
|
-
def +(other); nil; end
|
46
|
-
def <(*a); nil; end
|
47
|
-
def <=>(*a); nil; end
|
48
|
-
def >(*a); nil; end
|
49
|
-
def abs; nil; end
|
50
|
-
def chop; nil; end
|
51
|
-
def clear; nil; end
|
52
|
-
def code; nil; end
|
53
|
-
def collect(&block); nil; end
|
54
|
-
def compact; nil; end
|
55
|
-
def downcase; nil; end
|
56
|
-
def dup; nil; end
|
57
|
-
def each(*a); nil; end
|
58
|
-
def grep(*a); nil; end
|
59
|
-
def gsub!(*a); nil; end
|
60
|
-
def gsub(*a); nil; end
|
61
|
-
def join; nil; end
|
62
|
-
def keys; nil; end
|
63
|
-
def pop(*a); nil; end
|
64
|
-
def push(*a); nil; end
|
65
|
-
#def split(*a); nil; end
|
66
|
-
def strip!(*a); nil; end
|
67
|
-
def strip(*a); nil; end
|
68
|
-
def sub(*a); nil; end
|
69
|
-
def to_i; nil; end
|
70
|
-
def to_integer; nil; end
|
71
|
-
def to_nil; nil; end
|
72
|
-
def to_sym; nil; end
|
73
|
-
def uniq!; nil; end
|
74
|
-
def uniq; nil; end
|
75
|
-
def [](*a); nil; end
|
76
|
-
def []=(*a); nil; end
|
77
|
-
|
78
|
-
|
79
|
-
end
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
data/lib/kyanite/nil.rb
DELETED
data/script/console.rb
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# File: script/console
|
3
|
-
irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
|
4
|
-
|
5
|
-
libs = " -r irb/completion"
|
6
|
-
# Perhaps use a console_lib to store any extra methods I may want available in the cosole
|
7
|
-
# libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
|
8
|
-
libs << " -r #{File.dirname(__FILE__) + '/../lib/kyanite.rb'}"
|
9
|
-
puts "Welcome to Kyanite gem"
|
10
|
-
exec "#{irb} #{libs} --simple-prompt --noreadline"
|
data/test/general/test_nil.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
# ruby encoding: utf-8
|
2
|
-
# ü
|
3
|
-
if $0 == __FILE__
|
4
|
-
require File.join(File.dirname(__FILE__), '..', '..', 'smart_load_path.rb' )
|
5
|
-
smart_load_path
|
6
|
-
end
|
7
|
-
|
8
|
-
require 'kyanite/unit_test'
|
9
|
-
require 'kyanite/general/nil'
|
10
|
-
|
11
|
-
# Tests for NilClass
|
12
|
-
class TestKyaniteNil < UnitTest
|
13
|
-
|
14
|
-
def test_nil_patches
|
15
|
-
assert nil.empty?
|
16
|
-
|
17
|
-
assert ! nil.include?('g')
|
18
|
-
assert ! nil.include?(nil)
|
19
|
-
|
20
|
-
assert_nil nil.to_nil
|
21
|
-
assert_equal 0, nil.size
|
22
|
-
assert_equal 0, nil.length
|
23
|
-
|
24
|
-
assert_equal nil, nil + 42
|
25
|
-
assert_equal nil, nil + '42'
|
26
|
-
assert_equal '', nil.to_s
|
27
|
-
|
28
|
-
assert_nil nil[1]
|
29
|
-
assert_nil nil[1,2]
|
30
|
-
assert_nil nil[1][2]
|
31
|
-
assert_nil nil[1][2,3][4]
|
32
|
-
assert_nil nil[nil]
|
33
|
-
assert_nil nil[nil,nil]
|
34
|
-
assert_nil nil[nil][nil]
|
35
|
-
|
36
|
-
assert_equal 42, nil[1] = 42
|
37
|
-
assert_equal 42, nil[1,2] = 42
|
38
|
-
assert_equal 42, nil[1][2] = 42
|
39
|
-
assert_equal 42, nil[1][2,3][4] = 42
|
40
|
-
assert_equal 42, nil[nil] = 42
|
41
|
-
assert_equal 42, nil[nil,nil] = 42
|
42
|
-
assert_equal 42, nil[nil][nil] = 42
|
43
|
-
|
44
|
-
end # test_nil_patches
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
end # class
|