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.
Files changed (37) hide show
  1. data/lib/simple_view/version.rb +1 -1
  2. metadata +2 -50
  3. data/lib/CVS/Entries +0 -3
  4. data/lib/CVS/Repository +0 -1
  5. data/lib/CVS/Root +0 -1
  6. data/lib/core-ext/CVS/Entries +0 -5
  7. data/lib/core-ext/CVS/Repository +0 -1
  8. data/lib/core-ext/CVS/Root +0 -1
  9. data/lib/simple_view/CVS/Entries +0 -11
  10. data/lib/simple_view/CVS/Repository +0 -1
  11. data/lib/simple_view/CVS/RevisionCache/builder_view.rb#1.1.1.1 +0 -42
  12. data/lib/simple_view/CVS/RevisionCache/erb_view.rb#1.1.1.1 +0 -44
  13. data/lib/simple_view/CVS/RevisionCache/file_content.rb#1.1.1.1 +0 -50
  14. data/lib/simple_view/CVS/RevisionCache/io_view.rb#1.1.1.1 +0 -37
  15. data/lib/simple_view/CVS/RevisionCache/poi_view.rb#1.1.1.1 +0 -116
  16. data/lib/simple_view/CVS/RevisionCache/renderable.rb#1.1.1.1 +0 -114
  17. data/lib/simple_view/CVS/RevisionCache/simple_view.rb#1.1.1.1 +0 -214
  18. data/lib/simple_view/CVS/Root +0 -1
  19. data/lib/simple_view/java/CVS/Entries +0 -1
  20. data/lib/simple_view/java/CVS/Repository +0 -1
  21. data/lib/simple_view/java/CVS/Root +0 -1
  22. data/lib/simple_view/java/poi/CVS/Entries +0 -6
  23. data/lib/simple_view/java/poi/CVS/Repository +0 -1
  24. data/lib/simple_view/java/poi/CVS/Root +0 -1
  25. data/test/CVS/Entries +0 -6
  26. data/test/CVS/Repository +0 -1
  27. data/test/CVS/RevisionCache/test_view.rb#1.1.1.1 +0 -25
  28. data/test/CVS/RevisionCache/test_view_reuse_erb.rb#1.1.1.1 +0 -21
  29. data/test/CVS/Root +0 -1
  30. data/test/helpers/CVS/Entries +0 -3
  31. data/test/helpers/CVS/Repository +0 -1
  32. data/test/helpers/CVS/RevisionCache/test_helper.rb#1.1.1.1 +0 -7
  33. data/test/helpers/CVS/Root +0 -1
  34. data/test/views/CVS/Entries +0 -17
  35. data/test/views/CVS/Repository +0 -1
  36. data/test/views/CVS/RevisionCache/test.erb#1.1.1.1 +0 -2
  37. data/test/views/CVS/Root +0 -1
@@ -1,3 +1,3 @@
1
1
  module SimpleView
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 1
9
- version: 0.0.1
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
@@ -1,3 +0,0 @@
1
- /simple_view.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
2
- D/core-ext////
3
- D/simple_view////
@@ -1 +0,0 @@
1
- simple_view/lib
@@ -1 +0,0 @@
1
- :pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
@@ -1,5 +0,0 @@
1
- D
2
- /array.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
3
- /jopen.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
4
- /nilclass.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
5
- /string.rb/1.1.1.1/Tue Dec 07 12:02:41 2010//
@@ -1 +0,0 @@
1
- simple_view/lib/core-ext
@@ -1 +0,0 @@
1
- :pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
@@ -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
@@ -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
@@ -1,6 +0,0 @@
1
- /jtest_view.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
2
- /test_view.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
3
- /test_view_reuse_erb.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
4
- /test_view_sv_debug.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
5
- D/helpers////
6
- D/views////
@@ -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'})
@@ -1 +0,0 @@
1
- :pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
@@ -1,3 +0,0 @@
1
- D
2
- /etat_corbeilles_prc_helper.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
3
- /test_helper.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
@@ -1 +0,0 @@
1
- simple_view/test/helpers
@@ -1,7 +0,0 @@
1
- module TestHelper
2
-
3
- def help(str)
4
- "Help #{str}!"
5
- end
6
-
7
- end
@@ -1 +0,0 @@
1
- :pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
@@ -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//
@@ -1 +0,0 @@
1
- simple_view/test/views
@@ -1,2 +0,0 @@
1
- Hello <%= help who %>!
2
- En XML : <%= render_builder 'test', :locals => {:who => who} %>
@@ -1 +0,0 @@
1
- :pserver:gie\barukh@esvwas51.si.fr:/repositories/aag