mustache_render 0.0.21 → 0.0.22
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +22 -0
- data/lib/generators/mustache_render/install/templates/active_record/migration.rb +65 -0
- data/lib/generators/mustache_render/install/templates/config/initializers/mustache_render.rb +8 -14
- data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_folder.rb +6 -0
- data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_manager.rb +6 -0
- data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_template.rb +6 -0
- data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_template_version.rb +6 -0
- data/lib/generators/mustache_render/install_generator.rb +14 -2
- data/lib/mustache_render.rb +5 -14
- data/lib/mustache_render/ables.rb +7 -0
- data/lib/mustache_render/ables/render_able.rb +161 -0
- data/lib/mustache_render/config.rb +24 -62
- data/lib/mustache_render/errors.rb +5 -0
- data/lib/mustache_render/errors/mustache_template_miss_error.rb +6 -0
- data/lib/mustache_render/mustache.rb +85 -79
- data/lib/mustache_render/mustache/data.rb +155 -61
- data/lib/mustache_render/mustache/parser.rb +0 -4
- data/lib/mustache_render/mustache/template.rb +2 -7
- data/lib/mustache_render/populator.rb +7 -0
- data/lib/mustache_render/utils.rb +15 -0
- data/lib/mustache_render/{core_ext/base_controller_ext.rb → utils/action_controller_util.rb} +7 -6
- data/lib/mustache_render/utils/array_util.rb +15 -0
- data/lib/mustache_render/utils/fields_filter_util.rb +127 -0
- data/lib/mustache_render/version.rb +1 -1
- data/spec/lib/ables/render_able_spec.rb +183 -0
- data/spec/lib/mustache/basic_render_spec.rb +26 -1
- data/spec/lib/mustache/data_spec.rb +5 -5
- data/spec/lib/mustache/file_render_spec.rb +11 -2
- data/spec/lib/resources/templates/mustache_render_ables/1.mustache +11 -0
- data/spec/lib/utils/field_filter_spec.rb +71 -0
- data/spec/spec_helper.rb +0 -21
- metadata +69 -59
- data/README.md +0 -23
- data/lib/mustache_render/adapter.rb +0 -75
- data/lib/mustache_render/populator_base.rb +0 -88
- data/spec/lib/config_spec.rb +0 -14
- data/spec/lib/resources/templates/basic/8.mustache +0 -1
@@ -1,88 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
module MustacheRender
|
3
|
-
class PopulatorBase
|
4
|
-
attr_reader :data
|
5
|
-
|
6
|
-
def initialize options={}
|
7
|
-
@context = options[:context]
|
8
|
-
@data = ::MustacheRender::Mustache::Data.new
|
9
|
-
@template = options[:template]
|
10
|
-
@_scope = options[:scope]
|
11
|
-
@_method = options[:method] || "#{@context.controller_name}_#{@context.action_name}"
|
12
|
-
|
13
|
-
self.send _impl_get_render_method_name
|
14
|
-
end
|
15
|
-
|
16
|
-
#
|
17
|
-
# impl_collect_reader_board
|
18
|
-
#
|
19
|
-
def collect_record record_name, record, options={}, &block
|
20
|
-
if record
|
21
|
-
result = self.send("impl_collect_#{record_name}".to_sym, record, options, &block) || {}
|
22
|
-
result = _impl_collect_require_fields(result, record_name, record, options, &block)
|
23
|
-
result
|
24
|
-
else
|
25
|
-
{
|
26
|
-
'miss?' => true
|
27
|
-
}
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def collect_records record_name, records, options={}, &block
|
32
|
-
records.map do |record|
|
33
|
-
collect_record record_name, record, options, &block
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
#
|
38
|
-
# render template
|
39
|
-
# file_render template_path
|
40
|
-
#
|
41
|
-
[:render, :file_render, :impl_render].each do |method_name|
|
42
|
-
define_method method_name do |path_or_template=nil|
|
43
|
-
@context.send "mustache_#{method_name}".to_sym, "#{path_or_template || @template}", @data
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
|
-
def _impl_collect_require_fields result, record_name, record, options={}
|
50
|
-
_cache_names = {}
|
51
|
-
|
52
|
-
(options[:fields] || []).each do |field|
|
53
|
-
formated_method_name = "format_field_#{record_name}_#{field}".to_sym
|
54
|
-
|
55
|
-
if self.respond_to?(formated_method_name)
|
56
|
-
(result[:fields] ||= {}).merge!(
|
57
|
-
field => self.send(formated_method_name, record, options)
|
58
|
-
)
|
59
|
-
elsif record.respond_to?(field)
|
60
|
-
(result[:fields] ||= {}).merge!(
|
61
|
-
field => record.send(field)
|
62
|
-
)
|
63
|
-
else
|
64
|
-
raise "#{self.class.to_s} not define method: #{formated_method_name} or #{record_name} can not respond_to: #{field}"
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
result
|
69
|
-
end
|
70
|
-
|
71
|
-
|
72
|
-
def _impl_get_render_method_name
|
73
|
-
"render#{"_#{@_scope}" if @scope.present?}_#{@_method}"
|
74
|
-
end
|
75
|
-
|
76
|
-
class << self
|
77
|
-
#
|
78
|
-
# 定义了
|
79
|
-
#
|
80
|
-
[:render, :file_render, :impl_render].each do |method_name|
|
81
|
-
define_method method_name do |options|
|
82
|
-
self.new(options).send method_name
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
end
|
88
|
-
end
|
data/spec/lib/config_spec.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
in-8file:{{name}}
|