perception 0.3.4 → 0.3.5
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.
- data/History.rdoc +2 -0
- data/Manifest.txt +5 -3
- data/README.rdoc +27 -11
- data/demo/Example_Output_1.rb +183 -0
- data/demo/Example_Output_2.rb +63 -0
- data/demo/{demo_pp.rb → demo1.rb} +34 -12
- data/demo/demo2.rb +37 -0
- data/demo/demo3.rb +201 -0
- data/lib/perception/date_and_time.rb +2 -0
- data/lib/perception/logging.rb +10 -2
- data/lib/perception/numeric.rb +58 -20
- data/lib/perception/perception_main.rb +87 -38
- data/lib/perception/perception_private.rb +15 -4
- data/lib/perception/ppp.rb +4 -3
- data/lib/perception/string_spread.rb +6 -2
- data/test/test_numeric.rb +9 -9
- data/version.rb +1 -1
- metadata +7 -5
- data/demo/demo_system_info.rb +0 -28
- data/demo/demo_zz.rb +0 -333
data/History.rdoc
CHANGED
data/Manifest.txt
CHANGED
@@ -5,9 +5,11 @@ Manifest.txt
|
|
5
5
|
Rakefile.rb
|
6
6
|
README.rdoc
|
7
7
|
version.rb
|
8
|
-
demo/
|
9
|
-
demo/
|
10
|
-
demo/
|
8
|
+
demo/demo1.rb
|
9
|
+
demo/demo2.rb
|
10
|
+
demo/demo3.rb
|
11
|
+
demo/Example_Output_1.rb
|
12
|
+
demo/Example_Output_2.rb
|
11
13
|
init.rb
|
12
14
|
lib/perception.rb
|
13
15
|
lib/perception/const.rb
|
data/README.rdoc
CHANGED
@@ -1,23 +1,39 @@
|
|
1
|
+
= Perception: Human perceptible printouts
|
2
|
+
http://bklippstein.github.com/perception/frames.html
|
1
3
|
|
2
|
-
|
4
|
+
Welcome to Perception. It's a intuitive toolkit for simple everyday debugging.
|
5
|
+
Perception offers a powerfull replacement for print, puts and pp and is an alternative to Awesome Print.
|
6
|
+
|
7
|
+
You get auto-intended and structured output on your console without any configuration.
|
8
|
+
|
9
|
+
Perception also offers temporary printouts (overwritten by the next print), printing two informations
|
10
|
+
in one line without destroying the structure and optionally slows down printing to readable speed,
|
11
|
+
depending on the complexity of the output.
|
3
12
|
|
4
|
-
http://bklippstein.github.com/perception/frames.html
|
5
13
|
|
6
|
-
Powerfull replacement for print, puts and pp
|
14
|
+
== see: Powerfull replacement for print, puts and pp
|
15
|
+
{include:Object#see}
|
16
|
+
More: {Object#see}
|
7
17
|
|
8
|
-
|
18
|
+
== log: use logging without configuration
|
19
|
+
You can use log instead of see, the formating is the same.
|
20
|
+
The log directory and the logfile are automatically created if necessary.
|
9
21
|
|
10
|
-
|
11
|
-
two informations in one place without destroying the structure.
|
22
|
+
More: {Object#log log}, {Object#rawlog rawlog}, {Perception::SeeSession#logger seee.logger}
|
12
23
|
|
13
|
-
|
24
|
+
== Intelligent round: slash needless digits
|
25
|
+
{include:Perception::NumericI#significant}
|
26
|
+
More: {Perception::NumericI#significant significant}
|
14
27
|
|
28
|
+
== Easily human readable numbers
|
29
|
+
{include:Perception::NumericI#inspect_see}
|
30
|
+
More: {Perception::NumericI#inspect_see inspect_see}
|
15
31
|
|
16
32
|
|
17
|
-
==
|
18
|
-
|
19
|
-
|
20
|
-
|
33
|
+
== Examples and Demos
|
34
|
+
* {file:demo/Example_Output_1.rb}
|
35
|
+
* {file:demo/Example_Output_2.rb}
|
36
|
+
* {file:demo/demo3.rb} (interactive)
|
21
37
|
|
22
38
|
|
23
39
|
== More Info
|
@@ -0,0 +1,183 @@
|
|
1
|
+
# See source code and run it for yourself: {file:demo/demo1.rb}
|
2
|
+
|
3
|
+
|
4
|
+
Basic Types
|
5
|
+
===========
|
6
|
+
|
7
|
+
|
8
|
+
1dim Arrays are printed verticaly, if their size is not too big:
|
9
|
+
|
10
|
+
|
11
|
+
['this', 'is', 'an', 'array', '1']
|
12
|
+
['this', 'is', 'another', 'array', '2']
|
13
|
+
['complex array', [1, 2, 3], {:key=>:value, :love=>:baby}, 4.0, :four]
|
14
|
+
[]
|
15
|
+
|
16
|
+
|
17
|
+
Other Objects:
|
18
|
+
ordinary string (without "")
|
19
|
+
(next one is empty)
|
20
|
+
empty
|
21
|
+
1
|
22
|
+
2
|
23
|
+
3
|
24
|
+
nil
|
25
|
+
true
|
26
|
+
false
|
27
|
+
:a_symbol
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
2dimensional Arrays
|
35
|
+
===================
|
36
|
+
|
37
|
+
|
38
|
+
2dim Arrays are printed like a table:
|
39
|
+
|
40
|
+
|
41
|
+
[['this', 'is', 'an', 'array', '1'],
|
42
|
+
['this', 'is', 'another', 'array', '2'],
|
43
|
+
['and', 'this', 'is', 'another', :tree],
|
44
|
+
['no', {:key=>:value}, 'just', 'another', 'array']]
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
[['one', 'a', 'b', 'c'],
|
50
|
+
['two', 'long_longlong_long_long', 'also_long, also_long, also_long_also', 'hallo'],
|
51
|
+
['three', 'also_long, also_long, also_long_also', 'also_long, also_long, also_long_also', 'long_longlong_long_long']]
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
Nested Objects
|
59
|
+
==============
|
60
|
+
|
61
|
+
|
62
|
+
Nested objects reveal their structure. Lower hierary levels may be reduced for this:
|
63
|
+
|
64
|
+
|
65
|
+
#<Perception::SeeSession:0x2aa0cc8
|
66
|
+
@call_stack_last = 5,
|
67
|
+
@call_stack_now = 6,
|
68
|
+
@cursor_now = 1148,
|
69
|
+
@delayed_clear = false,
|
70
|
+
@delayed_newlines = 0,
|
71
|
+
@indent = false,
|
72
|
+
@level = 1,
|
73
|
+
@logger = #<Logger:0x2ae80c8 @default_formatter=#<>, @formatter=nil, @level=0, @logdev=#<<><<>>>, @progname=nil>,
|
74
|
+
@method_last = :puts,
|
75
|
+
@method_now = :pp,
|
76
|
+
@out = {:console, :log},
|
77
|
+
@speed = nil,
|
78
|
+
@string_last = '
|
79
|
+
',
|
80
|
+
@time_last = 2012-10-18 Thursday 23:27:03>
|
81
|
+
|
82
|
+
|
83
|
+
The Logger has been reduced. This is its detail view:
|
84
|
+
|
85
|
+
|
86
|
+
#<Logger:0x2ae80c8
|
87
|
+
@default_formatter = #<Logger::Formatter:0x2ae8020 @datetime_format=nil>,
|
88
|
+
@formatter = nil,
|
89
|
+
@level = 0,
|
90
|
+
@logdev = #<Logger::LogDevice:0x2af3750 @dev=#<File:C:/Ruby-Projekte/perception/log/see.log>, @filename='C:/Ruby-Projekte/perception/log/see.log', @mutex=#<<>>, @shift_age=0, @shift_size=1048576>,
|
91
|
+
@progname = nil>
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
PrettyPrint shows all at one, but its very hard to read:
|
97
|
+
|
98
|
+
|
99
|
+
PrettyPrint shows all at one, but its very hard to read:
|
100
|
+
|
101
|
+
#<Perception::SeeSession:0x2aa0cc8
|
102
|
+
@call_stack_last=5,
|
103
|
+
@call_stack_now=5,
|
104
|
+
@cursor_now=2196,
|
105
|
+
@delayed_clear=false,
|
106
|
+
@delayed_newlines=1,
|
107
|
+
@indent=false,
|
108
|
+
@level=1,
|
109
|
+
@logger=
|
110
|
+
#<Logger:0x2ae80c8
|
111
|
+
@default_formatter=#<Logger::Formatter:0x2ae8020 @datetime_format=nil>,
|
112
|
+
@formatter=nil,
|
113
|
+
@level=0,
|
114
|
+
@logdev=
|
115
|
+
#<Logger::LogDevice:0x2af3750
|
116
|
+
@dev=#<File:C:/Ruby-Projekte/perception/log/see.log>,
|
117
|
+
@filename='C:/Ruby-Projekte/perception/log/see.log',
|
118
|
+
@mutex=
|
119
|
+
#<Logger::LogDevice::LogDeviceMutex:0x2af3738
|
120
|
+
@mon_count=0,
|
121
|
+
@mon_mutex=#<Mutex:0x2af36c0>,
|
122
|
+
@mon_owner=nil>,
|
123
|
+
@shift_age=0,
|
124
|
+
@shift_size=1048576>,
|
125
|
+
@progname=nil>,
|
126
|
+
@method_last=:puts,
|
127
|
+
@method_now=:puts,
|
128
|
+
@out={:console, :log},
|
129
|
+
@speed=nil,
|
130
|
+
@string_last='',
|
131
|
+
@time_last=2012-10-18 Thursday 23:27:03>
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
Hash
|
140
|
+
====
|
141
|
+
|
142
|
+
|
143
|
+
{:this=>:hash, :in=>:one, :see=>'short hash in one line'}
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
{:this => :hash,
|
149
|
+
:size => '> 3',
|
150
|
+
:see => 'longer hash in multiple lines',
|
151
|
+
:another_key => 'another value'}
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
{:hash => true,
|
157
|
+
:init => true,
|
158
|
+
:nil => nil,
|
159
|
+
:symbol => :symbol,
|
160
|
+
:text => 'text',
|
161
|
+
:array => [1, 2, 3],
|
162
|
+
:integer => 1,
|
163
|
+
:string => 'hallo',
|
164
|
+
:nochn_hash => {:key=>:value, :bla=>:blubb, :array=>[:a, :b, :c], :another_key=>'another value'}}
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
Dictionary
|
172
|
+
==========
|
173
|
+
|
174
|
+
|
175
|
+
{:a_dictionary => true,
|
176
|
+
:b_init => true,
|
177
|
+
:c_symbol => :symbol,
|
178
|
+
:d_array => [1, 2, 3],
|
179
|
+
:e_integer => 1,
|
180
|
+
:f_string => 'hallo',
|
181
|
+
:g_subdictionary => {:a=>:value, :b=>'blubb', :c=>2, :d=>[:a, :b, :c], :e=>{:key=>:value}, :f=>'hallo'}}
|
182
|
+
|
183
|
+
|
@@ -0,0 +1,63 @@
|
|
1
|
+
|
2
|
+
see (Perception)
|
3
|
+
================
|
4
|
+
|
5
|
+
see RbConfig::CONFIG
|
6
|
+
=>
|
7
|
+
{'DESTDIR' => 'C:',
|
8
|
+
'MAJOR' => '1',
|
9
|
+
'MINOR' => '9',
|
10
|
+
'TEENY' => '1',
|
11
|
+
'PATCHLEVEL' => '125',
|
12
|
+
'INSTALL' => '/usr/bin/install -c',
|
13
|
+
'EXEEXT' => '.exe',
|
14
|
+
'prefix' => 'C:/Rails/Ruby1.9.3',
|
15
|
+
'ruby_install_name' => 'ruby',
|
16
|
+
'RUBY_INSTALL_NAME' => 'ruby',
|
17
|
+
'RUBY_SO_NAME' => 'msvcrt-ruby191',
|
18
|
+
'exec' => 'exec',
|
19
|
+
'ruby_pc' => 'ruby-1.9.pc',
|
20
|
+
'PACKAGE' => 'ruby',
|
21
|
+
'BUILTIN_TRANSSRCS' => ' newline.c',
|
22
|
+
'USE_RUBYGEMS' => 'YES',
|
23
|
+
'MANTYPE' => 'man',
|
24
|
+
'NROFF' => '/bin/false',
|
25
|
+
'vendorhdrdir' => 'C:/Rails/Ruby1.9.3/include/ruby-1.9.1/vendor_ruby',
|
26
|
+
'sitehdrdir' => 'C:/Rails/Ruby1.9.3/include/ruby-1.9.1/site_ruby',
|
27
|
+
'rubyhdrdir' => 'C:/Rails/Ruby1.9.3/include/ruby-1.9.1',
|
28
|
+
'UNIVERSAL_INTS' => '',
|
29
|
+
...
|
30
|
+
|
31
|
+
|
32
|
+
pp (PrettyPrint)
|
33
|
+
================
|
34
|
+
|
35
|
+
pp RbConfig::CONFIG
|
36
|
+
=>
|
37
|
+
{'DESTDIR'=>'C:',
|
38
|
+
'MAJOR'=>'1',
|
39
|
+
'MINOR'=>'9',
|
40
|
+
'TEENY'=>'1',
|
41
|
+
'PATCHLEVEL'=>'125',
|
42
|
+
'INSTALL'=>'/usr/bin/install -c',
|
43
|
+
'EXEEXT'=>'.exe',
|
44
|
+
'prefix'=>'C:/Rails/Ruby1.9.3',
|
45
|
+
'ruby_install_name'=>'ruby',
|
46
|
+
'RUBY_INSTALL_NAME'=>'ruby',
|
47
|
+
'RUBY_SO_NAME'=>'msvcrt-ruby191',
|
48
|
+
'exec'=>'exec',
|
49
|
+
'ruby_pc'=>'ruby-1.9.pc',
|
50
|
+
'PACKAGE'=>'ruby',
|
51
|
+
'BUILTIN_TRANSSRCS'=>' newline.c',
|
52
|
+
'USE_RUBYGEMS'=>'YES',
|
53
|
+
'MANTYPE'=>'man',
|
54
|
+
'NROFF'=>'/bin/false',
|
55
|
+
'vendorhdrdir'=>'C:/Rails/Ruby1.9.3/include/ruby-1.9.1/vendor_ruby',
|
56
|
+
'sitehdrdir'=>'C:/Rails/Ruby1.9.3/include/ruby-1.9.1/site_ruby',
|
57
|
+
'rubyhdrdir'=>'C:/Rails/Ruby1.9.3/include/ruby-1.9.1',
|
58
|
+
'UNIVERSAL_INTS'=>'',
|
59
|
+
...
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
|
@@ -1,5 +1,9 @@
|
|
1
1
|
# ruby encoding: utf-8
|
2
|
-
#
|
2
|
+
#
|
3
|
+
# This generates Example_Output_1.
|
4
|
+
# --------------------------------
|
5
|
+
#
|
6
|
+
#
|
3
7
|
if $0 == __FILE__
|
4
8
|
require 'drumherum'
|
5
9
|
smart_init
|
@@ -13,7 +17,7 @@ module Perception #:nodoc
|
|
13
17
|
@@initialized_count = 0
|
14
18
|
|
15
19
|
def initialize( announce_first=true )
|
16
|
-
|
20
|
+
seee.out << :log
|
17
21
|
@@initialized_count += 1
|
18
22
|
return if (@@initialized_count == 1 && !announce_first)
|
19
23
|
#seee.slow!(0.5)
|
@@ -32,18 +36,21 @@ module Perception #:nodoc
|
|
32
36
|
# wait_for_key('Press any key to start')
|
33
37
|
|
34
38
|
|
35
|
-
end #
|
39
|
+
end # defü
|
36
40
|
|
37
41
|
|
38
42
|
|
39
43
|
# Printing basic types
|
40
44
|
def demo_see_basic_types
|
41
|
-
see '1dim Arrays:'
|
42
|
-
seee.indent!
|
45
|
+
see '1dim Arrays are printed verticaly, if their size is not too big:'
|
43
46
|
see
|
47
|
+
seee.left!
|
48
|
+
see a=['this','is','an','array','1']
|
49
|
+
see b=['this','is','another','array','2']
|
50
|
+
see d=['complex array', [1,2,3], {:key => :value, :love => :baby}, 4.0, :four]
|
51
|
+
see []
|
44
52
|
see
|
45
53
|
see 'Other Objects:'
|
46
|
-
see []
|
47
54
|
see 'ordinary string (without "")'
|
48
55
|
see '(next one is empty)'
|
49
56
|
see ''
|
@@ -55,17 +62,30 @@ module Perception #:nodoc
|
|
55
62
|
see false
|
56
63
|
see :a_symbol
|
57
64
|
|
58
|
-
see ['complex array', [1,2,3], {:key => :value, :love => :baby}, 3.0 , '']
|
59
65
|
end # def
|
60
66
|
|
61
67
|
|
62
68
|
def demo_see_pp_object
|
69
|
+
see 'Nested objects reveal their structure. Lower hierary levels may be reduced for this:'
|
70
|
+
see
|
63
71
|
seee.logger
|
64
72
|
see seee
|
73
|
+
see
|
74
|
+
see 'The Logger has been reduced. This is it''s detail view:'
|
75
|
+
see
|
76
|
+
see seee.logger
|
77
|
+
see
|
78
|
+
see
|
79
|
+
see 'PrettyPrint shows all at one, but it''s very hard to read:'
|
80
|
+
see
|
81
|
+
pp seee
|
65
82
|
end
|
66
83
|
|
67
84
|
|
85
|
+
|
68
86
|
def demo_see_pp_array
|
87
|
+
see '2dim Arrays are printed like a table:'
|
88
|
+
see
|
69
89
|
@array1 = []
|
70
90
|
@array1 << ['this','is','an','array','1']
|
71
91
|
@array1 << ['this','is','another','array','2']
|
@@ -129,13 +149,14 @@ module Perception #:nodoc
|
|
129
149
|
|
130
150
|
|
131
151
|
def self.see_all_demos
|
132
|
-
Perception::DemoSee.new('
|
133
|
-
Perception::DemoSee.new('
|
134
|
-
Perception::DemoSee.new('
|
135
|
-
Perception::DemoSee.new('
|
152
|
+
Perception::DemoSee.new('Basic Types').demo_see_basic_types
|
153
|
+
Perception::DemoSee.new('2dimensional Arrays').demo_see_pp_array
|
154
|
+
Perception::DemoSee.new('Nested Objects').demo_see_pp_object
|
155
|
+
Perception::DemoSee.new('Hash').demo_see_pp_hash
|
156
|
+
Perception::DemoSee.new('Dictionary').demo_see_pp_dictionary
|
136
157
|
|
137
158
|
|
138
|
-
|
159
|
+
|
139
160
|
|
140
161
|
end
|
141
162
|
|
@@ -147,6 +168,7 @@ end # class
|
|
147
168
|
|
148
169
|
if $0 == __FILE__ then
|
149
170
|
|
171
|
+
# seee.out << :log
|
150
172
|
Perception::DemoSee.see_all_demos
|
151
173
|
|
152
174
|
|
data/demo/demo2.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
# ruby encoding: utf-8
|
2
|
+
# ü
|
3
|
+
if $0 == __FILE__
|
4
|
+
require 'drumherum'
|
5
|
+
smart_init
|
6
|
+
require 'perception'
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'rbconfig'
|
10
|
+
# seee.out << :log
|
11
|
+
see "see RbConfig::CONFIG"
|
12
|
+
see "=>"
|
13
|
+
see RbConfig::CONFIG
|
14
|
+
see
|
15
|
+
see
|
16
|
+
see "---------------------------------------------------------------------------------------"
|
17
|
+
see
|
18
|
+
# see "pp RbConfig::CONFIG"
|
19
|
+
# see "=>"
|
20
|
+
# pp RbConfig::CONFIG
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
# require 'awesome_print'
|
27
|
+
# ap RbConfig::CONFIG
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
|
data/demo/demo3.rb
ADDED
@@ -0,0 +1,201 @@
|
|
1
|
+
# ruby encoding: utf-8
|
2
|
+
# ü
|
3
|
+
if $0 == __FILE__
|
4
|
+
require 'drumherum'
|
5
|
+
smart_init
|
6
|
+
require 'perception'
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
module Perception #:nodoc
|
11
|
+
|
12
|
+
class DemoSee
|
13
|
+
@@initialized_count = 0
|
14
|
+
|
15
|
+
def initialize( announce_first=true )
|
16
|
+
#seee.out << :log
|
17
|
+
@@initialized_count += 1
|
18
|
+
return if (@@initialized_count == 1 && !announce_first)
|
19
|
+
#seee.slow!(0.5)
|
20
|
+
seee.left!
|
21
|
+
#seee.indent!
|
22
|
+
see ("\n" * 5) if @@initialized_count > 1
|
23
|
+
|
24
|
+
if announce_first.kind_of?(String)
|
25
|
+
see announce_first
|
26
|
+
see '='*announce_first.size
|
27
|
+
else
|
28
|
+
see "Perception Demo ##{@@initialized_count}"
|
29
|
+
see "=================="
|
30
|
+
end
|
31
|
+
see
|
32
|
+
wait_for_key('Press any key to start')
|
33
|
+
end # def
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
def demo_level
|
38
|
+
seee.slow!
|
39
|
+
see "The printout is automaticaly indented. This is the printout of a nested structure of #see's:"
|
40
|
+
see
|
41
|
+
see
|
42
|
+
seee.indent!
|
43
|
+
sub_demo_level
|
44
|
+
see
|
45
|
+
see
|
46
|
+
#wait_for_key
|
47
|
+
see 'You can force left printout with seee.left!. Reactivate indention with seee.indent!.'
|
48
|
+
seee.left!
|
49
|
+
see
|
50
|
+
see
|
51
|
+
sub_demo_level
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
def sub_demo_level
|
56
|
+
see "Hello world. This is level zero. "
|
57
|
+
(1..1).each do
|
58
|
+
see "This is the beginning of level one."
|
59
|
+
1.downto(1) do
|
60
|
+
see "This is the beginning of level two."
|
61
|
+
1.upto(1) do
|
62
|
+
see "This is the beginning of level three."
|
63
|
+
1.times do
|
64
|
+
see "This is the beginning of level four."
|
65
|
+
see "This is the end of level four."
|
66
|
+
end
|
67
|
+
see "This is the end of level three."
|
68
|
+
end
|
69
|
+
see "This is the end of level two."
|
70
|
+
end
|
71
|
+
see "This is the end of level one."
|
72
|
+
end
|
73
|
+
see "This is level zero again. Bye. "
|
74
|
+
end # def
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
# slow printing
|
82
|
+
def demo_see_slowdown1
|
83
|
+
seee.slow!
|
84
|
+
see "You can slow down printing with seee.slow!"
|
85
|
+
see
|
86
|
+
see 'This is a string'
|
87
|
+
see 'and here we have a longer one.'
|
88
|
+
see 'so we need even longeer strings, but they all have to be different.'
|
89
|
+
see '#see has forgotten the first string. So I will tell him again: This is a string. and here we have a longer one. '
|
90
|
+
see 'In slow mode #see waits for you to read the lines. More words, longer waiting.'
|
91
|
+
see 'short prints...'
|
92
|
+
see '...short waiting.'
|
93
|
+
see 'short prints...'
|
94
|
+
see '...short waiting.'
|
95
|
+
see
|
96
|
+
see
|
97
|
+
string = 'This string is getting longer.'
|
98
|
+
(1..10).each do |i|
|
99
|
+
see string
|
100
|
+
string += ' But it repeats.'
|
101
|
+
end
|
102
|
+
see
|
103
|
+
see '#see only counts those words you have to read.'
|
104
|
+
see
|
105
|
+
see
|
106
|
+
see 'You can choose the speed. seee.slow!(0.5) is faster: '
|
107
|
+
|
108
|
+
wait_for_key
|
109
|
+
see
|
110
|
+
seee.slow!(0.5)
|
111
|
+
see 'This is a string'
|
112
|
+
see 'and here we have a longer one.'
|
113
|
+
see 'so we need even longeer strings, but they all have to be different.'
|
114
|
+
see '#see has forgotten the first string. So I will tell him again: This is a string. and here we have a longer one. '
|
115
|
+
see 'In slow mode #see waits for you to read the lines. More words, longer waiting.'
|
116
|
+
see 'short prints...'
|
117
|
+
see '...short waiting.'
|
118
|
+
see '...short waiting.'
|
119
|
+
string = 'This string is getting longer.'
|
120
|
+
(1..10).each do |i|
|
121
|
+
see string
|
122
|
+
string += ' But it repeats.'
|
123
|
+
end
|
124
|
+
see
|
125
|
+
see '#see only counts those words you have to read.'
|
126
|
+
see
|
127
|
+
end
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
# Simple benchmarking
|
133
|
+
def demo_bench
|
134
|
+
see 'You always get the time since last print with seee.bench.'
|
135
|
+
see 'You can use this for simple benchmarking:'
|
136
|
+
see "I'm counting to 50 000 000, please wait."
|
137
|
+
50000000.downto(0) {}
|
138
|
+
see "it took #{seee.bench} seconds."
|
139
|
+
|
140
|
+
end
|
141
|
+
|
142
|
+
|
143
|
+
# temporary printing
|
144
|
+
def demo_see_temp_and_clear_last
|
145
|
+
seee.slow!
|
146
|
+
see_print "countdown: "
|
147
|
+
10.downto(0) do |i|
|
148
|
+
see_temp i
|
149
|
+
end
|
150
|
+
see 'finished!'
|
151
|
+
sleep 1
|
152
|
+
seee.clear!
|
153
|
+
see 'You can clear the last print with seee.clear!'
|
154
|
+
see 'And you can print temporary informations with see_temp'
|
155
|
+
end
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
# print two informations on one line
|
160
|
+
def demo_alternate_see
|
161
|
+
see ['horst.maierman','PW-AEerSDFs', 'addional', 'information', :one]
|
162
|
+
see ['claudia.hoppe','27546522sdfgdz3s', 'addional', 'information', :two]
|
163
|
+
see ['nadja.hirsch','Minnie', 'addional', 'information', :three]
|
164
|
+
seee.flash! ' Bad password! '
|
165
|
+
see ['tom.flupper','Gs3Kkd2', 'addional', 'information', :five]
|
166
|
+
see ['anna.chevrezonk','2sdtg&fH', 'addional', 'information', :six]
|
167
|
+
see ['hardy.schwarzer','dfjhRfDdtis', 'addional', 'information', :seven]
|
168
|
+
end
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
def self.see_all_demos
|
174
|
+
Perception::DemoSee.new('Automatic Indenting').demo_level
|
175
|
+
Perception::DemoSee.new('Slowing down').demo_see_slowdown1
|
176
|
+
Perception::DemoSee.new('Simple Benchmarking').demo_bench
|
177
|
+
Perception::DemoSee.new('Progress Indicator').demo_see_temp_and_clear_last
|
178
|
+
Perception::DemoSee.new('Two layers of information in one line').demo_alternate_see
|
179
|
+
end
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
end # class
|
184
|
+
end # class
|
185
|
+
|
186
|
+
|
187
|
+
if $0 == __FILE__ then
|
188
|
+
|
189
|
+
Perception::DemoSee.see_all_demos
|
190
|
+
|
191
|
+
end
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
|