Hiccdown Development Notes

Showing only those parts of the discussion which lead to #322 and its comments.

See full discussion instead
  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 revised about 1 year ago·#330· Collapse
4th of 4 versions leading to #322

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
Criticized2oustanding criticisms
Dennis Hackethal’s avatar
Dennis HackethalOP revised about 1 year ago·#317· Collapse
2nd of 2 versions leading to #322

Then how would you call index from a helper method?

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

I don’t think that’s something people would do a lot, but they still easily could: ProductsRenderer.index(self)

Criticism of #317Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#321· Collapse

Test this!

Criticism of #315
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#322· Collapse
1st of 2 versions

Tested, it works.

Criticism of #321Criticized1oustanding criticism
Dennis Hackethal’s avatar
Dennis HackethalOP, about 1 year ago·#324· Collapse

Superseded by #323. This comment was generated automatically.

Criticism of #322