mofo 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,6 @@
1
+ = 0.2.2
2
+ - Proper ISO8601 date handling and cleanup of String#coerce
3
+
1
4
  = 0.2.1
2
5
  - Fixed autoloading
3
6
 
data/README CHANGED
@@ -190,6 +190,7 @@ them in a session.
190
190
  >> Olle Jonsson
191
191
  >> Christian Carter
192
192
  >> Grant Rodgers
193
+ >> Denis Defreyne
193
194
 
194
195
  = Author
195
196
 
@@ -1,40 +1,24 @@
1
- require 'generator'
2
- require 'date'
3
- require 'time'
1
+ require File.dirname(__FILE__) + '/time'
4
2
 
5
- # http://project.ioni.st/post/925#post-925
6
3
  class String
7
4
  def coerce
8
- attempt = nil
9
- while coercions.next?
10
- attempt = coercions.next
11
- break if !attempt.nil?
12
- end
13
- %w(@coercions @generator).each { |i| remove_instance_variable i }
14
- attempt.nil? ? self : attempt
5
+ return true if self == 'true'
6
+ return false if self == 'false'
7
+ coerce_try { return Time.iso8601(self) }
8
+ coerce_try { return Integer(self) }
9
+ coerce_try { return Float(self) }
10
+ self
15
11
  end
16
12
 
17
13
  def strip_html
