rutema_web 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
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'