Hiccdown Development Notes

See full discussion
  Log in or sign up to participate in this discussion.
With an account, you can revise, criticize, and comment on ideas.

Discussions can branch out indefinitely. Zoom out for the bird’s-eye view.
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#303·· Collapse

Hiccdown methods should live in Rails helpers as class methods. That way, the problem described in #302 is solved – methods can be referenced unambiguously:

ProductsHelper.index
StoresHelper.index
Criticized2 criticim(s)
Dennis Hackethal’s avatar
Dennis HackethalOP revised about 1 year ago·#305·· Collapse

Does that mean they wouldn’t have access to the view_context? If so, calling helper methods from inside these class methods wouldn’t be possible.

2nd of 2 versions ·Criticism of #303Criticized1 criticim(s)
Dennis Hackethal’s avatar
Dennis HackethalOP revised about 1 year ago·#310·· Collapse

If so, there might be a way to bind them to the view_context. Or I could definitely pass the view_context explicitly as the first parameter:

So instead of

@helper_module.instance_method(@action_name).bind_call(view_context)

I would do

@helper_module.send(@action_name, view_context)

And the parameter list of each Hiccdown method would start accordingly:

module ProductsHelper
  def self.index vc #, …
    vc.some_helper_method
  end

  def some_helper_method
    # …
  end
end
3rd of 3 versions ·Criticism of #305
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#312·· Collapse

That would be mixing class methods an instance methods in Rails helper modules, which typically only contain instance methods. Not idiomatic Rails usage.

Criticism of #303
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#332·· Collapse

#327 applies here, too: no access to instance variables inside helper class methods.

Criticism of #303