Module: Upmin::Railties::RenderHelpers

Defined in:
lib/upmin/railties/render_helpers.rb

Class Method Summary collapse

Class Method Details

.action_partials(upmin_model, action_name, options) ⇒ Object



62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/upmin/railties/render_helpers.rb', line 62

def RenderHelpers.action_partials(upmin_model, action_name, options)
  partials = []
  # <options[:as]>
  # <model_name>_<action_name>, eg: order_refund
  # <action_name>, eg: refund
  # action
  model_name = upmin_model.klass.name.underscore

  partials << build_action_path(options[:as]) if options[:as]
  partials << build_action_path("#{model_name}_#{action_name}")
  partials << build_action_path(action_name)
  partials << build_action_path(:action)
  return partials
end

.association_partials(upmin_model, assoc_name, options) ⇒ Object

NOTE: assoc_type is sketchy at best. It tries to determine it, but in some cases it has to be guessed at, so if you have polymorphic associations it will choose the data type of the first association it finds - eg if user.things returns [Order, Product, Review] it will use the type of “order”



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/upmin/railties/render_helpers.rb', line 44

def RenderHelpers.association_partials(upmin_model, assoc_name, options)
  partials = []
  # <options[:as]>
  # <model_name>_<assoc_name>, eg: user_recent_orders
  # <model_name>_<assoc_type>, eg: user_orders
  # <attr_type>, eg: orders
  # associations
  model_name = upmin_model.klass.name.underscore
  assoc_type = upmin_model.association_type(assoc_name)

  partials << build_association_path(options[:as]) if options[:as]
  partials << build_association_path("#{model_name}_#{assoc_name}")
  partials << build_association_path("#{model_name}_#{assoc_type}")
  partials << build_association_path(assoc_type)
  partials << build_association_path(:associations)
  return partials
end

.attribute_partials(upmin_model, attr_name, options) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/upmin/railties/render_helpers.rb', line 17

def RenderHelpers.attribute_partials(upmin_model, attr_name, options)
  partials = []
  # <options[:as]>
  # <model_name>_<attr_name>, eg: user_name
  # <model_name>_<attr_type>, eg: user_string
  # <attr_type>, eg: string
  # unknown

  model_name = upmin_model.klass.name.underscore
  attr_type = upmin_model.attribute_type(attr_name)

  partials << build_attribute_path(options[:as]) if options[:as]
  partials << build_attribute_path("#{model_name}_#{attr_name}")
  partials << build_attribute_path("#{model_name}_#{attr_type}")
  partials << build_attribute_path(attr_type)
  partials << build_attribute_path(:unknown)
  return partials
end

.build_action_path(partial_name) ⇒ Object



122
123
124
125
# File 'lib/upmin/railties/render_helpers.rb', line 122

def RenderHelpers.build_action_path(partial_name)
  partial_name = partial_name.to_s.gsub(/[!?]/, "")
  return "#{root_path}/actions/#{partial_name}"
end

.build_association_path(partial_name) ⇒ Object



127
128
129
# File 'lib/upmin/railties/render_helpers.rb', line 127

def RenderHelpers.build_association_path(partial_name)
  return "#{root_path}/associations/#{partial_name}"
end

.build_attribute_path(partial_name) ⇒ Object



118
119
120
# File 'lib/upmin/railties/render_helpers.rb', line 118

def RenderHelpers.build_attribute_path(partial_name)
  return "#{root_path}/attributes/#{partial_name}"
end

.build_model_path(partial_name) ⇒ Object



114
115
116
# File 'lib/upmin/railties/render_helpers.rb', line 114

def RenderHelpers.build_model_path(partial_name)
  return "#{root_path}/models/#{partial_name}"
end

.build_search_box_path(partial_name) ⇒ Object



135
136
137
# File 'lib/upmin/railties/render_helpers.rb', line 135

def RenderHelpers.build_search_box_path(partial_name)
  return "#{root_path}/search_boxes/#{partial_name}"
end

.build_search_result_path(partial_name) ⇒ Object



131
132
133
# File 'lib/upmin/railties/render_helpers.rb', line 131

def RenderHelpers.build_search_result_path(partial_name)
  return "#{root_path}/search_results/#{partial_name}"
end

.model_partials(upmin_model, options) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/upmin/railties/render_helpers.rb', line 5

def RenderHelpers.model_partials(upmin_model, options)
  partials = []
  # <options[:as]>
  # <model_name>
  # model

  partials << build_model_path(options[:as]) if options[:as]
  partials << build_model_path(upmin_model.klass.name.underscore)
  partials << build_model_path(:model)
  return partials
end

.root_pathObject



139
140
141
# File 'lib/upmin/railties/render_helpers.rb', line 139

def RenderHelpers.root_path
  return "upmin/partials"
end

.search_box_partials(klass, options) ⇒ Object



103
104
105
106
107
108
109
110
111
# File 'lib/upmin/railties/render_helpers.rb', line 103

def RenderHelpers.search_box_partials(klass, options)
  partials = []
  # <options[:as]>
  # ransack_search_box

  partials << build_search_box_path(options[:as]) if options[:as]
  partials << build_search_box_path(:ransack_search_box)
  return partials
end

.search_result_partials(upmin_model, options) ⇒ Object



90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/upmin/railties/render_helpers.rb', line 90

def RenderHelpers.search_result_partials(upmin_model, options)
  partials = []
  # <options[:as]>
  # <model_name # singular>, eg: order
  # results
  model_name = upmin_model.klass.name.underscore

  partials << build_search_result_path(options[:as]) if options[:as]
  partials << build_search_result_path(model_name)
  partials << build_search_result_path(:result)
  return partials
end

.search_results_partials(ransack_search, options) ⇒ Object



77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/upmin/railties/render_helpers.rb', line 77

def RenderHelpers.search_results_partials(ransack_search, options)
  partials = []
  # <options[:as]>
  # <model_name # plural>, eg: orders
  # results
  model_name_plural = ransack_search.klass.name.underscore.pluralize

  partials << build_search_result_path(options[:as]) if options[:as]
  partials << build_search_result_path(model_name_plural)
  partials << build_search_result_path(:results)
  return partials
end