18
14
  gsub(/<(?:[^>'"]*|(['"]).*?\1)*>/,'')
19
15
  end
20
-
16
+
21
17
  private
22
- def coercions
23
- @coercions ||= Generator.new do |@generator|
24
- try { self == 'true' }
25
- try { [self == 'false', false] }
26
- try { [Date.parse(self), Time.parse(self)] }
27
- try { Integer(self) }
28
- try { Float(self) }
29
- end
30
- end
31
18
 
32
- def try
33
- attempt, desired = yield
34
- if attempt
35
- @generator.yield(desired.nil? ? attempt : desired)
36
- end
37
- rescue ArgumentError
38
- @generator.yield nil
19
+ def coerce_try
20
+ yield
21
+ rescue
22
+ nil
39
23
  end
40
24
  end
@@ -0,0 +1,11 @@
1
+ require 'time'
2
+
3
+ class Time
4
+ ISO8601_REGEX = /^\d{4}-?\d{2}-?\d{2}(T\d{2}(:?\d{2}(:?\d{2}(\.?\d{2})?)?)?(Z|[+-]\d{2}(:?\d{2})?)?)?$/
5
+
6
+ def self.iso8601(a_string)
7
+ raise ArgumentError unless a_string =~ ISO8601_REGEX
8
+
9
+ Time.xmlschema(a_string) rescue Time.parse(a_string)
10
+ end
11
+ end
@@ -9,9 +9,11 @@ context "A string should be coercable into" do
9
9
 
10
10
  specify "a float" do
11
11
  "4.0".coerce.should.equal 4.0
12
+ "4,0".coerce.should.not.equal 4.0
12
13
  end
13
14
 
14
15
  specify "a datetime" do
16
+ "2004-08-03T03:48:27Z".coerce.should.equal Time.parse("2004-08-03T03:48:27Z")
15
17
  "1985-03-13".coerce.should.equal Time.parse("1985-03-13")
16
18
  end
17
19
 
@@ -42,7 +42,7 @@
42
42
  <div class="sidebar">
43
43
 
44
44
  <div class="title entry-title">&ldquo;<a href="/post/13" class="reverse" rel="bookmark">A Rails Toolbox</a>&rdquo;</div>
45
- <div class="secondary byline">&ndash; <span class="author vcard fn">Chris</span> on <span class="published" title="Tue Oct 17 01:45:00 PDT 2006">October 17th, 2006</span></div>
45
+ <div class="secondary byline">&ndash; <span class="author vcard fn">Chris</span> on <abbr class="published" title="2006-10-17T01:45:00Z">October 17th, 2006</abbr></div>
46
46
 
47
47
  <br/>
48
48
  <div class="secondary tags">
@@ -0,0 +1,225 @@
1
+ <!DOCTYPE html> <!-- HTML5, so use http://hsivonen.iki.fi/validator/html5/ to validate -->
2
+ <html lang="en">
3
+ <head>
4
+ <!-- http header equivalents -->
5
+ <meta charset="UTF-8">
6
+
7
+ <!-- title -->
8
+ <title>Stoneship - Rand Miller Interview</title>
9
+
10
+ <!-- stylesheet -->
11
+ <link rel="stylesheet" type="text/css" href="/media/style/stoneship5.css">
12
+ <link rel="stylesheet" type="text/css" href="/media/style/stoneship_print.css" media="print">
13
+
14
+ <!-- scripts -->
15
+ <script src="/media/scripts/banner.js" type="text/javascript"></script>
16
+
17
+ <!-- feeds -->
18
+ <link rel="alternate" type="application/atom+xml" title="Atom web feed for The Stoneship Journal" href="http://feeds.feedburner.com/stoneship">
19
+ <link rel="feed" type="application/atom+xml" title="Atom web feed for The Stoneship Journal" href="http://feeds.feedburner.com/stoneship">
20
+
21
+ <!-- openid -->
22
+ <link rel="openid.server" href="/openid/index.php">
23
+ </head>
24
+ <body>
25
+ <div id="header">
26
+ <ol class="nav">
27
+ <li><a href="/">home</a></li>
28
+ <li><a href="/journal/">journal</a></li>
29
+ <li><a href="/about/">about</a></li>
30
+ <li><a href="/software/">software</a></li>
31
+ <li><a href="/webdesign/">web design</a></li>
32
+ <li><a href="/myst/">myst</a></li>
33
+ </ol>
34
+ <h1><a href="/">Stoneship</a></h1>
35
+ <div id="ads">
36
+ <script type="text/javascript"><!--
37
+ google_ad_client = "pub-5357983839374286";
38
+ google_ad_width = 468;
39
+ google_ad_height = 60;
40
+ google_ad_format = "468x60_as";
41
+ google_ad_type = "text";
42
+ google_ad_channel = "4960470350";
43
+ google_color_border = "EEEEEE";
44
+ google_color_bg = "EEEEEE";
45
+ google_color_link = "000000";
46
+ google_color_text = "000000";
47
+ google_color_url = "000000";
48
+ //-->
49
+ </script>
50
+ <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
51
+ </div>
52
+ </div>
53
+ <div id="main">
54
+ <div id="content">
55
+ <h2>Rand Miller Interview</h2>
56
+
57
+ <p>This Q&amp;A session/interview with Rand Miller, CEO at <a href="http://www.cyanworlds.com/">Cyan Worlds</a>, was held on November 12 2003.</p>
58
+
59
+ <div id="interview" class="section">
60
+ <h3>The Interview <a href="#interview" class="permalink" rel="bookmark">#</a></h3>
61
+
62
+ <ol class="interview">
63
+ <li class="question"><cite class="sender vcard"><span class="nickname">Zeus12345</span></cite>: <q>Will we be able to visit any parts of D&#8217;ni in Uru Prime?</q></li>
64
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Yep! The DRC is making some parts of the cavern available. Small areas at first and then more as time passes.</q></li>
65
+
66
+ <li class="question"><cite class="sender vcard"><span class="nickname">Coren</span></cite>: <q>Will we be able to create our own ages?</q></li>
67
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q>We&#8217;d like that, but it&#8217;s a complicated issue. We&#8217;re working to define how the art of writing ages could be simplified. But it will take time.</q></li>
68
+
69
+ <li class="statement"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q>We&#8217;re working on the soundtrack now. Trying to add a bit more value to it. Like a small &#8220;making of&#8221; video that features some footage of Cyan people. It&#8217;s got a cool cover, too!</q></li>
70
+
71
+ <li class="question"><cite class="sender vcard"><span class="nickname">Foo</span></cite>: <q>Are there any plans to improve the avatar creation system? ie., height options?</q></li>
72
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> The primary improvements will be additional things to wear. Lots of things. Those will come first. Over time we can improve other aspects.</q></li>
73
+
74
+ <li class="question"><cite class="sender vcard"><span class="nickname">kpgdenver</span></cite>: <q>How have you managed to keep a sense of fun and creativity while managing what must be a pretty large business?</q></li>
75
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> It&#8217;s hard sometimes. So many things to worry about. But we&#8217;ve got a great team - that alone helps keep us fresh. It&#8217;s fun to work with these people. I do admit that sometimes the job is REALLY tough. But right now - is the FUN part!</q></li>
76
+
77
+ <li class="question"><cite class="sender vcard"><span class="nickname">LadyKira</span></cite>: <q>Will the Age in URU Prime ever change?</q></li>
78
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Yes. That&#8217;s one of the interesting parts of UruLive. Nothing dies. The connection allows us to keep the worlds alive. Adding new areas, and updating old ones as time passes.</q></li>
79
+
80
+ <li class="question"><cite class="sender vcard"><span class="nickname">ElusiveOne</span></cite>: <q>When D&#8217;ni is open to everyone, how often do you anticipate opening new areas and adding new content?</q></li>
81
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> We&#8217;d like small things to happen on a daily basis. Larger things on a weekly basis, and entire ages happening roughly monthly.</q></li>
82
+
83
+ <li class="question"><cite class="sender vcard"><span class="nickname">Funktion</span></cite>: <q>Will you be able to explore the Live game alone. Meaning, online, but not seeing anyone else, if you so choose?</q></li>
84
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Good question. Yes. Many people will choose to explore by themselves and they&#8217;re welcome to. They&#8217;ll have to stay away from the city obviously. But after time, they may find that they actually enjoy exploring with others.</q></li>
85
+
86
+ <li class="question"><cite class="sender vcard"><span class="nickname">xcap</span></cite>: <q>Will the new ages in Uru Live be as big and detailed as those in Uru Prime?</q></li>
87
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Some bigger, some smaller. I&#8217;ve had the pleasure of already seeing some of the ages that the DRC has discovered. Some really interesting small ones and some remarkably intriguing large ones - some larger than anything prime has.</q></li>
88
+
89
+ <li class="question"><cite class="sender vcard"><span class="nickname">BlasterCalm</span></cite>: <q>You worked on Uru for more than five years now. The game will be launched this week. What is your greatest fear ?</q></li>
90
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> That people won&#8217;t understand what it is. Since it doesn&#8217;t fit neatly into existing gaming catagories, it might take some time for people to begin to understand what Uru is. I hope it has a chance to &#8220;ramp up&#8221; gracefully.</q></li>
91
+
92
+ <li class="question"><cite class="sender vcard"><span class="nickname">David_Peace</span></cite>: <q>Will ages ever become &#8216;obsolete&#8217;?</q></li>
93
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Yes and no. Sometimes ages will go away, and only those people who have copies of them will retain them. New players having to be invited by older players. But most of the time ages will just continue to get better. Always changing and offering something new. Imagine if we could have done that with Myst and it&#8217;s ages.</q></li>
94
+
95
+ <li class="question"><cite class="sender vcard"><span class="nickname">frankenc</span></cite>: <q>What is the expected final open date for URU Live?</q></li>
96
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Uru Live will go live on Friday in a prologue mode - meaning limited number of players as we grow things. Beyond that, things will ramp up over time.</q></li>
97
+
98
+ <li class="question"><cite class="sender vcard"><span class="nickname">mateo</span></cite>: <q>Why couldn&#8217;t we take the journey to D&#8217;ni through the tunnel instead of linking there?</q></li>
99
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> I think that the idea is that many people may not have wanted to take the long way down. Although I think I would enjoy it.</q></li>
100
+
101
+ <li class="question"><cite class="sender vcard"><span class="nickname">SFT</span></cite>: <q>Will the DRC characters be played by dedicated voice actors, or by Cyantists, or both?</q></li>
102
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> What do you mean &#8220;played by&#8221;? Victor would be insulted! ;)</q></li>
103
+
104
+ <li class="question"><cite class="sender vcard"><span class="nickname">Jerle</span></cite>: <q>What is your personnal favorite age?</q></li>
105
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> I&#8217;m too diplomatic to pick one. Although I have been known to been found wandering around in Kadish.</q></li>
106
+
107
+ <li class="question"><cite class="sender vcard"><span class="nickname">lonelyto25</span></cite>: <q>Will Uru live feature lonelyto25 is NOT Rand Miller t-shirts?</q></li>
108
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> We&#8217;re working on those now. But it&#8217;s hard to fit all those words on the shirt. ;)</q></li>
109
+
110
+ <li class="question"><cite class="sender vcard"><span class="nickname">xbouxboux</span></cite>: <q>Have you seen anything happen in the online world that surprised you?</q></li>
111
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> I think I enjoyed the &#8220;base&#8221; jumping that was popular for a while. Oh, and in early versions people found out how to slide down the main stairs in the city.</q></li>
112
+
113
+ <li class="question"><cite class="sender vcard"><span class="nickname">ElusiveOne</span></cite>: <q>In Uru Live, will we be interacting with more non-player characters and creatures?</q></li>
114
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Our goal is to let people interact with live people. It&#8217;s much more realistic that way. The NPC&#8217;s always seem a bit flat - if you know what I mean.</q></li>
115
+
116
+ <li class="question"><cite class="sender vcard"><span class="nickname">EyeDe</span></cite>: <q>You&#8217;ve obviously spent a lot of time making URU, will you spend some time playing the game now?</q></li>
117
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> It is fun for me to go wander around the city and meet people - find out what they like and what they don&#8217;t like. So yeah - I&#8217;l; be playing - you&#8217;ll see me around. You&#8217;ll know it&#8217;s me by the fact that the name is Rand, and it looks like me. :)</q></li>
118
+
119
+ <li class="question"><cite class="sender vcard"><span class="nickname">DigDug</span></cite>: <q>What kind of mini-games can people play together?</q></li>
120
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> There are a few. The first of which is an an ancient D&#8217;ni game called Ahyoheek. The heek tables are found in the neighborhoods. I&#8217;m not sure how soon the DRC is planning on moving them in. Beyond that, I&#8217;ll let you discover.</q></li>
121
+
122
+ <li class="question"><cite class="sender vcard"><span class="nickname">Nath5000</span></cite>: <q>Will we ever be able to revisit ages that we played in the other myst series games?</q></li>
123
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> I can&#8217;t speak for the DRC. They&#8217;re the ones who control the ages. All I know is that I&#8217;d love to. Even K&#8217;veer is interesting.</q></li>
124
+
125
+ <li class="question"><cite class="sender vcard"><span class="nickname">linkerjpatrick</span></cite>: <q>How is the progress on the Lake light levels coming?</q></li>
126
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Lake light levels continue to be a problem. I think the algae is much more complex then what was originally thought. But I&#8217;ve heard they&#8217;re made some breakthroughs based on recent discoveries.</q></li>
127
+
128
+ <li class="question"><cite class="sender vcard"><span class="nickname">RoBas</span></cite>: <q>How can I meet other people if I don&#8217;t know any friends who are playing URU, in other words, how can I meet new people?</q></li>
129
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> There are a few ways. The city is one - it will be full of strangers. But there will also be neighborhoods set aside for public usage. They&#8217;re good places for new people to go.</q></li>
130
+
131
+ <li class="question"><cite class="sender vcard"><span class="nickname">mateo</span></cite>: <q>Will we see any advertising in URU?</q></li>
132
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> None that I know of. I think that people may have mis-interpreted a recent press release. I think the point of that press release was that the DRC was now getting some funding and support from Ubi to continue their efforts.</q></li>
133
+
134
+ <li class="question"><cite class="sender vcard"><span class="nickname">Felipe565</span></cite>: <q>Will there be wildlife in the ages?</q></li>
135
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> I personally seen quite a bit of wildlife. From bugs to some rather large creatures that I didn&#8217;t want to get too close to.</q></li>
136
+
137
+ <li class="question"><cite class="sender vcard"><span class="nickname">dusante</span></cite>: <q>Are there any easter eggs in uru? can you tell us or hint us on any of them?</q></li>
138
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Yes. No.</q></li>
139
+
140
+ <li class="question"><cite class="sender vcard"><span class="nickname">many people</span></cite>: <q>What the status on a possible Mac version?</q></li>
141
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Looking good. Let me start by saying that I use a Mac so I really want one. Beyond that we are working hard to make the Mac version happen. Uru was much more difficult than we had anticipated. The Mac version fell out as a necessity just so we could get Uru done at all. Now we are trying to make it happen again.</q></li>
142
+
143
+ <li class="question"><cite class="sender vcard"><span class="nickname">many people</span></cite>: <q>What will Uru Live cost?</q></li>
144
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> It will likely be comparable to other persistant online games (10 - 15 USD range)</q></li>
145
+
146
+ <li class="question"><cite class="sender vcard"><span class="nickname">BobFM</span></cite>: <q>Can we walk from one neighborhood to another?</q></li>
147
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Oddly enough, no. The D&#8217;ni added some level of security to their neighborhoods by not separating them. The Nexus is the primary means of getting around.</q></li>
148
+
149
+ <li class="question"><cite class="sender vcard"><span class="nickname">Meng</span></cite>: <q>How different was the development of URU compared to the other Myst games?</q></li>
150
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> REALLY, REALLY, REALLY HARD! So many technological challenges.</q></li>
151
+
152
+ <li class="question"><cite class="sender vcard"><span class="nickname">Sivrehn</span></cite>: <q>How many mehods of fast-transportation (besides linking Books) were discovered in the City, if any? (vehicles, animals or others..)</q></li>
153
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> I&#8217;ve noticed quite a few - not all of which still function. The Nexus of course, and I&#8217;ve seen boats and construction vehicles. I&#8217;ve seen pictures of animals being ridden, but haven&#8217;t seen any.</q></li>
154
+
155
+ <li class="question"><cite class="sender vcard"><span class="nickname">DigDug</span></cite>: <q>For how long do you forsee new Ages and content coming out for Uru?</q></li>
156
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> For as long as you are interested in coming down to D&#8217;ni. There is more than enough to keep us busy for years to come.</q></li>
157
+
158
+ <li class="question"><cite class="sender vcard"><span class="nickname">Scraper</span></cite>: <q>We&#8217;ve been seeing a lot of construction cones and barriers. Will they play an important part in telling the URU story?</q></li>
159
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> The DRC is intent on safety. It has to do with Dr. Watson&#8217;s concerns.</q></li>
160
+
161
+ <li class="question"><cite class="sender vcard"><span class="nickname">Coren</span></cite>: <q>Can you die or get injured in URU?</q></li>
162
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> You won&#8217;t die, but you can still attempt dangerous things and feel some fear. Just be ready to link out quickly - if you happen to fall off of a high cliff!</q></li>
163
+
164
+ <li class="question"><cite class="sender vcard"><span class="nickname">Kha&#8217;Tie</span></cite>: <q>Even when I&#8217;ve seen an age many times, I still feel its magic when I visit. Is it like that for Cyan and the DRC too?</q></li>
165
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> It&#8217;s always magic. I think it&#8217;s because I&#8217;m still not sure that I&#8217;ve seen everything. There are certain things that change, and then there is the simple fact that the ages have so many layers. Sometimes I miss so much my first time through.</q></li>
166
+
167
+ <li class="question"><cite class="sender vcard"><span class="nickname">Aison</span></cite>: <q>After completing the single player portion of Uru, how many new ages will be exclusively available online to explore with others at launch?</q></li>
168
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> They&#8217;ll be several additional places to go right away, and as time goes on that will expand. The DRC has been exploring some pretty remarkable places lately. Wait until you see Er&#8217;cana. :)</q></li>
169
+
170
+ <li class="question"><cite class="sender vcard"><span class="nickname">FishCat</span></cite>: <q>Will people who connect with a modem be able to play Uru? For some MMORPGs (such as Star Wars Galaxies) are playable, with negligible lag, on a 56K modem.</q></li>
171
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Lag really isn&#8217;t the issue. It&#8217;s the need for large updates on a regular basis, such as when new Ages are opened, that make the broadband requirement necessary. Our primary use of the connection is to always supply new content. We want you to always wonder what&#8217;s new.</q></li>
172
+
173
+ <li class="question"><cite class="sender vcard"><span class="nickname">VanderVecken</span></cite>: <q>What&#8217;s the most interesting thing to you about Uru?</q></li>
174
+ <li class="answer"><cite class="sender vcard"><span class="fn">Rand Miller</span></cite>: <q> Unlike this chat - the idea that it never has to end! :)</q></li>
175
+ </ol>
176
+ </div>
177
+
178
+ </div>
179
+ <div id="sidebar">
180
+ <h2>Sidebar</h2>
181
+
182
+ <h3>What&#8217;s This?</h3>
183
+ <p>Stoneship is the personal web site of Denis Defreyne. It is a collection of thoughts on web design, programming, and more. <a href="/about/">Read more</a>.</p>
184
+ <p>Denis Defreyne is a 20-year-old student, developer and web designer living in Scheldewindeke, Belgium.</p>
185
+
186
+ <h3>Worth Seeing</h3>
187
+ <script type="text/javascript" src="http://del.icio.us/feeds/js/ddfreyne?extended;count=5;title=Stoneship"></script>
188
+ <noscript><p>Aww, you don&#8217;t have JavaScript enabled&hellip; you&#8217;ll need that to see my recent links here.</p></noscript>
189
+ <p>Check out <a href="http://del.icio.us/ddfreyne/">my del.icio.us page</a> for more links, and <a href="http://del.icio.us/network?add=ddfreyne">add me to your del.icio.us network</a>.</p>
190
+ </div>
191
+ </div>
192
+ <script type="text/javascript" src="http://embed.technorati.com/embed/dqreabfff.js"></script>
193
+ <div id="footer-top" class="footer">
194
+ <div class="wrapper">
195
+ <h2>Footer</h2>
196
+ <div class="block recent-posts">
197
+ <h3>Recent Posts</h3>
198
+ <ul>
199
+ <li><a rel="bookmark" href="/journal/static/">Static</a>: Now serving nothing but static HTML. (Apr 10)</li>
200
+ <li><a rel="bookmark" href="/journal/thoughts-on-sparkle/">Thoughts on Sparkle</a>: what about an Indie Software Update? (Mar 16)</li>
201
+ <li><a rel="bookmark" href="/journal/uru-photography/">Uru Photography</a>: capturing beauty in screenshots (Feb 28)</li>
202
+ <li><a rel="bookmark" href="/journal/myst-blogs-uru-blogs-20/">Myst Blogs and Uru Blogs 2.0</a>: BETA! Only not... (Feb 8)</li>
203
+ <li><a rel="bookmark" href="/journal/c-reference-counting-and-you/">C Reference Counting and You</a>: easier management using references (Feb 8)</li>
204
+ </ul>
205
+ </div>
206
+ <div class="block archives">
207
+ <h3>Archives</h3>
208
+ <ul class="archives">
209
+ <li><a href="/journal/#Apr_2007">April 2007</a></li>
210
+ <li><a href="/journal/#Mar_2007">March 2007</a></li>
211
+ <li><a href="/journal/#Feb_2007">February 2007</a></li>
212
+ <li><a href="/journal/#Jan_2007">January 2007</a></li>
213
+ <li><a href="/journal/#Dec_2006">December 2006</a></li>
214
+ </ul>
215
+ <p>Stay tuned and subscribe to the <a href="http://feeds.feedburner.com/stoneship" rel="feed">blog feed</a>!</p>
216
+ </div>
217
+ </div>
218
+ </div>
219
+ <div id="footer-bottom" class="footer">
220
+ <div class="wrapper">
221
+ <p class="copyright">All content on this site, unless otherwise specified, is <a href="/about/#legal">Copyright</a> &#169; 2000-2007 Denis Defreyne. Some Rights Reserved. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.0/be/">Creative Commons Attribution-ShareAlike 2.0 Belgium License</a>.</p>
222
+ </div>
223
+ </div>
224
+ </body>
225
+ </html>
@@ -107,6 +107,18 @@ context "The parsed Bob hCard object" do
107
107
  end
108
108
  end
109
109
 
110
+ context "The parsed Stoneship hCard objects" do
111
+ setup do
112
+ $stoneship ||= HCard.find(:all => fixture(:stoneship))
113
+ end
114
+
115
+ specify "should ony have String nicknames" do
116
+ $stoneship.collect { |h| h.nickname }.compact.uniq.each do |nickname|
117
+ nickname.should.be.an.instance_of String
118
+ end
119
+ end
120
+ end
121
+
110
122
  context "The parsed simple hCard object" do
111
123
  setup do
112
124
  $simple ||= HCard.find(:first => fixture(:simple))
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: mofo
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.2.1
7
- date: 2007-03-27 00:00:00 -07:00
6
+ version: 0.2.2
7
+ date: 2007-04-14 00:00:00 -07:00
8
8
  summary: mofo is a ruby microformat parser
9
9
  require_paths:
10
10
  - lib
@@ -39,6 +39,7 @@ files:
39
39
  - lib/microformat/array.rb
40
40
  - lib/microformat/simple.rb
41
41
  - lib/microformat/string.rb
42
+ - lib/microformat/time.rb
42
43
  - lib/mofo/adr.rb
43
44
  - lib/mofo/geo.rb
44
45
  - lib/mofo/hcalendar.rb
@@ -75,6 +76,7 @@ files:
75
76
  - test/fixtures/hresume.html
76
77
  - test/fixtures/include_pattern_single_attribute.html
77
78
  - test/fixtures/simple.html
79
+ - test/fixtures/stoneship.html
78
80
  - test/fixtures/upcoming.html
79
81
  - test/fixtures/upcoming_single.html
80
82
  - test/fixtures/xfn.html