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.
Files changed (37) hide show
  1. data/README.rdoc +22 -0
  2. data/lib/generators/mustache_render/install/templates/active_record/migration.rb +65 -0
  3. data/lib/generators/mustache_render/install/templates/config/initializers/mustache_render.rb +8 -14
  4. data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_folder.rb +6 -0
  5. data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_manager.rb +6 -0
  6. data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_template.rb +6 -0
  7. data/lib/generators/mustache_render/install/templates/models/active_record/mustache_render_template_version.rb +6 -0
  8. data/lib/generators/mustache_render/install_generator.rb +14 -2
  9. data/lib/mustache_render.rb +5 -14
  10. data/lib/mustache_render/ables.rb +7 -0
  11. data/lib/mustache_render/ables/render_able.rb +161 -0
  12. data/lib/mustache_render/config.rb +24 -62
  13. data/lib/mustache_render/errors.rb +5 -0
  14. data/lib/mustache_render/errors/mustache_template_miss_error.rb +6 -0
  15. data/lib/mustache_render/mustache.rb +85 -79
  16. data/lib/mustache_render/mustache/data.rb +155 -61
  17. data/lib/mustache_render/mustache/parser.rb +0 -4
  18. data/lib/mustache_render/mustache/template.rb +2 -7
  19. data/lib/mustache_render/populator.rb +7 -0
  20. data/lib/mustache_render/utils.rb +15 -0
  21. data/lib/mustache_render/{core_ext/base_controller_ext.rb → utils/action_controller_util.rb} +7 -6
  22. data/lib/mustache_render/utils/array_util.rb +15 -0
  23. data/lib/mustache_render/utils/fields_filter_util.rb +127 -0
  24. data/lib/mustache_render/version.rb +1 -1
  25. data/spec/lib/ables/render_able_spec.rb +183 -0
  26. data/spec/lib/mustache/basic_render_spec.rb +26 -1
  27. data/spec/lib/mustache/data_spec.rb +5 -5
  28. data/spec/lib/mustache/file_render_spec.rb +11 -2
  29. data/spec/lib/resources/templates/mustache_render_ables/1.mustache +11 -0
  30. data/spec/lib/utils/field_filter_spec.rb +71 -0
  31. data/spec/spec_helper.rb +0 -21
  32. metadata +69 -59
  33. data/README.md +0 -23
  34. data/lib/mustache_render/adapter.rb +0 -75
  35. data/lib/mustache_render/populator_base.rb +0 -88
  36. data/spec/lib/config_spec.rb +0 -14
  37. 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
@@ -1,14 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- require 'spec_helper'
3
-
4
- describe 'MustacheRender config' do
5
- context 'config' do
6
- before :each do
7
-
8
- end
9
-
10
- it 'config not nil' do
11
- ::MustacheRender.config.nil?.should == false
12
- end
13
- end
14
- end
@@ -1 +0,0 @@
1
- in-8file:{{name}}