Skip to content

Allow introspecting a presenter #105

@dasch

Description

@dasch

It would be great to get a description of a presenter, including all nested presenters.

class OrganizationPresenter < Curly::Presenter
  def name; end
  def members(max: nil); end
  def open?; end

  class MemberPresenter < Curly::Presenter
    def name; end
    def admin?; end
  end
end

OrganizationPresenter.description #=>
{
   components: [
     {
       name: "name",
       type: "value",
       parameters: []
     },
     {
       name: "open?",
       type: "conditional",
       parameters: []
     },
     {
       name: "members",
       type: "collection",
       parameters: [ { name: "max", required: false } ],
       components: [
         {
           name: "name",
           type: "value",
           parameters: []
         },
         {
           name: "admin?",
           type: "conditional",
           parameters: []
         },
       ]
     },
   ]
 }

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions