mustache_render 0.0.21 → 0.0.22
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/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}}
|