ruport 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +7 -0
- data/README +69 -0
- data/Rakefile +51 -0
- data/TODO +106 -0
- data/bin/ruport +86 -0
- data/bin/ruport.rb +4 -0
- data/lib/mailer.rb +44 -0
- data/lib/query.rb +140 -0
- data/lib/sql.rb +93 -0
- data/setup.rb +1360 -0
- data/tests/tc_ruport.rb +69 -0
- metadata +65 -0
data/tests/tc_ruport.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
#tc_ruport.rb
|
2
|
+
#
|
3
|
+
# Created by Gregory Thomas Brown on 2005-08-09
|
4
|
+
# Copyright 2005 (Gregory Brown) All rights reserved.
|
5
|
+
|
6
|
+
require "test/unit"
|
7
|
+
require "lib/query"
|
8
|
+
class TestRuport < Test::Unit::TestCase
|
9
|
+
|
10
|
+
def setup
|
11
|
+
config = YAML.load(File.open("config/ruport.yaml"))
|
12
|
+
@query = Query.new("#{config[:driver]}:#{config[:database]}",
|
13
|
+
config[:db_user], config[:db_password])
|
14
|
+
@query.query_table = config[:query_table]
|
15
|
+
@month_days = [6,7,8,9]
|
16
|
+
@low_tide1 = ['05:11:00 am', '05:50:00 am',
|
17
|
+
'06:29:00 am', '07:08:00 am']
|
18
|
+
@low_tide2 = ['05:22:00 pm', '06:06:00 pm',
|
19
|
+
'06:50:00 pm', '07:37:00 pm']
|
20
|
+
@high_tide1 = ['11:01:00 am', '11:38:00 am',
|
21
|
+
'12:15:00 pm', '12:22:00 am']
|
22
|
+
@high_tide2 = ['11:06:00 pm', '11:43:00 pm',
|
23
|
+
'', '12:51:00 pm']
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_sql
|
27
|
+
@query.select("* FROM ruport_test WHERE day_of_month > 5 and
|
28
|
+
day_of_month < 10 ") do |row|
|
29
|
+
assert_equal(@low_tide1.shift, row["low_tide1"].to_s)
|
30
|
+
assert_equal(@low_tide2.shift, row["low_tide2"].to_s)
|
31
|
+
assert_equal(@high_tide1.shift, row["high_tide1"].to_s)
|
32
|
+
assert_equal(@high_tide2.shift, row["high_tide2"].to_s)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_sql_stored
|
37
|
+
@query.select( "sql_stored_test", :db) do |row|
|
38
|
+
assert_equal(@low_tide1.shift, row["low_tide1"].to_s)
|
39
|
+
assert_equal(@low_tide2.shift, row["low_tide2"].to_s)
|
40
|
+
assert_equal(@high_tide1.shift, row["high_tide1"].to_s)
|
41
|
+
assert_equal(@high_tide2.shift, row["high_tide2"].to_s)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_sql_file
|
46
|
+
@query.select("../tests/test.sql", :file) do |row|
|
47
|
+
assert_equal(@low_tide1.shift, row["low_tide1"].to_s)
|
48
|
+
assert_equal(@low_tide2.shift, row["low_tide2"].to_s)
|
49
|
+
assert_equal(@high_tide1.shift, row["high_tide1"].to_s)
|
50
|
+
assert_equal(@high_tide2.shift, row["high_tide2"].to_s)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_sql_generation
|
55
|
+
sql = @query.fetch do
|
56
|
+
from :ruport_test
|
57
|
+
end
|
58
|
+
assert_equal("SELECT * FROM ruport_test;", sql)
|
59
|
+
sql = @query.fetch do
|
60
|
+
from :ruport_test
|
61
|
+
condition :last_name, :"=", "Brown"
|
62
|
+
order :first_name
|
63
|
+
end
|
64
|
+
assert_equal("SELECT * FROM ruport_test WHERE last_name = 'Brown' " +
|
65
|
+
"ORDER BY first_name;",sql)
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
metadata
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
rubygems_version: 0.8.10
|
3
|
+
specification_version: 1
|
4
|
+
name: ruport
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: 0.1.0
|
7
|
+
date: 2005-08-28
|
8
|
+
summary: A generalized Ruby report generation and templating engine.
|
9
|
+
require_paths:
|
10
|
+
- lib
|
11
|
+
email: "\tgregory.t.brown@gmail.com"
|
12
|
+
homepage: http://ruport.rubyforge.org
|
13
|
+
rubyforge_project: ruport
|
14
|
+
description: Ruport is a powerful report generation engine that allows users to generate custom ERb templates and easily query various forms of SQL databases via DBI. It provides helper methods and utilities to generate professional reports quickly and cleanly.
|
15
|
+
autorequire:
|
16
|
+
default_executable:
|
17
|
+
bindir: bin
|
18
|
+
has_rdoc: true
|
19
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
+
requirements:
|
21
|
+
-
|
22
|
+
- ">"
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 0.0.0
|
25
|
+
version:
|
26
|
+
platform: ruby
|
27
|
+
authors:
|
28
|
+
- Gregory Brown
|
29
|
+
files:
|
30
|
+
- bin/ruport.rb
|
31
|
+
- lib/mailer.rb
|
32
|
+
- lib/query.rb
|
33
|
+
- lib/sql.rb
|
34
|
+
- tests/tc_ruport.rb
|
35
|
+
- Rakefile
|
36
|
+
- setup.rb
|
37
|
+
- README
|
38
|
+
- LICENSE
|
39
|
+
- TODO
|
40
|
+
test_files: []
|
41
|
+
rdoc_options:
|
42
|
+
- "--title"
|
43
|
+
- Ruport Documentation
|
44
|
+
- "--main"
|
45
|
+
- README
|
46
|
+
extra_rdoc_files:
|
47
|
+
- README
|
48
|
+
- LICENSE
|
49
|
+
- TODO
|
50
|
+
executables:
|
51
|
+
- ruport
|
52
|
+
- ruport.rb
|
53
|
+
extensions: []
|
54
|
+
requirements: []
|
55
|
+
dependencies:
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: parseinput
|
58
|
+
version_requirement:
|
59
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
60
|
+
requirements:
|
61
|
+
-
|
62
|
+
- ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 0.0.1
|
65
|
+
version:
|