-
Notifications
You must be signed in to change notification settings - Fork 0
/
locations.rb
47 lines (39 loc) · 1.31 KB
/
locations.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# spec/fixtures/models/locations.rb
require 'fixtures/fixtures'
require 'fixtures/models/edges'
require 'explore/models/location'
module Explore
module Fixtures
module Models
class << self
def location(key, *args, &block)
Fixtures[:locations][key] = LocationFixture.new(key, *args, &block)
end # class method region
end # class << self
class LocationFixture < Fixture
def initialize(key, *args, &block)
args.unshift(key)
super(Explore::Models::Location, key, *args, &block)
end # method initialize
def block
return @block
end # method block
def params
return @args[1]
end # method params
def slug
return @args[0]
end # method slug
end # class LocationFixture
location :marios_pad, :name => "Mario's Pad"
location :mushroom_way, :name => "Mushroom Way"
location :bandits_way, :name => "Bandit's Way"
location :mushroom_kingdom, :name => "Mushroom Kingdom" do
edges = Explore::Fixtures[:edges]
edges.each do |key, value|
go value.location, *value.params
end # each
end # location
end # module Models
end # module Fixtures
end # module Explore