simplews 1.3.2 → 1.3.4
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/LICENSE +20 -0
- data/README.rdoc +14 -88
- data/lib/simplews/jobs.rb +54 -20
- data/lib/simplews.rb +1 -1
- metadata +24 -51
- data/History.txt +0 -57
- data/Manifest.txt +0 -26
- data/PostInstall.txt +0 -7
- data/Rakefile +0 -28
- data/config/hoe.rb +0 -73
- data/config/requirements.rb +0 -15
- data/script/console +0 -10
- data/script/destroy +0 -14
- data/script/generate +0 -14
- data/script/txt2html +0 -82
- data/setup.rb +0 -1585
- data/simplews.gemspec +0 -38
- data/tasks/deployment.rake +0 -34
- data/tasks/environment.rake +0 -7
- data/tasks/website.rake +0 -17
- data/test/simplews/test_jobs.rb +0 -93
- data/test/test_helper.rb +0 -3
- data/test/test_simplews.rb +0 -50
- data/website/index.html +0 -11
- data/website/index.txt +0 -83
- data/website/javascripts/rounded_corners_lite.inc.js +0 -285
- data/website/stylesheets/screen.css +0 -138
- data/website/template.html.erb +0 -48
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 Miguel Vazquez
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
CHANGED
@@ -1,92 +1,18 @@
|
|
1
|
-
=
|
1
|
+
= simplews
|
2
2
|
|
3
|
-
|
3
|
+
Description goes here.
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
== Note on Patches/Pull Requests
|
6
|
+
|
7
|
+
* Fork the project.
|
8
|
+
* Make your feature addition or bug fix.
|
9
|
+
* Add tests for it. This is important so I don't break it in a
|
10
|
+
future version unintentionally.
|
11
|
+
* Commit, do not mess with rakefile, version, or history.
|
12
|
+
(if you want to have your own version, that is fine but
|
13
|
+
bump version in a commit by itself I can ignore when I pull)
|
14
|
+
* Send me a pull request. Bonus points for topic branches.
|
8
15
|
|
9
|
-
==
|
16
|
+
== Copyright
|
10
17
|
|
11
|
-
|
12
|
-
== SYNOPSIS:
|
13
|
-
|
14
|
-
Each Web Service provided is described using the method 'serve', which takes
|
15
|
-
as arguments the name of the service, the name of its arguments, the type of
|
16
|
-
its arguments and an optional block of code. If a block of code is provided,
|
17
|
-
it will be the one executed when the service is called, if not, a function
|
18
|
-
with the same name will be used. The types for the arguments are listed here,
|
19
|
-
along with the WSDL type that it is translated to:
|
20
|
-
|
21
|
-
:string => 'xsd:string',
|
22
|
-
:integer => 'xsd:integer',
|
23
|
-
:array => 'tns:ArrayOfString',
|
24
|
-
:hash => 'tns:Map',
|
25
|
-
:binary => 'xsd:base64Binary',
|
26
|
-
|
27
|
-
The type of the result value may also be specified using the name :return,
|
28
|
-
this means no argument may be called :return. If it is not specified there
|
29
|
-
will be no return value.
|
30
|
-
|
31
|
-
Following is an example of use:
|
32
|
-
|
33
|
-
class TestWS < SimpleWS
|
34
|
-
def hi(name)
|
35
|
-
"Hi #{name}, how are you?"
|
36
|
-
end
|
37
|
-
|
38
|
-
def initialize(*args)
|
39
|
-
super(*args)
|
40
|
-
serve :hi, %(name), :name => :string, :return => :string
|
41
|
-
|
42
|
-
serve :bye, %(name), :name => :string, :return => :string do |name
|
43
|
-
"Bye bye #{name}. See you soon."
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
The constructor accepts a number of parameters. The name of the server, a
|
49
|
-
description, the host and the port, along with any other arguments one wishes
|
50
|
-
to pass to the SOAP::RPC::StandaloneServer constructor
|
51
|
-
|
52
|
-
This is an example of instantiating the above server:
|
53
|
-
|
54
|
-
server = TestWS.new("TestWS", "Greeting Services", 'localhost', '1984')
|
55
|
-
server.wsdl("TestWS.wsdl")
|
56
|
-
|
57
|
-
The function 'wsdl' saves the WSDL describing the services and the location
|
58
|
-
provided as an argument.
|
59
|
-
|
60
|
-
|
61
|
-
== REQUIREMENTS:
|
62
|
-
|
63
|
-
Requires soap4r gem to be installed.
|
64
|
-
|
65
|
-
== INSTALL:
|
66
|
-
|
67
|
-
sudo gem install simpleWS
|
68
|
-
|
69
|
-
== LICENSE:
|
70
|
-
|
71
|
-
(The MIT License)
|
72
|
-
|
73
|
-
Copyright (c) 2008 Miguel Vazquez (miguel.vazquez@fdi.ucm.es)
|
74
|
-
|
75
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
76
|
-
a copy of this software and associated documentation files (the
|
77
|
-
'Software'), to deal in the Software without restriction, including
|
78
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
79
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
80
|
-
permit persons to whom the Software is furnished to do so, subject to
|
81
|
-
the following conditions:
|
82
|
-
|
83
|
-
The above copyright notice and this permission notice shall be
|
84
|
-
included in all copies or substantial portions of the Software.
|
85
|
-
|
86
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
87
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
88
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
89
|
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
90
|
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
91
|
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
92
|
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
18
|
+
Copyright (c) 2009 Miguel Vazquez. See LICENSE for details.
|
data/lib/simplews/jobs.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require File.join(File.dirname(File.dirname(__FILE__)) + '/simplews')
|
2
2
|
|
3
3
|
require 'yaml'
|
4
|
-
require 'drb'
|
5
4
|
require 'singleton'
|
6
5
|
require 'rand'
|
7
6
|
require 'zlib'
|
@@ -14,8 +13,13 @@ class SimpleWS::Jobs < SimpleWS
|
|
14
13
|
class Aborted < Exception; end
|
15
14
|
|
16
15
|
|
17
|
-
|
16
|
+
SLEEP_TIMES = {
|
17
|
+
:job_info => 1,
|
18
|
+
:monitor => 2,
|
19
|
+
}
|
20
|
+
|
18
21
|
|
22
|
+
#{{{ Scheduler
|
19
23
|
module Scheduler
|
20
24
|
include Process
|
21
25
|
|
@@ -26,7 +30,8 @@ class SimpleWS::Jobs < SimpleWS
|
|
26
30
|
|
27
31
|
@@queue = []
|
28
32
|
@@max_jobs = 3
|
29
|
-
|
33
|
+
|
34
|
+
|
30
35
|
def self.random_name(s="", num=20)
|
31
36
|
num.times{
|
32
37
|
r = rand
|
@@ -44,17 +49,18 @@ class SimpleWS::Jobs < SimpleWS
|
|
44
49
|
def self.make_name(name = "")
|
45
50
|
name = Scheduler::random_name("job-") unless name =~ /\w/
|
46
51
|
|
47
|
-
taken = @@names.select{|n| n =~ /^#{ name }(
|
52
|
+
taken = @@names.select{|n| n =~ /^#{ Regexp.quote name }(?:-\d+)?$/}
|
48
53
|
taken += Job.taken(name)
|
49
54
|
taken = taken.sort.uniq
|
50
55
|
if taken.any?
|
51
56
|
if taken.length == 1
|
52
|
-
return name + '-
|
57
|
+
return name + '-2'
|
53
58
|
else
|
54
59
|
last = taken.collect{|s|
|
55
60
|
if s.match(/-(\d+)$/)
|
56
61
|
$1.to_i
|
57
|
-
else
|
62
|
+
else
|
63
|
+
1
|
58
64
|
end
|
59
65
|
}.sort.last
|
60
66
|
return name + '-' + (last + 1).to_s
|
@@ -78,10 +84,11 @@ class SimpleWS::Jobs < SimpleWS
|
|
78
84
|
end
|
79
85
|
|
80
86
|
def self.dequeue
|
81
|
-
if @@pids.length
|
87
|
+
if @@pids.length <= @@max_jobs && @@queue.any?
|
82
88
|
job_info = @@queue.pop
|
83
89
|
|
84
90
|
pid = Job.new.run(job_info[:task], job_info[:name], @@task_results[job_info[:task]], *job_info[:args])
|
91
|
+
|
85
92
|
@@pids[job_info[:name]] = pid
|
86
93
|
pid
|
87
94
|
else
|
@@ -89,6 +96,10 @@ class SimpleWS::Jobs < SimpleWS
|
|
89
96
|
end
|
90
97
|
end
|
91
98
|
|
99
|
+
def self.queue
|
100
|
+
@@queue
|
101
|
+
end
|
102
|
+
|
92
103
|
def self.run(task, *args)
|
93
104
|
suggested_name = *args.pop
|
94
105
|
name = make_name(suggested_name)
|
@@ -107,7 +118,9 @@ class SimpleWS::Jobs < SimpleWS
|
|
107
118
|
end
|
108
119
|
|
109
120
|
def self.clean_job(pid)
|
110
|
-
name = @@pids.select{|name, p| p == pid}.first
|
121
|
+
name = @@pids.select{|name, p| p == pid}.first
|
122
|
+
return if name.nil?
|
123
|
+
name = name.first
|
111
124
|
puts "Process #{ name } with pid #{ pid } finished with exitstatus #{$?.exitstatus}"
|
112
125
|
state = Job.job_info(name)
|
113
126
|
if ![:error, :done, :aborted].include?(state[:status])
|
@@ -121,18 +134,27 @@ class SimpleWS::Jobs < SimpleWS
|
|
121
134
|
def self.job_monitor
|
122
135
|
Thread.new{
|
123
136
|
while true
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
137
|
+
begin
|
138
|
+
pid = dequeue
|
139
|
+
if pid.nil?
|
140
|
+
if @@pids.any?
|
141
|
+
pid_exit = Process.wait(-1, Process::WNOHANG)
|
142
|
+
if pid_exit
|
143
|
+
clean_job(pid_exit)
|
144
|
+
else
|
145
|
+
sleep SimpleWS::Jobs::SLEEP_TIMES[:monitor]
|
146
|
+
end
|
147
|
+
else
|
148
|
+
sleep SimpleWS::Jobs::SLEEP_TIMES[:monitor]
|
132
149
|
end
|
133
|
-
|
150
|
+
else
|
151
|
+
sleep SimpleWS::Jobs::SLEEP_TIMES[:monitor]
|
152
|
+
end
|
153
|
+
rescue
|
154
|
+
puts $!.message
|
155
|
+
puts $!.backtrace.join("\n")
|
156
|
+
sleep 2
|
134
157
|
end
|
135
|
-
sleep 2
|
136
158
|
end
|
137
159
|
}
|
138
160
|
end
|
@@ -170,7 +192,8 @@ class SimpleWS::Jobs < SimpleWS
|
|
170
192
|
end
|
171
193
|
|
172
194
|
def self.taken(name = "")
|
173
|
-
Dir.glob(@@savedir + "/#{ name }*.marshal").
|
195
|
+
Dir.glob(@@savedir + "/#{ name }*.marshal").
|
196
|
+
collect{|n| n.match(/\/(#{ Regexp.quote name }(?:-\d+)?).marshal/); $1}.compact
|
174
197
|
end
|
175
198
|
def self.path(file, name)
|
176
199
|
if file =~ /^\/|#{@@workdir}/
|
@@ -196,7 +219,7 @@ class SimpleWS::Jobs < SimpleWS
|
|
196
219
|
rescue Exception
|
197
220
|
if retries > 0
|
198
221
|
retries -= 1
|
199
|
-
sleep
|
222
|
+
sleep SimpleWS::Jobs::SLEEP_TIMES[:job_info]
|
200
223
|
retry
|
201
224
|
end
|
202
225
|
info = nil
|
@@ -204,6 +227,11 @@ class SimpleWS::Jobs < SimpleWS
|
|
204
227
|
|
205
228
|
raise JobNotFound, "Job with name '#{ name }' was not found" if info.nil?
|
206
229
|
|
230
|
+
if info[:queued] && !@@queue.collect{|info| info[:name]}.include?(name)
|
231
|
+
FileUtils.rm(File.join(@@savedir, name + '.marshal'))
|
232
|
+
raise Aborted, "Job #{ name } has been removed from the queue"
|
233
|
+
end
|
234
|
+
|
207
235
|
info
|
208
236
|
end
|
209
237
|
|
@@ -304,6 +332,8 @@ class SimpleWS::Jobs < SimpleWS
|
|
304
332
|
puts $!.message
|
305
333
|
puts $!.backtrace
|
306
334
|
exit(-1)
|
335
|
+
else
|
336
|
+
exit($!.status)
|
307
337
|
end
|
308
338
|
end
|
309
339
|
end
|
@@ -364,6 +394,10 @@ class SimpleWS::Jobs < SimpleWS
|
|
364
394
|
end
|
365
395
|
}
|
366
396
|
|
397
|
+
serve :queue, [], :return => :array do
|
398
|
+
Scheduler.queue.collect{|info| info[:name]}
|
399
|
+
end
|
400
|
+
|
367
401
|
serve :status, ['job'], :job => :string, :return => :string do |job|
|
368
402
|
Scheduler.job_info(job)[:status].to_s
|
369
403
|
end
|
data/lib/simplews.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simplews
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
@@ -9,75 +9,50 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-10-29 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
17
|
-
type: :
|
16
|
+
name: rand
|
17
|
+
type: :runtime
|
18
18
|
version_requirement:
|
19
19
|
version_requirements: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: "0"
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
27
|
-
type: :
|
26
|
+
name: builder
|
27
|
+
type: :runtime
|
28
28
|
version_requirement:
|
29
29
|
version_requirements: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: "0"
|
34
34
|
version:
|
35
|
-
description:
|
36
|
-
email:
|
37
|
-
- mikisvaz@yahoo.com
|
35
|
+
description: Generates WSDL automatically. It manages jobs as asynchronous processes
|
36
|
+
email: miguel.vazquez@fdi.ucm.es
|
38
37
|
executables: []
|
39
38
|
|
40
39
|
extensions: []
|
41
40
|
|
42
41
|
extra_rdoc_files:
|
43
|
-
-
|
44
|
-
- Manifest.txt
|
45
|
-
- PostInstall.txt
|
42
|
+
- LICENSE
|
46
43
|
- README.rdoc
|
47
|
-
- website/index.txt
|
48
44
|
files:
|
49
|
-
- History.txt
|
50
|
-
- Manifest.txt
|
51
|
-
- PostInstall.txt
|
52
|
-
- README.rdoc
|
53
|
-
- Rakefile
|
54
|
-
- config/hoe.rb
|
55
|
-
- config/requirements.rb
|
56
45
|
- lib/simplews.rb
|
57
46
|
- lib/simplews/jobs.rb
|
58
|
-
-
|
59
|
-
-
|
60
|
-
- script/generate
|
61
|
-
- script/txt2html
|
62
|
-
- setup.rb
|
63
|
-
- simplews.gemspec
|
64
|
-
- tasks/deployment.rake
|
65
|
-
- tasks/environment.rake
|
66
|
-
- tasks/website.rake
|
67
|
-
- test/simplews/test_jobs.rb
|
68
|
-
- test/test_helper.rb
|
69
|
-
- test/test_simplews.rb
|
70
|
-
- website/index.html
|
71
|
-
- website/index.txt
|
72
|
-
- website/javascripts/rounded_corners_lite.inc.js
|
73
|
-
- website/stylesheets/screen.css
|
74
|
-
- website/template.html.erb
|
47
|
+
- LICENSE
|
48
|
+
- README.rdoc
|
75
49
|
has_rdoc: true
|
76
|
-
homepage:
|
77
|
-
|
50
|
+
homepage: http://github.com/mikisvaz/simplews
|
51
|
+
licenses: []
|
52
|
+
|
53
|
+
post_install_message:
|
78
54
|
rdoc_options:
|
79
|
-
- --
|
80
|
-
- README.rdoc
|
55
|
+
- --charset=UTF-8
|
81
56
|
require_paths:
|
82
57
|
- lib
|
83
58
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -94,12 +69,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
69
|
version:
|
95
70
|
requirements: []
|
96
71
|
|
97
|
-
rubyforge_project:
|
98
|
-
rubygems_version: 1.3.
|
72
|
+
rubyforge_project:
|
73
|
+
rubygems_version: 1.3.5
|
99
74
|
signing_key:
|
100
|
-
specification_version:
|
101
|
-
summary:
|
102
|
-
test_files:
|
103
|
-
|
104
|
-
- test/test_helper.rb
|
105
|
-
- test/simplews/test_jobs.rb
|
75
|
+
specification_version: 3
|
76
|
+
summary: Simplifies creating soap4r web services as stand-alone servers
|
77
|
+
test_files: []
|
78
|
+
|
data/History.txt
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
== 1.3.2 2009-03-21
|
2
|
-
|
3
|
-
== 1.3.1 2008-12-20
|
4
|
-
|
5
|
-
* 1 minor enhancement:
|
6
|
-
* Use Marshal instead of YAML, it seems faster...
|
7
|
-
|
8
|
-
* 1 mayor enhancement:
|
9
|
-
* Removed old versions of job based servers
|
10
|
-
|
11
|
-
== 1.3.0 2008-12-20
|
12
|
-
|
13
|
-
* 1 minor enhancement:
|
14
|
-
* New version for asynchronous job. In this case it uses fork to spawn new
|
15
|
-
processes.
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
== 1.1.7 2008-11-27
|
20
|
-
|
21
|
-
* 2 minor enhancement:
|
22
|
-
* Inline methods are prepended '_inline_' to avoid polluting namespace
|
23
|
-
* Asynchronous jobs have a hash where they can save information, it is
|
24
|
-
accessible through the 'info' WS method in YAML format
|
25
|
-
|
26
|
-
== 1.1.6 2008-11-24
|
27
|
-
|
28
|
-
* 1 minor enhancement:
|
29
|
-
* Added documentation
|
30
|
-
|
31
|
-
|
32
|
-
== 1.1.5 2008-10-28
|
33
|
-
|
34
|
-
* 1 major enhancement:
|
35
|
-
* Jobs save their states across reboots of the server
|
36
|
-
|
37
|
-
== 1.1.4 2008-10-28
|
38
|
-
|
39
|
-
* 1 major enhancement:
|
40
|
-
* Web Service with asynchronous jobs
|
41
|
-
|
42
|
-
== 1.0.2 2008-10-28
|
43
|
-
|
44
|
-
* 1 bug fix:
|
45
|
-
* In using the easy client driver creation
|
46
|
-
|
47
|
-
== 1.0.1 2008-10-27
|
48
|
-
|
49
|
-
* 1 major enhancement:
|
50
|
-
* Easy creation of client driver. Connects to a url and retrieves the WSDL
|
51
|
-
and uses it to generate driver
|
52
|
-
|
53
|
-
|
54
|
-
== 1.0.0 2008-10-10
|
55
|
-
|
56
|
-
* 1 major enhancement:
|
57
|
-
* Initial release
|
data/Manifest.txt
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
History.txt
|
2
|
-
Manifest.txt
|
3
|
-
PostInstall.txt
|
4
|
-
README.rdoc
|
5
|
-
Rakefile
|
6
|
-
config/hoe.rb
|
7
|
-
config/requirements.rb
|
8
|
-
lib/simplews.rb
|
9
|
-
lib/simplews/jobs.rb
|
10
|
-
script/console
|
11
|
-
script/destroy
|
12
|
-
script/generate
|
13
|
-
script/txt2html
|
14
|
-
setup.rb
|
15
|
-
simplews.gemspec
|
16
|
-
tasks/deployment.rake
|
17
|
-
tasks/environment.rake
|
18
|
-
tasks/website.rake
|
19
|
-
test/simplews/test_jobs.rb
|
20
|
-
test/test_helper.rb
|
21
|
-
test/test_simplews.rb
|
22
|
-
website/index.html
|
23
|
-
website/index.txt
|
24
|
-
website/javascripts/rounded_corners_lite.inc.js
|
25
|
-
website/stylesheets/screen.css
|
26
|
-
website/template.html.erb
|
data/PostInstall.txt
DELETED
data/Rakefile
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
%w[rubygems rake rake/clean fileutils newgem rubigen].each { |f| require f }
|
2
|
-
require File.dirname(__FILE__) + '/lib/simplews'
|
3
|
-
|
4
|
-
# Generate all the Rake tasks
|
5
|
-
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
6
|
-
$hoe = Hoe.new('simplews', SimpleWS::VERSION) do |p|
|
7
|
-
p.developer('Miguel Vazquez', 'mikisvaz@yahoo.com')
|
8
|
-
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
9
|
-
p.post_install_message = 'PostInstall.txt' # TODO remove if post-install message not required
|
10
|
-
p.rubyforge_name = p.name # TODO this is default value
|
11
|
-
# p.extra_deps = [
|
12
|
-
# ['activesupport','>= 2.0.2'],
|
13
|
-
# ]
|
14
|
-
p.extra_dev_deps = [
|
15
|
-
['newgem', ">= #{::Newgem::VERSION}"]
|
16
|
-
]
|
17
|
-
|
18
|
-
p.clean_globs |= %w[**/.DS_Store tmp *.log]
|
19
|
-
path = (p.rubyforge_name == p.name) ? p.rubyforge_name : "\#{p.rubyforge_name}/\#{p.name}"
|
20
|
-
p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
|
21
|
-
p.rsync_args = '-av --delete --ignore-errors'
|
22
|
-
end
|
23
|
-
|
24
|
-
require 'newgem/tasks' # load /tasks/*.rake
|
25
|
-
Dir['tasks/**/*.rake'].each { |t| load t }
|
26
|
-
|
27
|
-
# TODO - want other tests/tasks run by default? Add them to the list
|
28
|
-
# task :default => [:spec, :features]
|
data/config/hoe.rb
DELETED
@@ -1,73 +0,0 @@
|
|
1
|
-
require 'simplews/version'
|
2
|
-
|
3
|
-
AUTHOR = 'Miguel Vazquez' # can also be an array of Authors
|
4
|
-
EMAIL = "miguel.vazquez@fdi.ucm.es"
|
5
|
-
DESCRIPTION = "Simplifies the development of Web Services, producing WSDL automatically for example. Wraps soap4r."
|
6
|
-
GEM_NAME = 'simplews' # what ppl will type to install your gem
|
7
|
-
RUBYFORGE_PROJECT = 'simplews' # The unix name for your project
|
8
|
-
HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
|
9
|
-
DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
|
10
|
-
EXTRA_DEPENDENCIES = [
|
11
|
-
# ['activesupport', '>= 1.3.1']
|
12
|
-
] # An array of rubygem dependencies [name, version]
|
13
|
-
|
14
|
-
@config_file = "~/.rubyforge/user-config.yml"
|
15
|
-
@config = nil
|
16
|
-
RUBYFORGE_USERNAME = "unknown"
|
17
|
-
def rubyforge_username
|
18
|
-
unless @config
|
19
|
-
begin
|
20
|
-
@config = YAML.load(File.read(File.expand_path(@config_file)))
|
21
|
-
rescue
|
22
|
-
puts <<-EOS
|
23
|
-
ERROR: No rubyforge config file found: #{@config_file}
|
24
|
-
Run 'rubyforge setup' to prepare your env for access to Rubyforge
|
25
|
-
- See http://newgem.rubyforge.org/rubyforge.html for more details
|
26
|
-
EOS
|
27
|
-
exit
|
28
|
-
end
|
29
|
-
end
|
30
|
-
RUBYFORGE_USERNAME.replace @config["username"]
|
31
|
-
end
|
32
|
-
|
33
|
-
|
34
|
-
REV = nil
|
35
|
-
# UNCOMMENT IF REQUIRED:
|
36
|
-
# REV = YAML.load(`svn info`)['Revision']
|
37
|
-
VERS = Simplews::VERSION::STRING + (REV ? ".#{REV}" : "")
|
38
|
-
RDOC_OPTS = ['--quiet', '--title', 'simplews documentation',
|
39
|
-
"--opname", "index.html",
|
40
|
-
"--line-numbers",
|
41
|
-
"--main", "README",
|
42
|
-
"--inline-source"]
|
43
|
-
|
44
|
-
class Hoe
|
45
|
-
def extra_deps
|
46
|
-
@extra_deps.reject! { |x| Array(x).first == 'hoe' }
|
47
|
-
@extra_deps
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
# Generate all the Rake tasks
|
52
|
-
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
53
|
-
$hoe = Hoe.new(GEM_NAME, VERS) do |p|
|
54
|
-
p.developer(AUTHOR, EMAIL)
|
55
|
-
p.description = DESCRIPTION
|
56
|
-
p.summary = DESCRIPTION
|
57
|
-
p.url = HOMEPATH
|
58
|
-
p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
|
59
|
-
p.test_globs = ["test/**/test_*.rb"]
|
60
|
-
p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] #An array of file patterns to delete on clean.
|
61
|
-
|
62
|
-
# == Optional
|
63
|
-
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
64
|
-
#p.extra_deps = EXTRA_DEPENDENCIES
|
65
|
-
|
66
|
-
#p.spec_extras = {} # A hash of extra values to set in the gemspec.
|
67
|
-
end
|
68
|
-
|
69
|
-
CHANGES = $hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
|
70
|
-
PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
|
71
|
-
$hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
|
72
|
-
$hoe.rsync_args = '-av --delete --ignore-errors'
|
73
|
-
$hoe.spec.post_install_message = File.open(File.dirname(__FILE__) + "/../PostInstall.txt").read rescue ""
|
data/config/requirements.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'fileutils'
|
2
|
-
include FileUtils
|
3
|
-
|
4
|
-
require 'rubygems'
|
5
|
-
%w[rake hoe newgem rubigen].each do |req_gem|
|
6
|
-
begin
|
7
|
-
require req_gem
|
8
|
-
rescue LoadError
|
9
|
-
puts "This Rakefile requires the '#{req_gem}' RubyGem."
|
10
|
-
puts "Installation: gem install #{req_gem} -y"
|
11
|
-
exit
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
$:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
|
data/script/console
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/simplews.rb'}"
|
9
|
-
puts "Loading simplews gem"
|
10
|
-
exec "#{irb} #{libs} --simple-prompt"
|
data/script/destroy
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'rubigen'
|
6
|
-
rescue LoadError
|
7
|
-
require 'rubygems'
|
8
|
-
require 'rubigen'
|
9
|
-
end
|
10
|
-
require 'rubigen/scripts/destroy'
|
11
|
-
|
12
|
-
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
-
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
-
RubiGen::Scripts::Destroy.new.run(ARGV)
|
data/script/generate
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'rubigen'
|
6
|
-
rescue LoadError
|
7
|
-
require 'rubygems'
|
8
|
-
require 'rubigen'
|
9
|
-
end
|
10
|
-
require 'rubigen/scripts/generate'
|
11
|
-
|
12
|
-
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
-
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
-
RubiGen::Scripts::Generate.new.run(ARGV)
|