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 ADDED
@@ -0,0 +1,9 @@
1
+ source :rubygems
2
+
3
+ gem "sinatra", "~>1.3.1"
4
+ gem "rutema", "~>1.2.4"
5
+ gem "sqlite3","~>1.3.4"
6
+ gem "hoe",'~>2.12.2'
7
+ gem "ruport", "~>1.6.3"
8
+ gem "acts_as_reportable","~>1.1.1", :require=>"ruport/acts_as_reportable"
9
+ gem "rdoc","~>3.11"
@@ -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
@@ -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',"=1.2.0"]
18
- p.extra_deps<<['sinatra','=1.2.1']
19
- p.extra_deps<<['ruport','>=1.6.1']
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
@@ -1,7 +1,26 @@
1
- # Copyright (c) 2007 Vassilis Rizopoulos. All rights reserved.
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
- RutemaWeb.start
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
Binary file
@@ -0,0 +1,9 @@
1
+ ---
2
+ :db:
3
+ :adapter: sqlite3
4
+ :database: example.db
5
+ :settings:
6
+ :page_size: 10
7
+ :last_n_runs: 20
8
+ :port: 7000
9
+ :show_setup_teardown: true
@@ -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
@@ -9,41 +9,44 @@ module RutemaWeb
9
9
  module Version
10
10
  MAJOR=1
11
11
  MINOR=0
12
- TINY=5
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=parse_command_line(ARGV)
19
- cfg_file=File.expand_path(cfg_file)
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!
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("No database configuration information found in #{cfg_file}")
30
+ logger.fatal("Could not find rutema_web.yaml")
27
31
  end
28
32
  end
29
- #Parses the command line arguments
30
- def self.parse_command_line args
31
- args.options do |opt|
32
- opt.on("Usage:")
33
- opt.on("rutema_web [options] config_file")
34
- opt.on("Options:")
35
- opt.on("--debug", "-d","Turns on debug messages") { $DEBUG=true }
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
- hash: 29
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
- date: 2011-04-01 00:00:00 +03:00
19
- default_executable: rutema_web
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
- prerelease: false
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
- hash: 31
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- hash: 29
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
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
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
- requirement: &id003 !ruby/object:Gem::Requirement
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
- hash: 13
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
- version_requirements: *id003
69
- - !ruby/object:Gem::Dependency
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
- requirement: &id004 !ruby/object:Gem::Requirement
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
- hash: 47
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
- version_requirements: *id004
85
- description: |-
86
- == DESCRIPTION:
87
- rutema_web is the web frontend for rutema.
88
-
89
- It can be used as a viewer for database files created with the rutema ActiveRecord reporter.
90
- It also provides you with some basic statistics about the tests in your database in the form of
91
- diagrams of debatable aesthetics but undoubtable value!
92
-
93
- == SYNOPSIS:
94
- rutema_web config.yaml and browse to http://localhost:7000 for the glorious view
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
- hash: 3
170
- segments:
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ segments:
171
152
  - 0
172
- version: "0"
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
- hash: 3
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.5.0
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
@@ -1,3 +0,0 @@
1
- gem 'sinatra','=1.2.1'
2
- gem 'rutema',"=1.2.0"
3
- gem 'json','=1.5.1'