changelog shortlog tags changeset manifest revisions annotate raw

vendor/plugins/rspec/lib/spec/story/story.rb

changeset 15: 64acf98d15f4
author: moriq@moriq.com
date: Mon Mar 10 10:12:58 2008 +0900 (16 years ago)
permissions: -rw-r--r--
description: add plugins rspec
1module Spec
2 module Story
3 class Story
4 attr_reader :title, :narrative
5
6 def initialize(title, narrative, params = {}, &body)
7 @body = body
8 @title = title
9 @narrative = narrative
10 @params = params
11 end
12
13 def [](key)
14 @params[key]
15 end
16
17 def run_in(obj)
18 obj.instance_eval(&@body)
19 end
20
21 def assign_steps_to(assignee)
22 if @params[:steps]
23 assignee.use(@params[:steps])
24 else
25 case keys = @params[:steps_for]
26 when Symbol
27 keys = [keys]
28 when nil
29 keys = []
30 end
31 keys.each do |key|
32 assignee.use(steps_for(key))
33 end
34 end
35 end
36
37 def steps_for(key)
38 $rspec_story_steps[key]
39 end
40 end
41 end
42end