Hiccdown methods should live in their own, separatemodules.classes. How about they are called‘displays’?↵ ↵ ```ruby↵ module‘displays’?↵ ↵ ```ruby↵ class ProductsDisplay defself.indexindex vc, # … vc.some_helper_methodend↵ end↵ ```↵ ↵ A benefit of this approach is that, when people start a new Rails app, they may end up putting whatever they’d otherwise put in a helper in a display, since displays haveend↵ end↵ ```↵ ↵ Behind the scenes, the Hiccdown gem would need to make thebenefit of having unambiguously resolvable method names.instance variables available to the display class:↵ ↵ ```ruby↵ display = @display_module.new↵ ↵ view_context.instance_variables.each do |iv|↵ display.instance_variable_set(↵ iv,↵ view_context.instance_variable_get(iv)↵ )↵ end↵ ```↵ ↵ Then:↵ ↵ ```ruby↵ class ProductsDisplay↵ def index vc, # …↵ vc.some_helper_method(@products)↵ end↵ end↵ ```
Hiccdown methods should live in their own, separate classes. How about they are called ‘displays’?
class ProductsDisplay def index vc, # … vc.some_helper_method end
end
Behind the scenes, the Hiccdown gem would need to make the instance variables available to the display class:
display = @display_module.new
view_context.instance_variables.each do |iv|
display.instance_variable_set(
iv,
view_context.instance_variable_get(iv)
)
end
Then:
class ProductsDisplay
def index vc, # …
vc.some_helper_method(@products)
end
end