Sha256: 837dee054b32054ab3d0e2f854eedff1244d0a06bc90e0b5e100a42d9f01206e

Contents?: true

Size: 1.33 KB

Versions: 4

Compression:

Stored size: 1.33 KB

Contents

class Brief::Apps::Blueprint::Epic
  include Brief::Model

  defined_in Pathname(__FILE__)

  meta do
    title
    subheading
    status String, :in => %w(draft published)
  end

  example <<-EOF
---
type: epic
status: draft
---

# Epic Title

Write a description for your epic.

# User Stories

## User Story Title

As a **PERSONA** I would like to **BEHAVIOR** so that I can **GOAL**
  EOF

  template <<-EOF
# <%= object.title %>
# User Stories
<% Array(object.user_stories).each do |user_story| %>
## <%= user_story.title %>
As a **User** I would like to **Do this** so that I can **succeed**
<% end %>
  EOF

  content do
    title "h1:first-of-type"
    paragraph "p:first-of-type"
    paragraphs "p"

    define_section "User Stories" do
      each("h2").has(:title     => "h2",
                     :paragraph => "p:first-of-type",
                     :components   => "p:first-of-type strong"
                    )

      each("h2").is_a :user_story
    end
  end

  helpers do
    def user_stories
      sections.user_stories.items.map do |item|
        item.components = Array(item.components)

        item.merge(goal: item.components[2],
                   persona: item.components[0],
                   behavior: item.components[1])
      end
    end
  end

  actions do
    def publish_to_github
    end

    def custom_action
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
brief-1.9.14 apps/blueprint/models/epic.rb
brief-1.9.13 apps/blueprint/models/epic.rb
brief-1.9.12 apps/blueprint/models/epic.rb
brief-1.9.11 apps/blueprint/models/epic.rb