drumherum 0.1.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.
- data/.gemtest +0 -0
- data/History.txt +7 -0
- data/License.txt +39 -0
- data/Manifest.txt +14 -0
- data/README.txt +37 -0
- data/Rakefile.rb +95 -0
- data/console.rb +9 -0
- data/init.rb +2 -0
- data/lib/drumherum/call_tracker.rb +69 -0
- data/lib/drumherum/rake.rb +297 -0
- data/lib/drumherum/regexp.rb +28 -0
- data/lib/drumherum/unit_test.rb +50 -0
- data/lib/drumherum.rb +80 -0
- data/test/_start_all.rb +19 -0
- metadata +97 -0
data/.gemtest
ADDED
File without changes
|
data/History.txt
ADDED
data/License.txt
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
== License For Drumherum
|
3
|
+
Creative Commons Attribution-Share Alike 3.0 Germany
|
4
|
+
|
5
|
+
(cc-by-sa) http://creativecommons.org/licenses/by-sa/3.0/de/deed.en
|
6
|
+
|
7
|
+
AUTOR: Björn Klippstein
|
8
|
+
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
10
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
11
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
12
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
13
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
14
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
15
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
16
|
+
|
17
|
+
|
18
|
+
== License For ActiveSupport Methods
|
19
|
+
|
20
|
+
Copyright (c) 2005 David Heinemeier Hansson
|
21
|
+
|
22
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
23
|
+
a copy of this software and associated documentation files (the
|
24
|
+
"Software"), to deal in the Software without restriction, including
|
25
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
26
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
27
|
+
permit persons to whom the Software is furnished to do so, subject to
|
28
|
+
the following conditions:
|
29
|
+
|
30
|
+
The above copyright notice and this permission notice shall be
|
31
|
+
included in all copies or substantial portions of the Software.
|
32
|
+
|
33
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
34
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
35
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
36
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
37
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
38
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
39
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Manifest.txt
ADDED
data/README.txt
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
|
2
|
+
= Drumherum
|
3
|
+
|
4
|
+
http://bklippstein.github.com/drumherum/
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
== Usage
|
11
|
+
require 'drumherum'
|
12
|
+
|
13
|
+
|
14
|
+
== License
|
15
|
+
cc-by-sa
|
16
|
+
|
17
|
+
Creative Commons Attribution-Share Alike 3.0 Germany
|
18
|
+
|
19
|
+
http://creativecommons.org/licenses/by-sa/3.0/de/deed.en
|
20
|
+
|
21
|
+
|
22
|
+
== Homepage
|
23
|
+
http://bklippstein.github.com/drumherum/
|
24
|
+
|
25
|
+
|
26
|
+
== Author
|
27
|
+
Björn Klippstein
|
28
|
+
|
29
|
+
|
30
|
+
== Disclaimer
|
31
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
32
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
33
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
34
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
35
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
36
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
37
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile.rb
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
# ruby encoding: utf-8
|
2
|
+
|
3
|
+
require 'kyanite/smart_load_path'
|
4
|
+
smart_load_path
|
5
|
+
|
6
|
+
|
7
|
+
require 'drumherum'
|
8
|
+
Drumherum.project_name = File.dirname(__FILE__).split("/")[-1].strip # Name des Projekt-Stammverzeichnisses
|
9
|
+
Drumherum.github_username = 'bklippstein'
|
10
|
+
require 'rdoc/task'
|
11
|
+
require 'drumherum/rake'
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
# ----------------------------------------------------------------------------------------------
|
18
|
+
# Hoe
|
19
|
+
#
|
20
|
+
# http://nubyonrails.com/articles/tutorial-publishing-rubygems-with-hoe
|
21
|
+
#
|
22
|
+
$hoe = Hoe.spec Drumherum.project_name do
|
23
|
+
|
24
|
+
# self.rubyforge_name = 'yourgemx' # if different than 'yourgem'
|
25
|
+
|
26
|
+
developer('Bjoern Klippstein', 'klippstein@klippstein.com')
|
27
|
+
summary = 'Tools for developing, testing & deploying'
|
28
|
+
|
29
|
+
remote_rdoc_dir = '' # Release to root only one project
|
30
|
+
urls = [["http://#{Drumherum.github_username}.github.com/#{Drumherum.project_name}/"]]
|
31
|
+
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
# require 'pp'
|
36
|
+
# pp $hoe
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
# ----------------------------------------------------------------------------------------------
|
43
|
+
# Documentation
|
44
|
+
#
|
45
|
+
# http://rubeh.tumblr.com/post/27622544/rake-rdoctask-with-all-of-the-options-stubbed-out
|
46
|
+
# http://www.java2s.com/Code/Ruby/Language-Basics/RDocoptionsareusedlikethisrdocoptionsnames.htm
|
47
|
+
#
|
48
|
+
|
49
|
+
remove_task 'docs'
|
50
|
+
|
51
|
+
desc "generate RDoc documentation"
|
52
|
+
Rake::RDocTask.new(:docs) do |rd|
|
53
|
+
|
54
|
+
rd.title = "#{Drumherum.project_class.to_s} #{Drumherum.project_version}"
|
55
|
+
|
56
|
+
rd.rdoc_dir = 'doc'
|
57
|
+
rd.rdoc_files.include('lib/**/*.rb')
|
58
|
+
# rd.rdoc_files.include('test/**/test_*.rb')
|
59
|
+
rd.rdoc_files.include('README.txt', 'License.txt', 'History.txt' )
|
60
|
+
|
61
|
+
rd.options += [
|
62
|
+
'--tab-width', '4',
|
63
|
+
'--main', 'README.txt',
|
64
|
+
'--show-hash', # A name of the form #name in a comment is a possible hyperlink to an instance method name. When displayed, the # is removed unless this option is specified.
|
65
|
+
'--line-numbers',
|
66
|
+
'--all',
|
67
|
+
'--charset=utf8'
|
68
|
+
]
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
# ----------------------------------------------------------------------------------------------
|
74
|
+
# Local Tasks
|
75
|
+
#
|
76
|
+
|
77
|
+
remove_task 'ridocs'
|
78
|
+
remove_task 'rdoc'
|
79
|
+
remove_task 'audit'
|
80
|
+
remove_task 'dcov'
|
81
|
+
remove_task 'debug_email'
|
82
|
+
remove_task 'debug_gem'
|
83
|
+
remove_task 'deploy'
|
84
|
+
remove_task 'deps:email'
|
85
|
+
remove_task 'install_gem'
|
86
|
+
remove_task 'multi'
|
87
|
+
remove_task 'newb'
|
88
|
+
#Dir['tasks/**/*.rake'].each { |t| load t }
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
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 drumherum gem"
|
8
|
+
|
9
|
+
exec "#{irb} #{libs} --simple-prompt --noreadline"
|
data/init.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# ruby encoding: utf-8
|
2
|
+
|
3
|
+
|
4
|
+
# http://oreilly.com/catalog/9780596523695/
|
5
|
+
# Ruby Cookbook, by Lucas Carlson and Leonard Richardson
|
6
|
+
# Copyright 2006 O'Reilly Media
|
7
|
+
#
|
8
|
+
class CallTracker
|
9
|
+
|
10
|
+
# Initialize and start the trace.
|
11
|
+
def initialize(show_stack_depth=1)
|
12
|
+
@show_stack_depth = show_stack_depth
|
13
|
+
@to_trace = Hash.new { |h,k| h[k] = {} }
|
14
|
+
start
|
15
|
+
at_exit { stop }
|
16
|
+
end
|
17
|
+
|
18
|
+
# Register a class/method combination as being interesting. Subsequent calls
|
19
|
+
# to the method will be tallied by tally_calls.
|
20
|
+
def register(klass, method_symbol)
|
21
|
+
@to_trace[klass][method_symbol] = {}
|
22
|
+
end
|
23
|
+
|
24
|
+
# Tells the Ruby interpreter to call tally_calls whenever it's about to
|
25
|
+
# do anything interesting.
|
26
|
+
def start
|
27
|
+
set_trace_func method(:tally_calls).to_proc
|
28
|
+
end
|
29
|
+
|
30
|
+
# Stops the profiler, and prints a report of the interesting calls made
|
31
|
+
# while it was running.
|
32
|
+
def stop(out=$stderr)
|
33
|
+
set_trace_func nil
|
34
|
+
report(out)
|
35
|
+
end
|
36
|
+
|
37
|
+
# If the interpreter is about to call a method we find interesting,
|
38
|
+
# increment the count for that method.
|
39
|
+
def tally_calls(event, file, line, symbol, binding, klass)
|
40
|
+
if @to_trace[klass] and @to_trace[klass][symbol] and
|
41
|
+
(event == 'call' or event =='c-call')
|
42
|
+
stack = caller
|
43
|
+
stack = stack[1..(@show_stack_depth ? @show_stack_depth : stack.size)]
|
44
|
+
@to_trace[klass][symbol][stack] ||= 0
|
45
|
+
@to_trace[klass][symbol][stack] += 1
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# Prints a report of the lines of code that called interesting
|
50
|
+
# methods, sorted so that the the most active lines of code show up
|
51
|
+
# first.
|
52
|
+
def report(out=$stderr)
|
53
|
+
first = true
|
54
|
+
@to_trace.each do |klass, symbols|
|
55
|
+
symbols.each do |symbol, calls|
|
56
|
+
total = calls.inject(0) { |sum, ct| sum + ct[1] }
|
57
|
+
padding = total.to_s.size
|
58
|
+
separator = (klass.is_a? Class) ? '#' : '.'
|
59
|
+
plural = (total == 1) ? '' : 's'
|
60
|
+
stack_join = "\n" + (' ' * (padding+2))
|
61
|
+
first ? first = false : out.puts
|
62
|
+
out.puts "#{total} call#{plural} to #{klass}#{separator}#{symbol}"
|
63
|
+
(calls.sort_by { |caller, times| -times }).each do |caller, times|
|
64
|
+
out.puts " %#{padding}.d #{caller.join(stack_join)}" % times
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,297 @@
|
|
1
|
+
# ruby encoding: utf-8
|
2
|
+
|
3
|
+
#== *Rake*
|
4
|
+
#Beispiele siehe Rakefile.rb
|
5
|
+
#* Methode remove_task, um Tasks überschreiben zu können
|
6
|
+
|
7
|
+
|
8
|
+
# ----------------------------------------------------------------------------------------------
|
9
|
+
# Rake initialisieren
|
10
|
+
#
|
11
|
+
|
12
|
+
require 'rake'
|
13
|
+
#require 'rake/testtask'
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
# ----------------------------------------------------------------------------------------------
|
19
|
+
# Ergänzung: Alte Tasks entfernen
|
20
|
+
# sonst kann man sie nämlich nicht überschreiben!
|
21
|
+
# Beispiel: remove_task 'test:plugins'
|
22
|
+
# Quelle: http://matthewbass.com/2007/03/07/overriding-existing-rake-tasks/
|
23
|
+
# dies hier stimmt nicht: http://www.dcmanges.com/blog/modifying-rake-tasks
|
24
|
+
|
25
|
+
Rake::TaskManager.class_eval do
|
26
|
+
def remove_task(task_name)
|
27
|
+
@tasks.delete(task_name.to_s)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def remove_task(task_name)
|
32
|
+
Rake.application.remove_task(task_name)
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
# -------------------------------------------------------------------------------------------------------
|
39
|
+
# publish
|
40
|
+
#
|
41
|
+
|
42
|
+
# Task :publish
|
43
|
+
#
|
44
|
+
desc 'publish all on github and rubygems, reinstall gem'
|
45
|
+
task :publish => [ :utf8, :redocs, :rubygems_publish, :gem_uninstall, :git_publish, :git_publish_docs, :sleep_15, :utf8, :gem_install] do
|
46
|
+
puts 'done.'
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
# -------------------------------------------------------------------------------------------------------
|
52
|
+
# git
|
53
|
+
#
|
54
|
+
|
55
|
+
|
56
|
+
# git_publish
|
57
|
+
#
|
58
|
+
desc 'publish actual version to github'
|
59
|
+
task :git_publish => [ :git_add, :git_commit, :git_push ] do
|
60
|
+
puts; puts; puts; puts
|
61
|
+
if Hoe::WINDOZE
|
62
|
+
sh "start https://github.com/#{Drumherum.github_username}/#{Drumherum.project_name} "
|
63
|
+
else
|
64
|
+
puts "done. Visit https://github.com/#{Drumherum.github_username}/#{Drumherum.project_name} "
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
# git_status
|
71
|
+
#
|
72
|
+
desc 'git status'
|
73
|
+
task :git_status do
|
74
|
+
if Hoe::WINDOZE
|
75
|
+
sh "git status "
|
76
|
+
sh 'chcp 65001 > NUL '
|
77
|
+
else
|
78
|
+
sh "sudo git status "
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
# git_add
|
85
|
+
#
|
86
|
+
desc 'git_add -A'
|
87
|
+
task :git_add do
|
88
|
+
if Hoe::WINDOZE
|
89
|
+
sh "git add -A "
|
90
|
+
sh 'chcp 65001 > NUL '
|
91
|
+
else
|
92
|
+
sh "sudo git add -A "
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
# git_commit
|
99
|
+
#
|
100
|
+
desc 'git commit -m'
|
101
|
+
task :git_commit do
|
102
|
+
if Hoe::WINDOZE
|
103
|
+
sh 'git commit -m "---" '
|
104
|
+
sh 'chcp 65001 > NUL '
|
105
|
+
else
|
106
|
+
sh 'sudo git commit -m "---" '
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
|
111
|
+
# git push origin master
|
112
|
+
#
|
113
|
+
desc 'git_push'
|
114
|
+
task :git_push do
|
115
|
+
if Hoe::WINDOZE
|
116
|
+
sh 'git push origin master '
|
117
|
+
sh 'chcp 65001 > NUL '
|
118
|
+
else
|
119
|
+
sh 'sudo git push origin master '
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
# git_publish_docs
|
126
|
+
#
|
127
|
+
desc 'publish docs to github'
|
128
|
+
task :git_publish_docs do
|
129
|
+
puts; puts; puts; puts
|
130
|
+
|
131
|
+
# Repository erstellen, wenn nötig
|
132
|
+
Dir.chdir '/tmp' do
|
133
|
+
sh "#{'sudo ' unless Hoe::WINDOZE }git clone https://github.com/#{Drumherum.github_username}/#{Drumherum.project_name} " do |ok,res|
|
134
|
+
if ok
|
135
|
+
Dir.chdir "/tmp/#{Drumherum.project_name}" do
|
136
|
+
if Hoe::WINDOZE
|
137
|
+
sh 'git checkout --orphan gh-pages '
|
138
|
+
sh 'chcp 65001 > NUL '
|
139
|
+
else
|
140
|
+
sh 'sudo git checkout --orphan gh-pages '
|
141
|
+
end
|
142
|
+
end # do chdir
|
143
|
+
else # not ok
|
144
|
+
sh 'chcp 65001 > NUL ' if Hoe::WINDOZE
|
145
|
+
end
|
146
|
+
end # do sh
|
147
|
+
end # do chdir
|
148
|
+
|
149
|
+
# alles löschen
|
150
|
+
Dir.chdir "/tmp/#{Drumherum.project_name}" do
|
151
|
+
if Hoe::WINDOZE
|
152
|
+
sh 'git rm -rf --ignore-unmatch . '
|
153
|
+
sh 'chcp 65001 > NUL '
|
154
|
+
else
|
155
|
+
sh 'sudo git rm -rf --ignore-unmatch . '
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
# doc rüberkopieren
|
160
|
+
Dir.chdir 'doc' do
|
161
|
+
if Hoe::WINDOZE
|
162
|
+
sh "xcopy /E *.* \\tmp\\#{Drumherum.project_name} "
|
163
|
+
else
|
164
|
+
sh "sudo cp . /tmp/#{Drumherum.project_name} "
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
# publish
|
169
|
+
Dir.chdir "/tmp/#{Drumherum.project_name}" do
|
170
|
+
if Hoe::WINDOZE
|
171
|
+
sh 'git add -A '
|
172
|
+
sh 'git commit -m "---" --allow-empty'
|
173
|
+
sh 'git push origin +gh-pages ' # C:\Users\Klippstein\_netrc enthält die Login-Daten
|
174
|
+
sh "start http://#{Drumherum.github_username}.github.com/#{Drumherum.project_name} "
|
175
|
+
sh 'chcp 65001 > NUL '
|
176
|
+
else
|
177
|
+
sh 'sudo git add -A '
|
178
|
+
sh 'sudo git commit -m "---" --allow-empty'
|
179
|
+
sh 'sudo git push origin +gh-pages ' # .netrc enthält die Login-Daten
|
180
|
+
puts "done. Visit http://#{Drumherum.github_username}.github.com/#{Drumherum.project_name} "
|
181
|
+
end # if
|
182
|
+
|
183
|
+
end # do chdir
|
184
|
+
|
185
|
+
|
186
|
+
end # do task
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
# -------------------------------------------------------------------------------------------------------
|
192
|
+
# rubygems
|
193
|
+
#
|
194
|
+
|
195
|
+
|
196
|
+
# Task :rubygems_publish
|
197
|
+
#
|
198
|
+
desc 'release actual version to rubygems'
|
199
|
+
task :rubygems_publish do
|
200
|
+
puts; puts; puts; puts
|
201
|
+
ENV["VERSION"] = Drumherum.project_version
|
202
|
+
Rake::Task[:release].invoke
|
203
|
+
|
204
|
+
end
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
# Task :gem_uninstall
|
209
|
+
#
|
210
|
+
desc 'uninstall old gem'
|
211
|
+
task :gem_uninstall do
|
212
|
+
puts; puts; puts; puts
|
213
|
+
sh "#{'sudo ' unless Hoe::WINDOZE }gem uninstall #{Drumherum.project_name} --a --ignore-dependencies "
|
214
|
+
end
|
215
|
+
|
216
|
+
|
217
|
+
|
218
|
+
# Task :gem_install
|
219
|
+
#
|
220
|
+
desc 'install gem from rubygems'
|
221
|
+
task :gem_install do
|
222
|
+
puts; puts; puts; puts
|
223
|
+
sh "#{'sudo ' unless Hoe::WINDOZE }gem install #{Drumherum.project_name} "
|
224
|
+
end
|
225
|
+
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
# -------------------------------------------------------------------------------------------------------
|
232
|
+
# Div
|
233
|
+
#
|
234
|
+
|
235
|
+
# Task :utf8
|
236
|
+
#
|
237
|
+
desc 'Set Codepage to 65001'
|
238
|
+
task :utf8 do
|
239
|
+
|
240
|
+
sh 'chcp 65001 > NUL ' if Hoe::WINDOZE
|
241
|
+
|
242
|
+
end
|
243
|
+
|
244
|
+
|
245
|
+
# Task :version
|
246
|
+
#
|
247
|
+
desc 'VERSION of the current project'
|
248
|
+
task :version do
|
249
|
+
|
250
|
+
puts "\n#{Drumherum.project_name} (#{Drumherum.project_version})\n\n"
|
251
|
+
|
252
|
+
end
|
253
|
+
|
254
|
+
|
255
|
+
|
256
|
+
# Task :sleep_5
|
257
|
+
#
|
258
|
+
desc 'Sleep 5 seconds'
|
259
|
+
task :sleep_5 do
|
260
|
+
puts
|
261
|
+
puts
|
262
|
+
puts
|
263
|
+
if Hoe::WINDOZE
|
264
|
+
sh "wait 5"
|
265
|
+
else
|
266
|
+
sh "sleep 5"
|
267
|
+
end
|
268
|
+
|
269
|
+
end
|
270
|
+
|
271
|
+
|
272
|
+
# Task :sleep_15
|
273
|
+
#
|
274
|
+
desc 'Sleep 15 seconds'
|
275
|
+
task :sleep_15 do
|
276
|
+
puts
|
277
|
+
puts
|
278
|
+
puts
|
279
|
+
if Hoe::WINDOZE
|
280
|
+
sh "wait 15"
|
281
|
+
else
|
282
|
+
sh "sleep 15"
|
283
|
+
end
|
284
|
+
|
285
|
+
end
|
286
|
+
|
287
|
+
|
288
|
+
|
289
|
+
|
290
|
+
# namespace :manifest do
|
291
|
+
# desc 'Recreate Manifest.txt to include ALL files'
|
292
|
+
# task :refresh do
|
293
|
+
# `rake check_manifest | patch -p0 > Manifest.txt`
|
294
|
+
# end
|
295
|
+
# end
|
296
|
+
|
297
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# ruby encoding: utf-8
|
2
|
+
|
3
|
+
|
4
|
+
class String
|
5
|
+
|
6
|
+
# ---------------------------------------------------------------------------------------------------------------------------------
|
7
|
+
# :section: Operation
|
8
|
+
#
|
9
|
+
|
10
|
+
# Zeigt das Ergebnis eines Matches mit einer Regular Expression. Erleichtert das Entwickeln regulärer Ausdrücke.
|
11
|
+
#
|
12
|
+
def show_regexp(re)
|
13
|
+
if self =~ re
|
14
|
+
"#{$`}<<#{$&}>>#{$'}"
|
15
|
+
else
|
16
|
+
"no match"
|
17
|
+
end # if
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
if defined? TransparentNil
|
23
|
+
class NilClass
|
24
|
+
def show_regexp(*a); nil; end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# ruby encoding: utf-8
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
class UnitTest < Test::Unit::TestCase # :nodoc:
|
7
|
+
|
8
|
+
# Meldet den aktuell durchlaufenden Test
|
9
|
+
def test0 #:nodoc:
|
10
|
+
name = self.class.to_s.gsub(/^.*::/, '')
|
11
|
+
name.gsub!(/^Test/, '')
|
12
|
+
name.gsub!(/^[0-9]+/, '')
|
13
|
+
if name != 'UnitTest'
|
14
|
+
print "\n #{name} "
|
15
|
+
else
|
16
|
+
puts
|
17
|
+
puts
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
# ---------------------------------------------------------
|
32
|
+
# Ausprobieren
|
33
|
+
#
|
34
|
+
if $0 == __FILE__
|
35
|
+
|
36
|
+
class Test030Blatest < UnitTest # :nodoc:
|
37
|
+
|
38
|
+
def test_bla
|
39
|
+
# 1 / 0
|
40
|
+
assert false
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
end
|
50
|
+
|
data/lib/drumherum.rb
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
# ruby encoding: utf-8
|
2
|
+
# ü
|
3
|
+
if $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
4
|
+
#puts 'Path schon aktuell'
|
5
|
+
else
|
6
|
+
$:.unshift(File.dirname(__FILE__))
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'hoe'
|
10
|
+
|
11
|
+
module Drumherum
|
12
|
+
|
13
|
+
VERSION = '0.1.0' # Drumherum
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
class << self
|
18
|
+
|
19
|
+
def project_name=(pn)
|
20
|
+
@project_name = pn
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
# Name of the actual project
|
25
|
+
def project_name
|
26
|
+
@project_name || 'Drumherum'
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
# Class of the actual project
|
31
|
+
def project_class
|
32
|
+
classname = project_name.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
|
33
|
+
unless /\A(?:::)?([A-Z]\w*(?:::[A-Z]\w*)*)\z/ =~ classname
|
34
|
+
raise NameError, "#{classname.inspect} is not a valid constant name!"
|
35
|
+
end
|
36
|
+
Object.module_eval("::#{$1}", __FILE__, __LINE__)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Version of the actual project
|
40
|
+
def project_version
|
41
|
+
project_class.const_get('VERSION')
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
# Set your github username
|
47
|
+
def github_username=(gn)
|
48
|
+
@github_username = gn
|
49
|
+
end
|
50
|
+
|
51
|
+
# Your github username
|
52
|
+
def github_username
|
53
|
+
@github_username || 'gleer'
|
54
|
+
end
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
end # moduldefinitionen
|
65
|
+
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
if $0 == __FILE__
|
71
|
+
|
72
|
+
|
73
|
+
#Drumherum.project_name='kyanite'
|
74
|
+
puts Drumherum.project_version
|
75
|
+
|
76
|
+
end
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
data/test/_start_all.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# ruby encoding: utf-8
|
2
|
+
#!/usr/bin/env ruby
|
3
|
+
#
|
4
|
+
# Führt alle Tests aus
|
5
|
+
#
|
6
|
+
|
7
|
+
if $0 == __FILE__
|
8
|
+
require 'kyanite/smart_load_path.rb'
|
9
|
+
smart_load_path
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
# Test-Verzeichnis der Applikation
|
14
|
+
test_verzeichnis = File.expand_path(File.dirname(__FILE__) )
|
15
|
+
|
16
|
+
Dir["#{test_verzeichnis}/test_*.rb"].sort.each { |t| require t }
|
17
|
+
|
18
|
+
|
19
|
+
|
metadata
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: drumherum
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Bjoern Klippstein
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-10-15 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rdoc
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '3.10'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.10'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: hoe
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '3.1'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.1'
|
46
|
+
description: ''
|
47
|
+
email:
|
48
|
+
- klippstein@klippstein.com
|
49
|
+
executables: []
|
50
|
+
extensions: []
|
51
|
+
extra_rdoc_files:
|
52
|
+
- History.txt
|
53
|
+
- License.txt
|
54
|
+
- Manifest.txt
|
55
|
+
- README.txt
|
56
|
+
files:
|
57
|
+
- console.rb
|
58
|
+
- History.txt
|
59
|
+
- init.rb
|
60
|
+
- License.txt
|
61
|
+
- Manifest.txt
|
62
|
+
- Rakefile.rb
|
63
|
+
- README.txt
|
64
|
+
- lib/drumherum.rb
|
65
|
+
- lib/drumherum/call_tracker.rb
|
66
|
+
- lib/drumherum/rake.rb
|
67
|
+
- lib/drumherum/regexp.rb
|
68
|
+
- lib/drumherum/unit_test.rb
|
69
|
+
- test/_start_all.rb
|
70
|
+
- .gemtest
|
71
|
+
homepage: http://bklippstein.github.com/drumherum/
|
72
|
+
licenses: []
|
73
|
+
post_install_message:
|
74
|
+
rdoc_options:
|
75
|
+
- --main
|
76
|
+
- README.txt
|
77
|
+
require_paths:
|
78
|
+
- lib
|
79
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
81
|
+
requirements:
|
82
|
+
- - ! '>='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
85
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
87
|
+
requirements:
|
88
|
+
- - ! '>='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
requirements: []
|
92
|
+
rubyforge_project: drumherum
|
93
|
+
rubygems_version: 1.8.24
|
94
|
+
signing_key:
|
95
|
+
specification_version: 3
|
96
|
+
summary: ''
|
97
|
+
test_files: []
|