rutema_web 1.0.5 → 1.0.6
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/Gemfile +9 -0
- data/History.txt +3 -0
- data/Manifest.txt +3 -1
- data/Rakefile +4 -3
- data/bin/rutema_web +23 -4
- data/examples/example.db +0 -0
- data/examples/rutema_web.yaml +9 -0
- data/lib/rutema_web/activerecord/model.rb +9 -0
- data/lib/rutema_web/main.rb +29 -26
- metadata +90 -113
- data/lib/rutema_web/gems.rb +0 -3
data/Gemfile
ADDED
data/History.txt
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
===1.0.6 / 2011-11-30
|
2
|
+
* Incorporated bundler in the app. This requires a two step installation process: rutema_web -s target_dir;cd target_dir;rutema_web
|
3
|
+
* Updated to use the latest rutema and sinatra releases
|
1
4
|
===1.0.5 / 2011-04-01
|
2
5
|
* Updated to use the latest rutema (1.2.0) and sinatra releases
|
3
6
|
=== 1.0.4 / 2010-04-23
|
data/Manifest.txt
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
bin/rutema_web
|
2
2
|
COPYING.txt
|
3
|
+
examples/rutema_web.yaml
|
4
|
+
examples/example.db
|
5
|
+
Gemfile
|
3
6
|
History.txt
|
4
7
|
lib/rutema_web/activerecord/model.rb
|
5
8
|
lib/rutema_web/activerecord/ruport_formatter.rb
|
6
|
-
lib/rutema_web/gems.rb
|
7
9
|
lib/rutema_web/main.rb
|
8
10
|
lib/rutema_web/public/css/style.css
|
9
11
|
lib/rutema_web/public/images/bg_menu.gif
|
data/Rakefile
CHANGED
@@ -14,8 +14,9 @@ Hoe.spec('rutema_web') do |p|
|
|
14
14
|
p.description = p.paragraphs_of('README.txt', 1..5).join("\n\n")
|
15
15
|
p.url = "http://patir.rubyforge.org/rutema"
|
16
16
|
p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
|
17
|
-
p.extra_deps<<['rutema',"
|
18
|
-
p.extra_deps<<['sinatra','
|
19
|
-
p.extra_deps<<[
|
17
|
+
p.extra_deps<<['rutema',"~>1.2.4"]
|
18
|
+
p.extra_deps<<['sinatra','~>1.3.1']
|
19
|
+
p.extra_deps<<["ruport", "~>1.6.3"]
|
20
|
+
p.extra_deps<<["acts_as_reportable","~>1.1.1"]
|
20
21
|
p.spec_extras={:executables=>["rutema_web"],:default_executable=>"rutema_web"}
|
21
22
|
end
|
data/bin/rutema_web
CHANGED
@@ -1,7 +1,26 @@
|
|
1
|
-
|
2
|
-
#this locks on the versions we need
|
1
|
+
#!/usr/bin/env ruby
|
3
2
|
require 'rubygems'
|
4
|
-
require 'rutema_web/gems'
|
5
3
|
require 'rutema_web/main'
|
6
4
|
|
7
|
-
|
5
|
+
if ARGV.empty?
|
6
|
+
require 'bundler/setup'
|
7
|
+
cfg_file=File.join(Dir.pwd,"rutema_web.yaml")
|
8
|
+
RutemaWeb.start(cfg_file)
|
9
|
+
else
|
10
|
+
if ARGV[0]=="-s"
|
11
|
+
if ARGV[1]
|
12
|
+
target_dir=File.expand_path(ARGV[1])
|
13
|
+
puts "Creating scaffolding on #{target_dir}"
|
14
|
+
RutemaWeb.scaffolding(target_dir)
|
15
|
+
else
|
16
|
+
puts "You need to provide a target directory"
|
17
|
+
end
|
18
|
+
else
|
19
|
+
puts "Front end for rutema test result databases"
|
20
|
+
puts "To run create a scaffolding with"
|
21
|
+
puts " rutema_web -s target_dir"
|
22
|
+
puts "edit the target_dir/rutema_web.yaml and run"
|
23
|
+
puts " rutema_web"
|
24
|
+
puts "in target_dir"
|
25
|
+
end
|
26
|
+
end
|
data/examples/example.db
ADDED
Binary file
|
@@ -1,10 +1,12 @@
|
|
1
1
|
# Copyright (c) 2008 Vassilis Rizopoulos. All rights reserved.
|
2
2
|
$:.unshift File.join(File.dirname(__FILE__),"..")
|
3
3
|
require 'rutema/models/activerecord'
|
4
|
+
require 'ruport/acts_as_reportable'
|
4
5
|
module Rutema
|
5
6
|
module ActiveRecord
|
6
7
|
#Extensions of Rutema::ActiveRecord::Run to accomodate specific view requirements for rutema_web
|
7
8
|
class Run <::ActiveRecord::Base
|
9
|
+
acts_as_reportable
|
8
10
|
# The view wants to display runs grouped into pages,
|
9
11
|
# where each page shows page_size runs at a time.
|
10
12
|
# This method returns the runs on page page_num (starting
|
@@ -55,6 +57,7 @@ module Rutema
|
|
55
57
|
end
|
56
58
|
#Extensions of Rutema::ActiveRecord::Scenario to accomodate specific view requirements for rutema_web
|
57
59
|
class Scenario <::ActiveRecord::Base
|
60
|
+
acts_as_reportable
|
58
61
|
# The view wants to display scenarios grouped into pages,
|
59
62
|
# where each page shows page_size scenarios at a time.
|
60
63
|
# This method returns the scenarios grouped by name on page page_num (starting
|
@@ -81,5 +84,11 @@ module Rutema
|
|
81
84
|
return self.status=="error"
|
82
85
|
end
|
83
86
|
end
|
87
|
+
class Step< ::ActiveRecord::Base
|
88
|
+
acts_as_reportable
|
89
|
+
end
|
90
|
+
class ParseError< ::ActiveRecord::Base
|
91
|
+
acts_as_reportable
|
92
|
+
end
|
84
93
|
end
|
85
94
|
end
|
data/lib/rutema_web/main.rb
CHANGED
@@ -9,41 +9,44 @@ module RutemaWeb
|
|
9
9
|
module Version
|
10
10
|
MAJOR=1
|
11
11
|
MINOR=0
|
12
|
-
TINY=
|
12
|
+
TINY=6
|
13
13
|
STRING=[ MAJOR, MINOR, TINY ].join( "." )
|
14
14
|
end
|
15
15
|
#Starts App
|
16
|
-
def self.start
|
16
|
+
def self.start(cfg_file)
|
17
17
|
logger=Patir.setup_logger
|
18
|
-
cfg_file
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
18
|
+
if File.exists?(cfg_file)
|
19
|
+
Dir.chdir(File.dirname(cfg_file)) do
|
20
|
+
configuration=YAML.load_file(cfg_file)
|
21
|
+
if (configuration[:db])
|
22
|
+
Rutema::ActiveRecord.connect(configuration[:db],logger)
|
23
|
+
RutemaWeb::UI::SinatraApp.define_settings(configuration[:settings])
|
24
|
+
RutemaWeb::UI::SinatraApp.run!
|
25
|
+
else
|
26
|
+
logger.fatal("No database configuration information found in #{cfg_file}")
|
27
|
+
end
|
28
|
+
end
|
25
29
|
else
|
26
|
-
logger.fatal("
|
30
|
+
logger.fatal("Could not find rutema_web.yaml")
|
27
31
|
end
|
28
32
|
end
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
opt.on("-v", "--version","Displays the version") { $stdout.puts("v#{Version::STRING}");exit 0 }
|
37
|
-
opt.on("--help", "-h", "-?", "This text") { $stdout.puts opt; exit 0 }
|
38
|
-
opt.parse!
|
39
|
-
#and now the rest
|
40
|
-
if args.empty?
|
41
|
-
$stdout.puts opt
|
42
|
-
exit 0
|
43
|
-
else
|
44
|
-
return args.shift
|
33
|
+
|
34
|
+
#Creates the scaffolding for a new rutema_web instance
|
35
|
+
def self.scaffolding target_dir
|
36
|
+
if File.exists?(target_dir)
|
37
|
+
unless File.directory?(target_dir)
|
38
|
+
puts "FATAL: '#{target_dir}' exists but is not a directory"
|
39
|
+
exit 1
|
45
40
|
end
|
41
|
+
else
|
42
|
+
FileUtils.mkdir_p(target_dir)
|
46
43
|
end
|
44
|
+
gemfile=File.join(File.dirname(__FILE__),'../../Gemfile')
|
45
|
+
config=File.join(File.dirname(__FILE__),'../../examples/rutema_web.yaml')
|
46
|
+
FileUtils.cp(config,target_dir,:verbose=>false)
|
47
|
+
FileUtils.cp(gemfile,target_dir,:verbose=>false)
|
48
|
+
puts "Done!"
|
49
|
+
puts "You should now do\n\tbundle install\n\trutema_web\nto start "
|
47
50
|
end
|
48
51
|
end
|
49
52
|
|
metadata
CHANGED
@@ -1,127 +1,110 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rutema_web
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.6
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 5
|
10
|
-
version: 1.0.5
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Vassilis Rizopoulos
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-11-30 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: rutema
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &2164126800 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 2
|
33
|
-
- 0
|
34
|
-
version: 1.2.0
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 1.2.4
|
35
22
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: sinatra
|
39
23
|
prerelease: false
|
40
|
-
|
24
|
+
version_requirements: *2164126800
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: sinatra
|
27
|
+
requirement: &2164125380 !ruby/object:Gem::Requirement
|
41
28
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 2
|
49
|
-
- 1
|
50
|
-
version: 1.2.1
|
29
|
+
requirements:
|
30
|
+
- - ~>
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.3.1
|
51
33
|
type: :runtime
|
52
|
-
|
53
|
-
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *2164125380
|
36
|
+
- !ruby/object:Gem::Dependency
|
54
37
|
name: ruport
|
38
|
+
requirement: &2164124020 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 1.6.3
|
44
|
+
type: :runtime
|
55
45
|
prerelease: false
|
56
|
-
|
46
|
+
version_requirements: *2164124020
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: acts_as_reportable
|
49
|
+
requirement: &2164121900 !ruby/object:Gem::Requirement
|
57
50
|
none: false
|
58
|
-
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
|
62
|
-
segments:
|
63
|
-
- 1
|
64
|
-
- 6
|
65
|
-
- 1
|
66
|
-
version: 1.6.1
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.1.1
|
67
55
|
type: :runtime
|
68
|
-
|
69
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *2164121900
|
58
|
+
- !ruby/object:Gem::Dependency
|
70
59
|
name: hoe
|
60
|
+
requirement: &2164120440 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ~>
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '2.12'
|
66
|
+
type: :development
|
71
67
|
prerelease: false
|
72
|
-
|
68
|
+
version_requirements: *2164120440
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rdoc
|
71
|
+
requirement: &2163801960 !ruby/object:Gem::Requirement
|
73
72
|
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
|
78
|
-
segments:
|
79
|
-
- 2
|
80
|
-
- 9
|
81
|
-
- 2
|
82
|
-
version: 2.9.2
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '3.10'
|
83
77
|
type: :development
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
Here is a sample of the configuration YAML:
|
97
|
-
---
|
98
|
-
:db:
|
99
|
-
:adapter: sqlite3
|
100
|
-
:database: rutema_test.db
|
101
|
-
:settings:
|
102
|
-
:page_size: 10
|
103
|
-
:last_n_runs: 20
|
104
|
-
:port: 7000
|
105
|
-
:show_setup_teardown: true
|
106
|
-
|
107
|
-
The :db: section should be the activerecord adapter configuration. The :settings: section controls the behaviour of the web app.
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *2163801960
|
80
|
+
description: ! "== DESCRIPTION:\nrutema_web is the web frontend for rutema. \n\nIt
|
81
|
+
can be used as a viewer for database files created with the rutema ActiveRecord
|
82
|
+
reporter.\nIt also provides you with some basic statistics about the tests in your
|
83
|
+
database in the form of \ndiagrams of debatable aesthetics but undoubtable value!\n\n==
|
84
|
+
SYNOPSIS:\nrutema_web config.yaml and browse to http://localhost:7000 for the glorious
|
85
|
+
view\n\nHere is a sample of the configuration YAML:\n--- \n:db: \n :adapter: sqlite3\n
|
86
|
+
\ :database: rutema_test.db\n:settings: \n :page_size: 10\n :last_n_runs: 20\n
|
87
|
+
\ :port: 7000\n :show_setup_teardown: true\n\nThe :db: section should be the activerecord
|
88
|
+
adapter configuration. The :settings: section controls the behaviour of the web
|
89
|
+
app."
|
108
90
|
email: riva@braveworld.net
|
109
|
-
executables:
|
91
|
+
executables:
|
110
92
|
- rutema_web
|
111
93
|
extensions: []
|
112
|
-
|
113
|
-
extra_rdoc_files:
|
94
|
+
extra_rdoc_files:
|
114
95
|
- COPYING.txt
|
115
96
|
- History.txt
|
116
97
|
- Manifest.txt
|
117
98
|
- README.txt
|
118
|
-
files:
|
99
|
+
files:
|
119
100
|
- bin/rutema_web
|
120
101
|
- COPYING.txt
|
102
|
+
- examples/rutema_web.yaml
|
103
|
+
- examples/example.db
|
104
|
+
- Gemfile
|
121
105
|
- History.txt
|
122
106
|
- lib/rutema_web/activerecord/model.rb
|
123
107
|
- lib/rutema_web/activerecord/ruport_formatter.rb
|
124
|
-
- lib/rutema_web/gems.rb
|
125
108
|
- lib/rutema_web/main.rb
|
126
109
|
- lib/rutema_web/public/css/style.css
|
127
110
|
- lib/rutema_web/public/images/bg_menu.gif
|
@@ -151,40 +134,34 @@ files:
|
|
151
134
|
- test/config.yaml
|
152
135
|
- test/test_model.rb
|
153
136
|
- .gemtest
|
154
|
-
has_rdoc: true
|
155
137
|
homepage: http://patir.rubyforge.org/rutema
|
156
138
|
licenses: []
|
157
|
-
|
158
139
|
post_install_message:
|
159
|
-
rdoc_options:
|
140
|
+
rdoc_options:
|
160
141
|
- --main
|
161
142
|
- README.txt
|
162
|
-
require_paths:
|
143
|
+
require_paths:
|
163
144
|
- lib
|
164
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
145
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
165
146
|
none: false
|
166
|
-
requirements:
|
167
|
-
- -
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
|
170
|
-
segments:
|
147
|
+
requirements:
|
148
|
+
- - ! '>='
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
segments:
|
171
152
|
- 0
|
172
|
-
|
173
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
|
+
hash: -2371326263097900141
|
154
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
174
155
|
none: false
|
175
|
-
requirements:
|
176
|
-
- -
|
177
|
-
- !ruby/object:Gem::Version
|
178
|
-
|
179
|
-
segments:
|
180
|
-
- 0
|
181
|
-
version: "0"
|
156
|
+
requirements:
|
157
|
+
- - ! '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
182
160
|
requirements: []
|
183
|
-
|
184
161
|
rubyforge_project: patir
|
185
|
-
rubygems_version: 1.
|
162
|
+
rubygems_version: 1.8.8
|
186
163
|
signing_key:
|
187
164
|
specification_version: 3
|
188
165
|
summary: rutema_web is the web frontend for rutema
|
189
|
-
test_files:
|
166
|
+
test_files:
|
190
167
|
- test/test_model.rb
|
data/lib/rutema_web/gems.rb
DELETED