ruport 0.1.0
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 +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:
|