ruote-beanstalk 2.1.10 → 2.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.txt +9 -1
- data/CREDITS.txt +15 -0
- data/README.md +26 -24
- data/Rakefile +10 -23
- data/TODO.txt +9 -2
- data/doc/storages.graffle/QuickLook/Preview.pdf +0 -0
- data/doc/storages.graffle/QuickLook/Thumbnail.tiff +0 -0
- data/doc/storages.graffle/data.plist +97 -95
- data/doc/storages.graffle/image3.png +0 -0
- data/doc/storages.graffle/image4.png +0 -0
- data/doc/storages.png +0 -0
- data/lib/ruote/beanstalk/fork.rb +1 -1
- data/lib/ruote/beanstalk/participant.rb +1 -145
- data/lib/ruote/beanstalk/participant_proxy.rb +157 -0
- data/lib/ruote/beanstalk/receiver.rb +16 -16
- data/lib/ruote/beanstalk/storage.rb +65 -26
- data/lib/ruote/beanstalk/version.rb +1 -1
- data/readme.rdoc +5 -0
- data/ruote-beanstalk.gemspec +18 -15
- data/serve.rb +1 -1
- data/test/functional/ft_0_participant.rb +3 -3
- data/test/functional/ft_1_receiver.rb +5 -5
- data/test/functional_connection.rb +1 -1
- metadata +23 -12
- data/doc/storages.graffle/image1.png +0 -0
- data/doc/storages.graffle/image2.png +0 -0
data/CHANGELOG.txt
CHANGED
@@ -2,7 +2,15 @@
|
|
2
2
|
= ruote-beanstalk - CHANGELOG.txt
|
3
3
|
|
4
4
|
|
5
|
-
== ruote-beanstalk 2.1.
|
5
|
+
== ruote-beanstalk 2.1.11 released 2010/10/13
|
6
|
+
|
7
|
+
- BsStorage -> Storage
|
8
|
+
- ParticipantProxy closes conn after each despatching
|
9
|
+
- BsParticipant -> ParticipantProxy, BsReceiver -> Receiver
|
10
|
+
- Ruote::Beanstalk::Storage.close (shutdown in fact)
|
11
|
+
|
12
|
+
|
13
|
+
== ruote-beanstalk 2.1.10 released 2010/06/15
|
6
14
|
|
7
15
|
- initial release
|
8
16
|
|
data/CREDITS.txt
ADDED
data/README.md
CHANGED
@@ -1,50 +1,52 @@
|
|
1
1
|
|
2
2
|
# ruote-beanstalk
|
3
3
|
|
4
|
-
Beanstalk extensions for ruote 2.1 (a Ruby workflow engine).
|
4
|
+
Beanstalk extensions for [ruote](http://ruote.rubyforge.org) 2.1 (a Ruby workflow engine).
|
5
5
|
|
6
|
-
|
6
|
+
[Beanstalk is a simple, fast workqueue service](http://kr.github.com/beanstalkd/).
|
7
7
|
|
8
|
-
ruote-beanstalk provides
|
8
|
+
ruote-beanstalk provides two things, **first** a ParticipantProxy / Receiver pair, **second** a ruote storage implementation.
|
9
9
|
|
10
|
-
|
10
|
+
The ParticipantProxy / Receiver pair is about emitting workitems to a Beanstalk queue/tube and listening/receiving them back. Workers can connect to the Beanstalk queue, receive workitems, do some work and then (optionally) send the updated workitem back to the ruote system.
|
11
11
|
|
12
|
-
|
12
|
+
Ruote::Beanstalk::Storage is a storage implementation for ruote. Workers and engines can connect over Beanstalk to a shared storage.
|
13
|
+
|
14
|
+
The storage listens to a Beanstalk queue where it receives storage orders that it conveys to a FsStorage instance.
|
13
15
|
|
14
16
|
(Initially I tried to use Beanstalk for msgs and schedules as well, but since you can't delete a delayed message in Beanstalk (as of now), I fell back to using Beanstalk as middleware, it's slightly slower, but much simpler and robust).
|
15
17
|
|
16
|
-
|
18
|
+
rdoc : [http://ruote.rubyforge.org/ruote-beanstalk_rdoc/](http://ruote.rubyforge.org/ruote-beanstalk_rdoc/)
|
17
19
|
|
18
20
|
|
19
21
|
## usage
|
20
22
|
|
21
|
-
### Ruote::Beanstalk::
|
23
|
+
### Ruote::Beanstalk::ParticipantProxy and Receiver
|
22
24
|
|
23
25
|
Registering a Beanstalk participant :
|
24
26
|
|
25
27
|
@engine.register_participant(
|
26
28
|
'alpha',
|
27
|
-
Ruote::Beanstalk::
|
29
|
+
Ruote::Beanstalk::ParticipantProxy,
|
28
30
|
'beanstalk' => '127.0.0.1:11300',
|
29
31
|
'tube' => 'ruote-workitems')
|
30
32
|
|
31
33
|
|
32
34
|
Binding a listener to a storage or an engine :
|
33
35
|
|
34
|
-
Ruote::Beanstalk::
|
36
|
+
Ruote::Beanstalk::Receiver.new(
|
35
37
|
engine, '127.0.0.1:11300', 'tube' => 'ruote-incoming')
|
36
38
|
|
37
39
|
# or
|
38
40
|
|
39
|
-
Ruote::Beanstalk::
|
41
|
+
Ruote::Beanstalk::Receiver.new(
|
40
42
|
storage, '127.0.0.1:11300', 'tube' => 'ruote-incoming')
|
41
43
|
|
42
44
|
The receiver manages a thread that listens to incoming messages and feeds them to ruote via the engine or directly via a storage.
|
43
45
|
|
44
46
|
|
45
|
-
### Ruote::Beanstalk::
|
47
|
+
### Ruote::Beanstalk::Storage
|
46
48
|
|
47
|
-
There are two modes in which
|
49
|
+
There are two modes in which Storage can be used :
|
48
50
|
|
49
51
|
* bound to a remote storage (client)
|
50
52
|
* bound to the physical storage (server)
|
@@ -60,13 +62,13 @@ Beanstalk is the intermediary.
|
|
60
62
|
|
61
63
|
Pass a string of the form host:port and a hash of options :
|
62
64
|
|
63
|
-
Ruote::Beanstalk::
|
65
|
+
Ruote::Beanstalk::Storage.new('127.0.0.1:11300', opts)
|
64
66
|
|
65
67
|
Wrapped in an engine + worker :
|
66
68
|
|
67
69
|
engine = Ruote::Engine.new(
|
68
70
|
Ruote::Worker.new(
|
69
|
-
Ruote::Beanstalk::
|
71
|
+
Ruote::Beanstalk::Storage.new('127.0.0.1:11300', opts)))
|
70
72
|
|
71
73
|
#### server
|
72
74
|
|
@@ -74,12 +76,12 @@ This piece of ruby starts a Beanstalk instance (:fork => true) and starts a BsSt
|
|
74
76
|
|
75
77
|
require 'ruote/beanstalk'
|
76
78
|
|
77
|
-
Ruote::Beanstalk::
|
79
|
+
Ruote::Beanstalk::Storage.new(':11300', 'ruote_work', :fork => true)
|
78
80
|
|
79
81
|
|
80
82
|
## running tests
|
81
83
|
|
82
|
-
### Ruote::Beanstalk::
|
84
|
+
### Ruote::Beanstalk::ParticipantProxy and Receiver
|
83
85
|
|
84
86
|
Simply do
|
85
87
|
|
@@ -88,7 +90,7 @@ Simply do
|
|
88
90
|
in your ruote-beanstalk/ directory.
|
89
91
|
|
90
92
|
|
91
|
-
### Ruote::Beanstalk::
|
93
|
+
### Ruote::Beanstalk::Storage
|
92
94
|
|
93
95
|
assuming you have
|
94
96
|
|
@@ -106,13 +108,13 @@ To launch a beanstalkd + fs storage couple, then run unit or functional tests
|
|
106
108
|
|
107
109
|
get into ruote/ and do
|
108
110
|
|
109
|
-
ruby test/unit/storage.rb --beanstalk
|
111
|
+
ruby test/unit/storage.rb -- --beanstalk
|
110
112
|
|
111
113
|
* functional tests :
|
112
114
|
|
113
115
|
get into ruote/ and do
|
114
116
|
|
115
|
-
ruby test/functional/test.rb --beanstalk
|
117
|
+
ruby test/functional/test.rb -- --beanstalk
|
116
118
|
|
117
119
|
|
118
120
|
## license
|
@@ -122,15 +124,15 @@ MIT
|
|
122
124
|
|
123
125
|
## links
|
124
126
|
|
125
|
-
* http://kr.github.com/beanstalkd/
|
126
|
-
|
127
|
-
* http://ruote.
|
128
|
-
* http://github.com/jmettraux/ruote-beanstalk
|
127
|
+
* [http://kr.github.com/beanstalkd/](http://kr.github.com/beanstalkd/)
|
128
|
+
* [http://ruote.rubyforge.org/](http://ruote.rubyforge.org/)
|
129
|
+
* [http://github.com/jmettraux/ruote-beanstalk](http://github.com/jmettraux/ruote-beanstalk)
|
129
130
|
|
130
131
|
|
131
132
|
## feedback
|
132
133
|
|
133
|
-
mailing list : http://groups.google.com/group/openwferu-users
|
134
|
+
mailing list : [http://groups.google.com/group/openwferu-users](http://groups.google.com/group/openwferu-users)
|
135
|
+
|
134
136
|
irc : irc.freenode.net #ruote
|
135
137
|
|
136
138
|
|
data/Rakefile
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
|
2
|
+
$:.unshift('.') # ruby 1.9.2
|
3
|
+
|
2
4
|
require 'rubygems'
|
3
5
|
require 'rake'
|
4
6
|
|
@@ -33,8 +35,8 @@ Beanstalk participant/receiver/storage for ruote (a Ruby workflow engine)
|
|
33
35
|
gem.test_file = 'test/test.rb'
|
34
36
|
|
35
37
|
gem.add_dependency 'ruote', ">= #{Ruote::Beanstalk::VERSION}"
|
36
|
-
gem.add_dependency 'rufus-cloche', '>= 0.1.
|
37
|
-
gem.add_dependency 'beanstalk-client', '>= 1.0
|
38
|
+
gem.add_dependency 'rufus-cloche', '>= 0.1.20'
|
39
|
+
gem.add_dependency 'beanstalk-client', '>= 1.1.0'
|
38
40
|
gem.add_development_dependency 'yard'
|
39
41
|
gem.add_development_dependency 'rake'
|
40
42
|
gem.add_development_dependency 'jeweler'
|
@@ -47,40 +49,25 @@ Jeweler::GemcutterTasks.new
|
|
47
49
|
#
|
48
50
|
# DOC
|
49
51
|
|
50
|
-
#begin
|
51
|
-
#
|
52
|
-
# require 'yard'
|
53
|
-
#
|
54
|
-
# YARD::Rake::YardocTask.new do |doc|
|
55
|
-
# doc.options = [
|
56
|
-
# '-o', 'html/ruote-beanstalk', '--title',
|
57
|
-
# "ruote-beanstalk #{Ruote::Beanstalk::VERSION}"
|
58
|
-
# ]
|
59
|
-
# end
|
60
|
-
#
|
61
|
-
#rescue LoadError
|
62
|
-
#
|
63
|
-
# task :yard do
|
64
|
-
# abort "YARD is not available : sudo gem install yard"
|
65
|
-
# end
|
66
|
-
#end
|
67
|
-
|
68
52
|
#
|
69
53
|
# make sure to have rdoc 2.5.x to run that
|
70
54
|
#
|
71
55
|
require 'rake/rdoctask'
|
72
56
|
Rake::RDocTask.new do |rd|
|
73
|
-
|
57
|
+
|
58
|
+
rd.main = 'readme.rdoc'
|
74
59
|
rd.rdoc_dir = 'rdoc/ruote-beanstalk_rdoc'
|
75
|
-
rd.rdoc_files.include('README.rdoc', 'CHANGELOG.txt', 'lib/**/*.rb')
|
76
60
|
rd.title = "ruote-beanstalk #{Ruote::Beanstalk::VERSION}"
|
61
|
+
|
62
|
+
rd.rdoc_files.include(
|
63
|
+
'readme.rdoc', 'CHANGELOG.txt', 'CREDITS.txt', 'lib/**/*.rb')
|
77
64
|
end
|
78
65
|
|
79
66
|
|
80
67
|
#
|
81
68
|
# TO THE WEB
|
82
69
|
|
83
|
-
task :
|
70
|
+
task :upload_rdoc => [ :clean, :rdoc ] do
|
84
71
|
|
85
72
|
account = 'jmettraux@rubyforge.org'
|
86
73
|
webdir = '/var/www/gforge-projects/ruote'
|
data/TODO.txt
CHANGED
@@ -13,8 +13,15 @@
|
|
13
13
|
[o] security issue in #serve (send)
|
14
14
|
[o] receiver : launchitem ?
|
15
15
|
[o] 'commands' channel : better name ?
|
16
|
+
[o] rw : document participant / receiver (use bs as an example)
|
17
|
+
[o] storage.close
|
18
|
+
[o] ParticipantProxy ?
|
19
|
+
[x] operate : better name ?
|
20
|
+
[x] what about receiver connections that timed out ? Is it possible ?
|
16
21
|
|
17
|
-
[
|
22
|
+
[x] base64 encode/decode to allow for non-ascii values
|
23
|
+
=> add some 漢字 test to ruote/test/unit/storage.rb
|
24
|
+
This is a beanstalk-client vs ruby 1.9.x problem
|
18
25
|
|
19
|
-
[ ]
|
26
|
+
[ ] follow example of latest ruote-amqp (for what ?)
|
20
27
|
|
Binary file
|
Binary file
|
@@ -7,14 +7,14 @@
|
|
7
7
|
<key>ApplicationVersion</key>
|
8
8
|
<array>
|
9
9
|
<string>com.omnigroup.OmniGraffle</string>
|
10
|
-
<string>138.
|
10
|
+
<string>138.17.0.133677</string>
|
11
11
|
</array>
|
12
12
|
<key>AutoAdjust</key>
|
13
13
|
<true/>
|
14
14
|
<key>BackgroundGraphic</key>
|
15
15
|
<dict>
|
16
16
|
<key>Bounds</key>
|
17
|
-
<string>{{0, 0}, {
|
17
|
+
<string>{{0, 0}, {559, 783}}</string>
|
18
18
|
<key>Class</key>
|
19
19
|
<string>SolidGraphic</string>
|
20
20
|
<key>ID</key>
|
@@ -44,20 +44,20 @@
|
|
44
44
|
<key>Creator</key>
|
45
45
|
<string>John Mettraux</string>
|
46
46
|
<key>DisplayScale</key>
|
47
|
-
<string>1 0/72 in = 1
|
47
|
+
<string>1 0/72 in = 1.0000 in</string>
|
48
48
|
<key>GraphDocumentVersion</key>
|
49
49
|
<integer>6</integer>
|
50
50
|
<key>GraphicsList</key>
|
51
51
|
<array>
|
52
52
|
<dict>
|
53
53
|
<key>Bounds</key>
|
54
|
-
<string>{{
|
54
|
+
<string>{{29, 26}, {484, 65}}</string>
|
55
55
|
<key>Class</key>
|
56
56
|
<string>ShapedGraphic</string>
|
57
57
|
<key>ID</key>
|
58
|
-
<integer>
|
58
|
+
<integer>17</integer>
|
59
59
|
<key>ImageID</key>
|
60
|
-
<integer>
|
60
|
+
<integer>4</integer>
|
61
61
|
<key>Shape</key>
|
62
62
|
<string>Rectangle</string>
|
63
63
|
<key>Style</key>
|
@@ -76,75 +76,13 @@
|
|
76
76
|
</dict>
|
77
77
|
<dict>
|
78
78
|
<key>Bounds</key>
|
79
|
-
<string>{{
|
79
|
+
<string>{{29, 331}, {395, 108}}</string>
|
80
80
|
<key>Class</key>
|
81
81
|
<string>ShapedGraphic</string>
|
82
|
-
<key>FontInfo</key>
|
83
|
-
<dict>
|
84
|
-
<key>Color</key>
|
85
|
-
<dict>
|
86
|
-
<key>w</key>
|
87
|
-
<string>0</string>
|
88
|
-
</dict>
|
89
|
-
<key>Font</key>
|
90
|
-
<string>HelveticaNeue</string>
|
91
|
-
<key>NSKern</key>
|
92
|
-
<real>0.0</real>
|
93
|
-
<key>Size</key>
|
94
|
-
<real>12</real>
|
95
|
-
</dict>
|
96
82
|
<key>ID</key>
|
97
|
-
<integer>
|
98
|
-
<key>Shape</key>
|
99
|
-
<string>Rectangle</string>
|
100
|
-
<key>Style</key>
|
101
|
-
<dict>
|
102
|
-
<key>fill</key>
|
103
|
-
<dict>
|
104
|
-
<key>Draws</key>
|
105
|
-
<string>NO</string>
|
106
|
-
<key>GradientColor</key>
|
107
|
-
<dict>
|
108
|
-
<key>w</key>
|
109
|
-
<string>1</string>
|
110
|
-
</dict>
|
111
|
-
<key>MiddleFraction</key>
|
112
|
-
<real>0.13492070138454437</real>
|
113
|
-
</dict>
|
114
|
-
<key>stroke</key>
|
115
|
-
<dict>
|
116
|
-
<key>Cap</key>
|
117
|
-
<integer>0</integer>
|
118
|
-
<key>Color</key>
|
119
|
-
<dict>
|
120
|
-
<key>b</key>
|
121
|
-
<string>0.494118</string>
|
122
|
-
<key>g</key>
|
123
|
-
<string>0.494118</string>
|
124
|
-
<key>r</key>
|
125
|
-
<string>0.494118</string>
|
126
|
-
</dict>
|
127
|
-
<key>Join</key>
|
128
|
-
<integer>0</integer>
|
129
|
-
</dict>
|
130
|
-
</dict>
|
131
|
-
<key>Text</key>
|
132
|
-
<dict>
|
133
|
-
<key>Align</key>
|
134
|
-
<integer>0</integer>
|
135
|
-
<key>VerticalPad</key>
|
136
|
-
<integer>0</integer>
|
137
|
-
</dict>
|
138
|
-
</dict>
|
139
|
-
<dict>
|
140
|
-
<key>Bounds</key>
|
141
|
-
<string>{{13, 25}, {498, 50}}</string>
|
142
|
-
<key>Class</key>
|
143
|
-
<string>ShapedGraphic</string>
|
144
|
-
<key>ID</key>
|
145
|
-
<integer>10</integer>
|
83
|
+
<integer>16</integer>
|
146
84
|
<key>ImageID</key>
|
147
|
-
<integer>
|
85
|
+
<integer>3</integer>
|
148
86
|
<key>Shape</key>
|
149
87
|
<string>Rectangle</string>
|
150
88
|
<key>Style</key>
|
@@ -180,8 +118,8 @@
|
|
180
118
|
<integer>9</integer>
|
181
119
|
<key>Points</key>
|
182
120
|
<array>
|
183
|
-
<string>{
|
184
|
-
<string>{
|
121
|
+
<string>{425.495, 198.67}</string>
|
122
|
+
<string>{403.937, 160.868}</string>
|
185
123
|
</array>
|
186
124
|
<key>Style</key>
|
187
125
|
<dict>
|
@@ -225,8 +163,8 @@
|
|
225
163
|
<integer>8</integer>
|
226
164
|
<key>Points</key>
|
227
165
|
<array>
|
228
|
-
<string>{
|
229
|
-
<string>{
|
166
|
+
<string>{196.083, 172.348}</string>
|
167
|
+
<string>{348.649, 144.137}</string>
|
230
168
|
</array>
|
231
169
|
<key>Style</key>
|
232
170
|
<dict>
|
@@ -253,7 +191,7 @@
|
|
253
191
|
</dict>
|
254
192
|
<dict>
|
255
193
|
<key>Bounds</key>
|
256
|
-
<string>{{
|
194
|
+
<string>{{114, 234}, {88, 79}}</string>
|
257
195
|
<key>Class</key>
|
258
196
|
<string>ShapedGraphic</string>
|
259
197
|
<key>FontInfo</key>
|
@@ -308,7 +246,7 @@
|
|
308
246
|
<key>Text</key>
|
309
247
|
<dict>
|
310
248
|
<key>Text</key>
|
311
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1038\
|
249
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
|
312
250
|
{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
|
313
251
|
{\colortbl;\red255\green255\blue255;}
|
314
252
|
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
|
@@ -320,7 +258,7 @@
|
|
320
258
|
</dict>
|
321
259
|
<dict>
|
322
260
|
<key>Bounds</key>
|
323
|
-
<string>{{
|
261
|
+
<string>{{65, 194}, {88, 79}}</string>
|
324
262
|
<key>Class</key>
|
325
263
|
<string>ShapedGraphic</string>
|
326
264
|
<key>FontInfo</key>
|
@@ -375,7 +313,7 @@
|
|
375
313
|
<key>Text</key>
|
376
314
|
<dict>
|
377
315
|
<key>Text</key>
|
378
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1038\
|
316
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
|
379
317
|
{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
|
380
318
|
{\colortbl;\red255\green255\blue255;}
|
381
319
|
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
|
@@ -387,7 +325,7 @@
|
|
387
325
|
</dict>
|
388
326
|
<dict>
|
389
327
|
<key>Bounds</key>
|
390
|
-
<string>{{
|
328
|
+
<string>{{108, 141}, {88, 79}}</string>
|
391
329
|
<key>Class</key>
|
392
330
|
<string>ShapedGraphic</string>
|
393
331
|
<key>FontInfo</key>
|
@@ -442,19 +380,19 @@
|
|
442
380
|
<key>Text</key>
|
443
381
|
<dict>
|
444
382
|
<key>Text</key>
|
445
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1038\
|
383
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
|
446
384
|
{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
|
447
385
|
{\colortbl;\red255\green255\blue255;}
|
448
386
|
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
|
449
387
|
|
450
|
-
\f0\fs24 \cf0
|
388
|
+
\f0\fs24 \cf0 Beanstalk::Storage}</string>
|
451
389
|
<key>VerticalPad</key>
|
452
390
|
<integer>0</integer>
|
453
391
|
</dict>
|
454
392
|
</dict>
|
455
393
|
<dict>
|
456
394
|
<key>Bounds</key>
|
457
|
-
<string>{{
|
395
|
+
<string>{{397, 196}, {99, 79}}</string>
|
458
396
|
<key>Class</key>
|
459
397
|
<string>ShapedGraphic</string>
|
460
398
|
<key>FontInfo</key>
|
@@ -509,19 +447,21 @@
|
|
509
447
|
<key>Text</key>
|
510
448
|
<dict>
|
511
449
|
<key>Text</key>
|
512
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1038\
|
450
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
|
513
451
|
{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
|
514
452
|
{\colortbl;\red255\green255\blue255;}
|
515
453
|
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
|
516
454
|
|
517
|
-
\f0\fs24 \cf0
|
455
|
+
\f0\fs24 \cf0 Beanstalk::\
|
456
|
+
Storage\
|
457
|
+
:fork => true}</string>
|
518
458
|
<key>VerticalPad</key>
|
519
459
|
<integer>0</integer>
|
520
460
|
</dict>
|
521
461
|
</dict>
|
522
462
|
<dict>
|
523
463
|
<key>Bounds</key>
|
524
|
-
<string>{{
|
464
|
+
<string>{{349, 113}, {82, 47}}</string>
|
525
465
|
<key>Class</key>
|
526
466
|
<string>ShapedGraphic</string>
|
527
467
|
<key>FontInfo</key>
|
@@ -576,7 +516,7 @@
|
|
576
516
|
<key>Text</key>
|
577
517
|
<dict>
|
578
518
|
<key>Text</key>
|
579
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1038\
|
519
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
|
580
520
|
{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
|
581
521
|
{\colortbl;\red255\green255\blue255;}
|
582
522
|
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
|
@@ -588,7 +528,7 @@
|
|
588
528
|
</dict>
|
589
529
|
<dict>
|
590
530
|
<key>Bounds</key>
|
591
|
-
<string>{{
|
531
|
+
<string>{{363, 87}, {149, 206}}</string>
|
592
532
|
<key>Class</key>
|
593
533
|
<string>ShapedGraphic</string>
|
594
534
|
<key>FontInfo</key>
|
@@ -648,6 +588,68 @@
|
|
648
588
|
<integer>0</integer>
|
649
589
|
</dict>
|
650
590
|
</dict>
|
591
|
+
<dict>
|
592
|
+
<key>Bounds</key>
|
593
|
+
<string>{{29, 130}, {195, 201}}</string>
|
594
|
+
<key>Class</key>
|
595
|
+
<string>ShapedGraphic</string>
|
596
|
+
<key>FontInfo</key>
|
597
|
+
<dict>
|
598
|
+
<key>Color</key>
|
599
|
+
<dict>
|
600
|
+
<key>w</key>
|
601
|
+
<string>0</string>
|
602
|
+
</dict>
|
603
|
+
<key>Font</key>
|
604
|
+
<string>HelveticaNeue</string>
|
605
|
+
<key>NSKern</key>
|
606
|
+
<real>0.0</real>
|
607
|
+
<key>Size</key>
|
608
|
+
<real>12</real>
|
609
|
+
</dict>
|
610
|
+
<key>ID</key>
|
611
|
+
<integer>12</integer>
|
612
|
+
<key>Shape</key>
|
613
|
+
<string>Rectangle</string>
|
614
|
+
<key>Style</key>
|
615
|
+
<dict>
|
616
|
+
<key>fill</key>
|
617
|
+
<dict>
|
618
|
+
<key>Draws</key>
|
619
|
+
<string>NO</string>
|
620
|
+
<key>GradientColor</key>
|
621
|
+
<dict>
|
622
|
+
<key>w</key>
|
623
|
+
<string>1</string>
|
624
|
+
</dict>
|
625
|
+
<key>MiddleFraction</key>
|
626
|
+
<real>0.13492070138454437</real>
|
627
|
+
</dict>
|
628
|
+
<key>stroke</key>
|
629
|
+
<dict>
|
630
|
+
<key>Cap</key>
|
631
|
+
<integer>0</integer>
|
632
|
+
<key>Color</key>
|
633
|
+
<dict>
|
634
|
+
<key>b</key>
|
635
|
+
<string>0.494118</string>
|
636
|
+
<key>g</key>
|
637
|
+
<string>0.494118</string>
|
638
|
+
<key>r</key>
|
639
|
+
<string>0.494118</string>
|
640
|
+
</dict>
|
641
|
+
<key>Join</key>
|
642
|
+
<integer>0</integer>
|
643
|
+
</dict>
|
644
|
+
</dict>
|
645
|
+
<key>Text</key>
|
646
|
+
<dict>
|
647
|
+
<key>Align</key>
|
648
|
+
<integer>0</integer>
|
649
|
+
<key>VerticalPad</key>
|
650
|
+
<integer>0</integer>
|
651
|
+
</dict>
|
652
|
+
</dict>
|
651
653
|
</array>
|
652
654
|
<key>GridInfo</key>
|
653
655
|
<dict/>
|
@@ -656,9 +658,9 @@
|
|
656
658
|
<key>GuidesVisible</key>
|
657
659
|
<string>YES</string>
|
658
660
|
<key>HPages</key>
|
659
|
-
<integer>
|
661
|
+
<integer>1</integer>
|
660
662
|
<key>ImageCounter</key>
|
661
|
-
<integer>
|
663
|
+
<integer>5</integer>
|
662
664
|
<key>ImageLinkBack</key>
|
663
665
|
<array>
|
664
666
|
<dict/>
|
@@ -666,8 +668,8 @@
|
|
666
668
|
</array>
|
667
669
|
<key>ImageList</key>
|
668
670
|
<array>
|
669
|
-
<string>
|
670
|
-
<string>
|
671
|
+
<string>image4.png</string>
|
672
|
+
<string>image3.png</string>
|
671
673
|
</array>
|
672
674
|
<key>KeepToScale</key>
|
673
675
|
<false/>
|
@@ -706,7 +708,7 @@
|
|
706
708
|
<key>MasterSheets</key>
|
707
709
|
<array/>
|
708
710
|
<key>ModificationDate</key>
|
709
|
-
<string>2010-06
|
711
|
+
<string>2010-10-06 23:04:24 +0900</string>
|
710
712
|
<key>Modifier</key>
|
711
713
|
<string>John Mettraux</string>
|
712
714
|
<key>NotesVisible</key>
|
@@ -777,7 +779,7 @@
|
|
777
779
|
</dict>
|
778
780
|
</array>
|
779
781
|
<key>Frame</key>
|
780
|
-
<string>{{
|
782
|
+
<string>{{585, 86}, {1140, 1070}}</string>
|
781
783
|
<key>ListView</key>
|
782
784
|
<true/>
|
783
785
|
<key>OutlineWidth</key>
|
@@ -791,7 +793,7 @@
|
|
791
793
|
<key>SidebarWidth</key>
|
792
794
|
<integer>120</integer>
|
793
795
|
<key>VisibleRegion</key>
|
794
|
-
<string>{{
|
796
|
+
<string>{{-223, -66}, {1005, 916}}</string>
|
795
797
|
<key>Zoom</key>
|
796
798
|
<real>1</real>
|
797
799
|
<key>ZoomValues</key>
|
Binary file
|
Binary file
|
data/doc/storages.png
CHANGED
Binary file
|