simple_view 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/simple_view/version.rb +1 -1
- metadata +2 -50
- data/lib/CVS/Entries +0 -3
- data/lib/CVS/Repository +0 -1
- data/lib/CVS/Root +0 -1
- data/lib/core-ext/CVS/Entries +0 -5
- data/lib/core-ext/CVS/Repository +0 -1
- data/lib/core-ext/CVS/Root +0 -1
- data/lib/simple_view/CVS/Entries +0 -11
- data/lib/simple_view/CVS/Repository +0 -1
- data/lib/simple_view/CVS/RevisionCache/builder_view.rb#1.1.1.1 +0 -42
- data/lib/simple_view/CVS/RevisionCache/erb_view.rb#1.1.1.1 +0 -44
- data/lib/simple_view/CVS/RevisionCache/file_content.rb#1.1.1.1 +0 -50
- data/lib/simple_view/CVS/RevisionCache/io_view.rb#1.1.1.1 +0 -37
- data/lib/simple_view/CVS/RevisionCache/poi_view.rb#1.1.1.1 +0 -116
- data/lib/simple_view/CVS/RevisionCache/renderable.rb#1.1.1.1 +0 -114
- data/lib/simple_view/CVS/RevisionCache/simple_view.rb#1.1.1.1 +0 -214
- data/lib/simple_view/CVS/Root +0 -1
- data/lib/simple_view/java/CVS/Entries +0 -1
- data/lib/simple_view/java/CVS/Repository +0 -1
- data/lib/simple_view/java/CVS/Root +0 -1
- data/lib/simple_view/java/poi/CVS/Entries +0 -6
- data/lib/simple_view/java/poi/CVS/Repository +0 -1
- data/lib/simple_view/java/poi/CVS/Root +0 -1
- data/test/CVS/Entries +0 -6
- data/test/CVS/Repository +0 -1
- data/test/CVS/RevisionCache/test_view.rb#1.1.1.1 +0 -25
- data/test/CVS/RevisionCache/test_view_reuse_erb.rb#1.1.1.1 +0 -21
- data/test/CVS/Root +0 -1
- data/test/helpers/CVS/Entries +0 -3
- data/test/helpers/CVS/Repository +0 -1
- data/test/helpers/CVS/RevisionCache/test_helper.rb#1.1.1.1 +0 -7
- data/test/helpers/CVS/Root +0 -1
- data/test/views/CVS/Entries +0 -17
- data/test/views/CVS/Repository +0 -1
- data/test/views/CVS/RevisionCache/test.erb#1.1.1.1 +0 -2
- data/test/views/CVS/Root +0 -1
data/lib/simple_view/version.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Yohan Barukh
|
@@ -30,36 +30,14 @@ extra_rdoc_files: []
|
|
30
30
|
files:
|
31
31
|
- Rakefile
|
32
32
|
- lib/core-ext/array.rb
|
33
|
-
- lib/core-ext/CVS/Entries
|
34
|
-
- lib/core-ext/CVS/Repository
|
35
|
-
- lib/core-ext/CVS/Root
|
36
33
|
- lib/core-ext/jopen.rb
|
37
34
|
- lib/core-ext/nilclass.rb
|
38
35
|
- lib/core-ext/string.rb
|
39
|
-
- lib/CVS/Entries
|
40
|
-
- lib/CVS/Repository
|
41
|
-
- lib/CVS/Root
|
42
36
|
- lib/simple_view/builder_view.rb
|
43
|
-
- lib/simple_view/CVS/Entries
|
44
|
-
- lib/simple_view/CVS/Repository
|
45
|
-
- lib/simple_view/CVS/RevisionCache/builder_view.rb#1.1.1.1
|
46
|
-
- lib/simple_view/CVS/RevisionCache/erb_view.rb#1.1.1.1
|
47
|
-
- lib/simple_view/CVS/RevisionCache/file_content.rb#1.1.1.1
|
48
|
-
- lib/simple_view/CVS/RevisionCache/io_view.rb#1.1.1.1
|
49
|
-
- lib/simple_view/CVS/RevisionCache/poi_view.rb#1.1.1.1
|
50
|
-
- lib/simple_view/CVS/RevisionCache/renderable.rb#1.1.1.1
|
51
|
-
- lib/simple_view/CVS/RevisionCache/simple_view.rb#1.1.1.1
|
52
|
-
- lib/simple_view/CVS/Root
|
53
37
|
- lib/simple_view/erb_view.rb
|
54
38
|
- lib/simple_view/file_content.rb
|
55
39
|
- lib/simple_view/haml_view.rb
|
56
40
|
- lib/simple_view/io_view.rb
|
57
|
-
- lib/simple_view/java/CVS/Entries
|
58
|
-
- lib/simple_view/java/CVS/Repository
|
59
|
-
- lib/simple_view/java/CVS/Root
|
60
|
-
- lib/simple_view/java/poi/CVS/Entries
|
61
|
-
- lib/simple_view/java/poi/CVS/Repository
|
62
|
-
- lib/simple_view/java/poi/CVS/Root
|
63
41
|
- lib/simple_view/java/poi/poi-3.6-20091214.jar
|
64
42
|
- lib/simple_view/java/poi/poi-contrib-3.6-20091214.jar
|
65
43
|
- lib/simple_view/java/poi/poi-ooxml-3.6-20091214.jar
|
@@ -71,25 +49,12 @@ files:
|
|
71
49
|
- lib/simple_view/smartxls.rb
|
72
50
|
- lib/simple_view/version.rb
|
73
51
|
- lib/simple_view.rb
|
74
|
-
- test/CVS/Entries
|
75
|
-
- test/CVS/Repository
|
76
|
-
- test/CVS/RevisionCache/test_view.rb#1.1.1.1
|
77
|
-
- test/CVS/RevisionCache/test_view_reuse_erb.rb#1.1.1.1
|
78
|
-
- test/CVS/Root
|
79
|
-
- test/helpers/CVS/Entries
|
80
|
-
- test/helpers/CVS/Repository
|
81
|
-
- test/helpers/CVS/RevisionCache/test_helper.rb#1.1.1.1
|
82
|
-
- test/helpers/CVS/Root
|
83
52
|
- test/helpers/etat_corbeilles_prc_helper.rb
|
84
53
|
- test/helpers/test_helper.rb
|
85
54
|
- test/jtest_view.rb
|
86
55
|
- test/test_view.rb
|
87
56
|
- test/test_view_reuse_erb.rb
|
88
57
|
- test/test_view_sv_debug.rb
|
89
|
-
- test/views/CVS/Entries
|
90
|
-
- test/views/CVS/Repository
|
91
|
-
- test/views/CVS/RevisionCache/test.erb#1.1.1.1
|
92
|
-
- test/views/CVS/Root
|
93
58
|
- test/views/etat_corbeilles_prc-csv.io.rb
|
94
59
|
- test/views/etat_corbeilles_prc-xls.poi.rb
|
95
60
|
- test/views/etat_corbeilles_prc-xls2.smartxl.rb
|
@@ -140,25 +105,12 @@ specification_version: 3
|
|
140
105
|
summary: renderer system
|
141
106
|
test_files:
|
142
107
|
- Rakefile
|
143
|
-
- test/CVS/Entries
|
144
|
-
- test/CVS/Repository
|
145
|
-
- test/CVS/RevisionCache/test_view.rb#1.1.1.1
|
146
|
-
- test/CVS/RevisionCache/test_view_reuse_erb.rb#1.1.1.1
|
147
|
-
- test/CVS/Root
|
148
|
-
- test/helpers/CVS/Entries
|
149
|
-
- test/helpers/CVS/Repository
|
150
|
-
- test/helpers/CVS/RevisionCache/test_helper.rb#1.1.1.1
|
151
|
-
- test/helpers/CVS/Root
|
152
108
|
- test/helpers/etat_corbeilles_prc_helper.rb
|
153
109
|
- test/helpers/test_helper.rb
|
154
110
|
- test/jtest_view.rb
|
155
111
|
- test/test_view.rb
|
156
112
|
- test/test_view_reuse_erb.rb
|
157
113
|
- test/test_view_sv_debug.rb
|
158
|
-
- test/views/CVS/Entries
|
159
|
-
- test/views/CVS/Repository
|
160
|
-
- test/views/CVS/RevisionCache/test.erb#1.1.1.1
|
161
|
-
- test/views/CVS/Root
|
162
114
|
- test/views/etat_corbeilles_prc-csv.io.rb
|
163
115
|
- test/views/etat_corbeilles_prc-xls.poi.rb
|
164
116
|
- test/views/etat_corbeilles_prc-xls2.smartxl.rb
|
data/lib/CVS/Entries
DELETED
data/lib/CVS/Repository
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
simple_view/lib
|
data/lib/CVS/Root
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
:pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
|
data/lib/core-ext/CVS/Entries
DELETED
data/lib/core-ext/CVS/Repository
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
simple_view/lib/core-ext
|
data/lib/core-ext/CVS/Root
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
:pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
|
data/lib/simple_view/CVS/Entries
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
/builder_view.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
|
2
|
-
/erb_view.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
|
3
|
-
/file_content.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
|
4
|
-
/haml_view.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
|
5
|
-
/io_view.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
|
6
|
-
/poi_view.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
|
7
|
-
/renderable.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
|
8
|
-
/simple_view.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
|
9
|
-
/smartxls.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
|
10
|
-
/version.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
|
11
|
-
D/java////
|
@@ -1 +0,0 @@
|
|
1
|
-
simple_view/lib/simple_view
|
@@ -1,42 +0,0 @@
|
|
1
|
-
require 'builder'
|
2
|
-
|
3
|
-
module SimpleView
|
4
|
-
|
5
|
-
class SimpleViewBuilder < SimpleViewBase
|
6
|
-
|
7
|
-
EXTENTION = ".builder.rb".freeze unless defined?(EXTENTION)
|
8
|
-
|
9
|
-
def self.extension
|
10
|
-
EXTENTION
|
11
|
-
end
|
12
|
-
|
13
|
-
SimpleViewBase.register(self)
|
14
|
-
|
15
|
-
def do_rendering(rendable_object, options)
|
16
|
-
options = {:indent => 2}.merge(options)
|
17
|
-
filename = options.delete(:filename) || '<BUILDER>'
|
18
|
-
line = options.delete(:line) || 1
|
19
|
-
xml = ::Builder::XmlMarkup.new(options)
|
20
|
-
rendable_object.put_locals_objects((options.delete(:builder_name) || :xml).to_sym => xml)
|
21
|
-
render_with_helper(rendable_object) do
|
22
|
-
eval self.template_content, rendable_object.get_binding, filename, line
|
23
|
-
end
|
24
|
-
xml.target!
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
|
30
|
-
module Renderable
|
31
|
-
|
32
|
-
module InstanceMethods
|
33
|
-
|
34
|
-
def render_builder(template, options = {})
|
35
|
-
render_with SimpleViewBuilder, template, options
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
|
42
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
require 'erb'
|
2
|
-
|
3
|
-
|
4
|
-
module SimpleView
|
5
|
-
|
6
|
-
class SimpleViewERB < SimpleViewBase
|
7
|
-
EXTENTION = ".erb".freeze unless defined?(EXTENTION)
|
8
|
-
|
9
|
-
def self.extension
|
10
|
-
EXTENTION
|
11
|
-
end
|
12
|
-
|
13
|
-
SimpleViewBase.register(self)
|
14
|
-
|
15
|
-
def erb
|
16
|
-
unless @erb
|
17
|
-
@erb = ERB.new(self.template_content, 0, '<%%>')
|
18
|
-
@erb.filename = self.file_template
|
19
|
-
end
|
20
|
-
@erb
|
21
|
-
end
|
22
|
-
|
23
|
-
def do_rendering(rendable_object, options)
|
24
|
-
render_with_helper(rendable_object) do
|
25
|
-
res = erb.result(rendable_object.get_binding)
|
26
|
-
options[:target] << res if options[:target]
|
27
|
-
res
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
module Renderable
|
33
|
-
|
34
|
-
module InstanceMethods
|
35
|
-
|
36
|
-
def render_erb(template, options = {})
|
37
|
-
render_with SimpleViewERB, template, options
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
module SimpleView
|
2
|
-
class FileContent
|
3
|
-
|
4
|
-
NO_READ = :no_read
|
5
|
-
|
6
|
-
attr_accessor :file, :last_modification
|
7
|
-
|
8
|
-
def initialize(file)
|
9
|
-
self.file = file
|
10
|
-
self.last_modification = File.mtime(self.file)
|
11
|
-
end
|
12
|
-
|
13
|
-
def content
|
14
|
-
if changed? || @content == NO_READ
|
15
|
-
@content = File.read(self.file)
|
16
|
-
self.last_modification = File.mtime(self.file)
|
17
|
-
end
|
18
|
-
@content
|
19
|
-
end
|
20
|
-
|
21
|
-
def changed?
|
22
|
-
@content.nil? || (File.mtime(self.file) > self.last_modification)
|
23
|
-
end
|
24
|
-
|
25
|
-
def file(set_content_no_read = false)
|
26
|
-
if set_content_no_read
|
27
|
-
@content = NO_READ
|
28
|
-
end
|
29
|
-
@file
|
30
|
-
end
|
31
|
-
|
32
|
-
class << self
|
33
|
-
|
34
|
-
def files
|
35
|
-
@files ||= {}
|
36
|
-
end
|
37
|
-
|
38
|
-
def file(file)
|
39
|
-
return nil unless file
|
40
|
-
self.files[file] ||= self.new(file)
|
41
|
-
end
|
42
|
-
|
43
|
-
def changed?(file)
|
44
|
-
self.file(file).changed?
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
48
|
-
|
49
|
-
end
|
50
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
module SimpleView
|
2
|
-
|
3
|
-
class SimpleViewIO < SimpleViewBase
|
4
|
-
EXTENTION = ".io.rb".freeze unless defined?(EXTENTION)
|
5
|
-
|
6
|
-
def self.extension
|
7
|
-
EXTENTION
|
8
|
-
end
|
9
|
-
|
10
|
-
SimpleViewBase.register(self)
|
11
|
-
|
12
|
-
def do_rendering(rendable_object, options)
|
13
|
-
options = {:target => $stdout}.merge(options)
|
14
|
-
filename = options.delete(:filename) || '<IO>'
|
15
|
-
line = options.delete(:line) || 1
|
16
|
-
io = options[:target]
|
17
|
-
rendable_object.put_locals_objects((options.delete(:io_name) || :io).to_sym => io)
|
18
|
-
render_with_helper(rendable_object) do
|
19
|
-
eval self.template_content, rendable_object.get_binding, filename, line
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
|
25
|
-
module Renderable
|
26
|
-
|
27
|
-
module InstanceMethods
|
28
|
-
|
29
|
-
def render_io(template, options = {})
|
30
|
-
render_with SimpleViewIO, template, options
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
@@ -1,116 +0,0 @@
|
|
1
|
-
require 'java'
|
2
|
-
Dir["#{File.dirname(__FILE__)}/java/poi/*.jar"].each {|jar| require jar}
|
3
|
-
|
4
|
-
import org.apache.poi.poifs.filesystem.POIFSFileSystem
|
5
|
-
import org.apache.poi.hssf.usermodel.HSSFWorkbook
|
6
|
-
import org.apache.poi.hssf.usermodel.HSSFChart
|
7
|
-
import java.io.FileInputStream
|
8
|
-
import java.io.FileOutputStream
|
9
|
-
|
10
|
-
# D�clarer des s�ries Excel dynamique :
|
11
|
-
# 1. D�finir les variables
|
12
|
-
# Poids=DECALER(data!$K$1;0;0;NBVAL(data!$K:$K)-1;1)
|
13
|
-
# Signatures=DECALER(data!$B$1;0;0;NBVAL(data!$B:$B)-1;1)
|
14
|
-
# NbDossiers=DECALER(data!$J$1;0;0;NBVAL(data!$J:$J)-1;1)
|
15
|
-
|
16
|
-
# NbDossiersD=DECALER(data!$L$1;0;0;NBVAL(data!$L:$L)-1;1)
|
17
|
-
# NbDossiersE=DECALER(data!$M$1;0;0;NBVAL(data!$M:$M)-1;1)
|
18
|
-
# NbDossiersF=DECALER(data!$N$1;0;0;NBVAL(data!$N:$N)-1;1)
|
19
|
-
# NbDossiersH=DECALER(data!$O$1;0;0;NBVAL(data!$O:$O)-1;1)
|
20
|
-
# NbDossiersI=DECALER(data!$P$1;0;0;NBVAL(data!$P:$P)-1;1)
|
21
|
-
# NbDossiersP=DECALER(data!$Q$1;0;0;NBVAL(data!$Q:$Q)-1;1)
|
22
|
-
# NbDossiersR=DECALER(data!$R$1;0;0;NBVAL(data!$R:$R)-1;1)
|
23
|
-
# NbDossiersX=DECALER(data!$S$1;0;0;NBVAL(data!$S:$S)-1;1)
|
24
|
-
|
25
|
-
# 2. Dans les graphes
|
26
|
-
# S�rie: =data!Poids
|
27
|
-
|
28
|
-
module SimpleView
|
29
|
-
|
30
|
-
class SimpleViewPOI < SimpleViewBase
|
31
|
-
|
32
|
-
EXTENTION = ".poi.rb".freeze unless defined?(EXTENTION)
|
33
|
-
|
34
|
-
def self.extension
|
35
|
-
EXTENTION
|
36
|
-
end
|
37
|
-
|
38
|
-
SimpleViewBase.register(self)
|
39
|
-
|
40
|
-
def render(rendable_object, options = {})
|
41
|
-
do_rendering(rendable_object, options)
|
42
|
-
end
|
43
|
-
|
44
|
-
def do_rendering(rendable_object, options)
|
45
|
-
filename = options.delete(:filename) || '<POI.XLS>'
|
46
|
-
line = options.delete(:line) || 1
|
47
|
-
model_file = options.delete(:model)
|
48
|
-
|
49
|
-
xls = model_file ? HSSFWorkbook.new(file(model_file)) : HSSFWorkbook.new
|
50
|
-
|
51
|
-
rendable_object.put_locals_objects((options.delete(:builder_name) || :xls).to_sym => xls)
|
52
|
-
render_with_helper(rendable_object) do
|
53
|
-
rendable_object.extend(Helper)
|
54
|
-
eval self.template_content, rendable_object.get_binding, filename, line
|
55
|
-
end
|
56
|
-
if options.key?(:target)
|
57
|
-
output = file(options[:target], 'w')
|
58
|
-
begin
|
59
|
-
xls.write(output)
|
60
|
-
ensure
|
61
|
-
output.close
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
def file(filename, mode = 'r')
|
67
|
-
if mode == 'r'
|
68
|
-
POIFSFileSystem.new(FileInputStream.new(filename))
|
69
|
-
else
|
70
|
-
FileOutputStream.new(filename)
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
module Helper
|
75
|
-
def set_cell_value(row, col_index, value)
|
76
|
-
cell = row.create_cell(col_index)
|
77
|
-
cell.set_cell_value(value)
|
78
|
-
cell
|
79
|
-
end
|
80
|
-
|
81
|
-
def get_charts(sheet)
|
82
|
-
HSSFChart.get_sheet_charts(sheet)
|
83
|
-
end
|
84
|
-
|
85
|
-
def row_at(sheet, index_line)
|
86
|
-
row = sheet.get_row(index_line)
|
87
|
-
unless row
|
88
|
-
row = sheet.create_row(index_line)
|
89
|
-
end
|
90
|
-
row
|
91
|
-
end
|
92
|
-
|
93
|
-
def cell_at(row, index_col)
|
94
|
-
cell = row.get_cell(index_col)
|
95
|
-
unless cell
|
96
|
-
cell = row.create_cell(index_col)
|
97
|
-
end
|
98
|
-
cell
|
99
|
-
end
|
100
|
-
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
module Renderable
|
105
|
-
|
106
|
-
module InstanceMethods
|
107
|
-
|
108
|
-
def render_poi(template, options = {})
|
109
|
-
render_with SimpleViewPOI, template, options
|
110
|
-
end
|
111
|
-
|
112
|
-
end
|
113
|
-
|
114
|
-
end
|
115
|
-
|
116
|
-
end
|
@@ -1,114 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# class Toto
|
3
|
-
# include Renderable
|
4
|
-
#
|
5
|
-
# attr_accessor :affectations
|
6
|
-
#
|
7
|
-
# end
|
8
|
-
#
|
9
|
-
# toto = Toto.new
|
10
|
-
# toto.affectations = [1,2,3,4]
|
11
|
-
# out = StringIO.new
|
12
|
-
#
|
13
|
-
# toto.render_erb('test', :titi => [:a, :b, :c])
|
14
|
-
#
|
15
|
-
# Le fichier 'views/test.erb'
|
16
|
-
# ---------------------------
|
17
|
-
# affectations = <%= affectations.inspect %>
|
18
|
-
# titi = <%= titi.inspect %>
|
19
|
-
#
|
20
|
-
# toto.render_builder('test', :titi => [:a, :b, :c])
|
21
|
-
#
|
22
|
-
# Le fichier 'views/test.builder.rb'
|
23
|
-
# ----------------------------------
|
24
|
-
# xml.instruct!
|
25
|
-
# affectation.each {|aff| xml.tag!(aff)}
|
26
|
-
# titi.each {|t| xml.tag!(t)}
|
27
|
-
#
|
28
|
-
#
|
29
|
-
module SimpleView
|
30
|
-
module Renderable
|
31
|
-
|
32
|
-
def self.included(mod)
|
33
|
-
if Class === mod
|
34
|
-
mod.send(:include, InstanceMethods)
|
35
|
-
mod.send(:extend, ClassMethods)
|
36
|
-
elsif Module === mod
|
37
|
-
mod.send(:extend, InstanceMethods)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
module ClassMethods
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
module InstanceMethods
|
46
|
-
|
47
|
-
def _locals_objects
|
48
|
-
@_locals_objects ||= {}
|
49
|
-
end
|
50
|
-
|
51
|
-
def put_locals_objects(locals)
|
52
|
-
self._locals_objects.merge!(locals)
|
53
|
-
locals.each_pair do |name, obj|
|
54
|
-
self.instance_eval <<-RUBY
|
55
|
-
def #{name}; self._locals_objects[:#{name}]; end
|
56
|
-
RUBY
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
def get_binding
|
61
|
-
binding
|
62
|
-
end
|
63
|
-
|
64
|
-
def render(template, options = {})
|
65
|
-
self.safe_rendering do |object|
|
66
|
-
object.put_locals_objects(options[:locals] || {})
|
67
|
-
view = SimpleViewBase.find_view(template)
|
68
|
-
view.render(object, options)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def render_with(renderer, template, options = {})
|
73
|
-
self.safe_rendering do |object|
|
74
|
-
object.put_locals_objects(options[:locals] || {})
|
75
|
-
view = renderer.view(template)
|
76
|
-
view.render(object, options)
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
protected
|
81
|
-
def safe_rendering #:nodoc:
|
82
|
-
shot = RenderingObject === self ? BasicObjectRenderable.new : RenderingObject.new(self)
|
83
|
-
yield(shot) if block_given?
|
84
|
-
end
|
85
|
-
|
86
|
-
end
|
87
|
-
|
88
|
-
end
|
89
|
-
|
90
|
-
class BasicObjectRenderable
|
91
|
-
include ::SimpleView::Renderable
|
92
|
-
end
|
93
|
-
|
94
|
-
class RenderingObject < SimpleDelegator #:nodoc:
|
95
|
-
include ::SimpleView::Renderable
|
96
|
-
|
97
|
-
def initialize(n)
|
98
|
-
super
|
99
|
-
# puts "RenderingObject for: #{n.inspect}"
|
100
|
-
end
|
101
|
-
|
102
|
-
def to_s
|
103
|
-
"RenderingObject(#{__getobj__}){:locals => #{_locals_objects.inspect}}"
|
104
|
-
end
|
105
|
-
|
106
|
-
end
|
107
|
-
|
108
|
-
# def self.render(template, options = {})
|
109
|
-
# BasicObjectRenderable.new.render(template, options)
|
110
|
-
# end
|
111
|
-
|
112
|
-
|
113
|
-
include Renderable
|
114
|
-
end
|
@@ -1,214 +0,0 @@
|
|
1
|
-
require 'monitor'
|
2
|
-
require 'delegate'
|
3
|
-
require 'core-ext/string'
|
4
|
-
require 'core-ext/nilclass'
|
5
|
-
|
6
|
-
|
7
|
-
module SimpleView
|
8
|
-
|
9
|
-
autoload :FileContent, File.join(File.dirname(__FILE__), 'file_content')
|
10
|
-
autoload :Renderable, File.join(File.dirname(__FILE__), 'renderable')
|
11
|
-
|
12
|
-
autoload :SimpleViewERB, File.join(File.dirname(__FILE__), 'erb_view')
|
13
|
-
autoload :SimpleViewIO, File.join(File.dirname(__FILE__), 'io_view')
|
14
|
-
autoload :SimpleViewBuilder, File.join(File.dirname(__FILE__), 'builder_view')
|
15
|
-
autoload :SimpleViewPOI, File.join(File.dirname(__FILE__), 'poi_view')
|
16
|
-
|
17
|
-
$SV_DEBUG = ENV['SV_DEBUG']
|
18
|
-
|
19
|
-
class Base
|
20
|
-
|
21
|
-
|
22
|
-
class << self
|
23
|
-
attr_accessor :directory_views, :directory_helpers
|
24
|
-
end
|
25
|
-
|
26
|
-
def directory_views
|
27
|
-
Base.directory_views
|
28
|
-
end
|
29
|
-
|
30
|
-
def directory_helpers
|
31
|
-
Base.directory_helpers
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
class TemplateViewNotFound < Exception; end
|
37
|
-
|
38
|
-
class SimpleViewBase < Base
|
39
|
-
|
40
|
-
attr_accessor :template, :file_template
|
41
|
-
|
42
|
-
def initialize(template, file_template = nil)
|
43
|
-
self.template = template
|
44
|
-
self.file_template = file_template
|
45
|
-
end
|
46
|
-
|
47
|
-
def template_name(ext = self.template_extension)
|
48
|
-
"#{template}#{ext}"
|
49
|
-
end
|
50
|
-
|
51
|
-
def lookup_file_template(ext = self.template_extension)
|
52
|
-
unless @file_template
|
53
|
-
tpl = self.template_name(ext)
|
54
|
-
list = Dir.glob(File.join(self.directory_views, tpl))
|
55
|
-
raise TemplateViewNotFound.new("Impossible de trouver le template #{tpl} dans le repertoire #{self.directory_views}") unless list.size == 1
|
56
|
-
@file_template = list.first
|
57
|
-
end
|
58
|
-
@file_template
|
59
|
-
end
|
60
|
-
|
61
|
-
def clean_template_name_for_helper
|
62
|
-
template[/(\w+)(\W*)/,1]
|
63
|
-
end
|
64
|
-
|
65
|
-
def lookup_file_helper
|
66
|
-
if !self.instance_variable_defined?(:@file_helper) && self.directory_helpers
|
67
|
-
helper_file_name = "#{self.clean_template_name_for_helper}_helper.rb"
|
68
|
-
puts "SimpleViewBase > helper_file_name= #{helper_file_name}" if $DEBUG
|
69
|
-
fhlpr = File.join(self.directory_helpers, helper_file_name)
|
70
|
-
puts "SimpleViewBase > fhlpr= #{fhlpr}" if $DEBUG
|
71
|
-
if File.exist?(fhlpr)
|
72
|
-
@file_helper = FileContent.file(fhlpr)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
@file_helper
|
76
|
-
end
|
77
|
-
|
78
|
-
def template_content
|
79
|
-
FileContent.file(self.lookup_file_template).content
|
80
|
-
end
|
81
|
-
|
82
|
-
def has_helper?
|
83
|
-
hf = self.lookup_file_helper
|
84
|
-
return nil unless hf
|
85
|
-
true
|
86
|
-
end
|
87
|
-
|
88
|
-
def helper_module_name
|
89
|
-
hname = self.clean_template_name_for_helper # exemple: template = 'etat_corbeilles_prc.html' => hname = 'etat_corbeilles_prc'
|
90
|
-
"#{hname}_helper".camelcase(true).to_sym
|
91
|
-
end
|
92
|
-
|
93
|
-
def template_extension
|
94
|
-
if self.class.respond_to?(:extension)
|
95
|
-
return self.class.extension
|
96
|
-
end
|
97
|
-
".rb"
|
98
|
-
end
|
99
|
-
|
100
|
-
|
101
|
-
def set_helper(rendable_object)
|
102
|
-
if has_helper?
|
103
|
-
helper = nil
|
104
|
-
helper_name = self.helper_module_name
|
105
|
-
begin
|
106
|
-
if @file_helper.changed? || !Object::const_defined?(helper_name)
|
107
|
-
load @file_helper.file(true)
|
108
|
-
else
|
109
|
-
|
110
|
-
end
|
111
|
-
helper = Object::const_get(helper_name)
|
112
|
-
rescue NameError => ex
|
113
|
-
# puts "set_helper: #{ex.message}", ex.backtrace
|
114
|
-
require(@file_helper.file)
|
115
|
-
retry
|
116
|
-
end
|
117
|
-
puts "set_helper #{helper} for: #{rendable_object}" if $DEBUG
|
118
|
-
rendable_object.extend helper
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
|
123
|
-
def render(rendable_object, options = {})
|
124
|
-
target = options[:target]
|
125
|
-
if String === target && (options[:type] != :string)
|
126
|
-
FileUtils.mkdir_p(File.dirname(target)) if options[:mkdirs]
|
127
|
-
open(target, options[:open]||'w') do |o|
|
128
|
-
options[:target] = o
|
129
|
-
begin
|
130
|
-
return do_rendering(rendable_object, options)
|
131
|
-
ensure
|
132
|
-
options[:target] = target
|
133
|
-
end
|
134
|
-
end
|
135
|
-
else
|
136
|
-
return do_rendering(rendable_object, options)
|
137
|
-
end
|
138
|
-
rescue => ex
|
139
|
-
puts ex.message, ex.backtrace.collect{|st| "\t#{st}"}
|
140
|
-
if $SV_DEBUG
|
141
|
-
puts "[SV_DEBUG = #$SV_DEBUG]: Retry ? [y|n]"
|
142
|
-
response = $stdin.gets.strip
|
143
|
-
retry if response =~ /Y|y/
|
144
|
-
end
|
145
|
-
raise ex
|
146
|
-
end
|
147
|
-
|
148
|
-
def render_with_helper(rendable_object)
|
149
|
-
set_helper(rendable_object)
|
150
|
-
yield if block_given?
|
151
|
-
end
|
152
|
-
|
153
|
-
|
154
|
-
class << self
|
155
|
-
|
156
|
-
def template_extensions
|
157
|
-
@template_extensions ||= {}
|
158
|
-
end
|
159
|
-
|
160
|
-
def register(subclass)
|
161
|
-
ext = subclass.extension
|
162
|
-
SimpleViewBase.template_extensions[ext] = subclass
|
163
|
-
end
|
164
|
-
|
165
|
-
def lookup_file_template(template)
|
166
|
-
tpl = "#{template}#{self.extension}"
|
167
|
-
file = File.join(Base.directory_views, tpl)
|
168
|
-
puts "lookup_file_template : #{tpl} => #{file}" if $DEBUG
|
169
|
-
raise TemplateViewNotFound.new("Impossible de trouver le template #{tpl} dans le repertoire #{Base.directory_views} (#{file})") unless File.exist?(file)
|
170
|
-
file
|
171
|
-
end
|
172
|
-
|
173
|
-
def views
|
174
|
-
@views ||= {}
|
175
|
-
end
|
176
|
-
|
177
|
-
def view(template)
|
178
|
-
self.views[template] ||= self.basic_view(template)
|
179
|
-
end
|
180
|
-
|
181
|
-
def find_view(template)
|
182
|
-
SimpleViewBase.template_extensions.each do |ext, renderer|
|
183
|
-
begin
|
184
|
-
return renderer.view(template)
|
185
|
-
rescue TemplateViewNotFound
|
186
|
-
end
|
187
|
-
end
|
188
|
-
raise TemplateViewNotFound.new("Impossible de trouver le template #{template} dans le repertoire #{Base.directory_views}")
|
189
|
-
end
|
190
|
-
|
191
|
-
protected
|
192
|
-
def basic_view(template)
|
193
|
-
file = lookup_file_template(template)
|
194
|
-
self.new(template, file)
|
195
|
-
end
|
196
|
-
|
197
|
-
end
|
198
|
-
|
199
|
-
end
|
200
|
-
|
201
|
-
|
202
|
-
class SimpleLayout < SimpleViewBase
|
203
|
-
|
204
|
-
def do_rendering(rendable_object, options)
|
205
|
-
|
206
|
-
end
|
207
|
-
|
208
|
-
end
|
209
|
-
|
210
|
-
# Loading default
|
211
|
-
SimpleViewERB.name
|
212
|
-
SimpleViewIO.name
|
213
|
-
|
214
|
-
end
|
data/lib/simple_view/CVS/Root
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
:pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
|
@@ -1 +0,0 @@
|
|
1
|
-
D/poi////
|
@@ -1 +0,0 @@
|
|
1
|
-
simple_view/lib/simple_view/java
|
@@ -1 +0,0 @@
|
|
1
|
-
:pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
|
@@ -1,6 +0,0 @@
|
|
1
|
-
D
|
2
|
-
/poi-3.6-20091214.jar/1.1.1.1/Tue Dec 07 12:02:42 2010/-kb/
|
3
|
-
/poi-contrib-3.6-20091214.jar/1.1.1.1/Tue Dec 07 12:02:42 2010/-kb/
|
4
|
-
/poi-ooxml-3.6-20091214.jar/1.1.1.1/Tue Dec 07 12:02:42 2010/-kb/
|
5
|
-
/poi-ooxml-schemas-3.6-20091214.jar/1.1.1.1/Tue Dec 07 12:02:42 2010/-kb/
|
6
|
-
/poi-scratchpad-3.6-20091214.jar/1.1.1.1/Tue Dec 07 12:02:42 2010/-kb/
|
@@ -1 +0,0 @@
|
|
1
|
-
simple_view/lib/simple_view/java/poi
|
@@ -1 +0,0 @@
|
|
1
|
-
:pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
|
data/test/CVS/Entries
DELETED
data/test/CVS/Repository
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
simple_view/test
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'bundler/setup'
|
2
|
-
|
3
|
-
require 'simple_view'
|
4
|
-
require 'simple_view/builder_view'
|
5
|
-
|
6
|
-
include SimpleView
|
7
|
-
include SimpleView::Renderable
|
8
|
-
|
9
|
-
Base.directory_views = File.join(File.dirname(__FILE__), 'views')
|
10
|
-
Base.directory_helpers = File.join(File.dirname(__FILE__), 'views')
|
11
|
-
|
12
|
-
# render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
|
13
|
-
puts "ERB"
|
14
|
-
render_erb 'test', :locals => {:who => 'You'}, :target => $stdout
|
15
|
-
puts "\nBUILDER"
|
16
|
-
render_builder 'test', :locals => {:who => 'You'}, :target => $stdout
|
17
|
-
puts "\nIO"
|
18
|
-
render_io 'test', :locals => {:who => 'You'}, :target => $stdout
|
19
|
-
|
20
|
-
puts "\nHAML"
|
21
|
-
require 'simple_view/haml_view'
|
22
|
-
render_haml 'test', :locals => {:who => 'You'}, :target => $stdout
|
23
|
-
|
24
|
-
require 'simple_view/poi_view'
|
25
|
-
render_poi 'test', :model => "#{Base.directory_views}/test-model.xlsx", :target => 'c:/aag/test.xlsx'
|
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'bundler/setup'
|
3
|
-
|
4
|
-
require 'simple_view'
|
5
|
-
require 'simple_view/builder_view'
|
6
|
-
|
7
|
-
include SimpleView
|
8
|
-
include SimpleView::Renderable
|
9
|
-
|
10
|
-
Base.directory_views = File.join(File.dirname(__FILE__), 'views')
|
11
|
-
Base.directory_helpers = File.join(File.dirname(__FILE__), 'helpers')
|
12
|
-
|
13
|
-
# render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
|
14
|
-
puts "BUILDER", render_builder('test', :locals => {:who => 'tata'})
|
15
|
-
render_builder('test', :locals => {:who => 'tata'})
|
16
|
-
|
17
|
-
puts "ERB 0", render('test', :locals => {:who => 'tata'})
|
18
|
-
|
19
|
-
puts "ERB 1", render_erb('test', :locals => {:who => 'toto'})
|
20
|
-
|
21
|
-
puts "ERB 2", render_erb('test', :locals => {:who => 'titi'})
|
data/test/CVS/Root
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
:pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
|
data/test/helpers/CVS/Entries
DELETED
data/test/helpers/CVS/Repository
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
simple_view/test/helpers
|
data/test/helpers/CVS/Root
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
:pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
|
data/test/views/CVS/Entries
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
D
|
2
|
-
/etat_corbeilles_prc-csv.io.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
|
3
|
-
/etat_corbeilles_prc-xls.poi.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
|
4
|
-
/etat_corbeilles_prc-xls2.smartxl.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
5
|
-
/etat_corbeilles_prc.html.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
6
|
-
/test-builder.builder.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
7
|
-
/test-erb.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
8
|
-
/test-model.xls/1.1.1.1/Tue Dec 07 12:02:43 2010/-kb/
|
9
|
-
/test-model.xlsx/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
10
|
-
/test-xls.poi.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
11
|
-
/test-xls.smartxl.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
12
|
-
/test.builder.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
13
|
-
/test.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
14
|
-
/test.haml/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
15
|
-
/test.io.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
16
|
-
/test.poi.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
17
|
-
/test_error.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
data/test/views/CVS/Repository
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
simple_view/test/views
|
data/test/views/CVS/Root
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
:pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
|