rubysync 0.0.3 → 0.0.4
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/HISTORY.txt +4 -0
- data/Manifest.txt +25 -12
- data/README.txt +0 -2
- data/bin/rubysync +20 -6
- data/bin/rubysync.rb +333 -0
- data/docs/in_pipeline.graffle +2690 -0
- data/docs/init_openldap.ldif +11 -0
- data/docs/out_pipeline.graffle +3274 -0
- data/docs/schema/99rubysync.ldif +27 -0
- data/docs/schema/rubysync.schema +16 -0
- data/docs/to_sync.txt +15 -0
- data/docs/walkthru.txt +186 -0
- data/lib/ruby_sync.rb +7 -29
- data/lib/ruby_sync/connectors/base_connector.rb +55 -86
- data/lib/ruby_sync/connectors/csv_file_connector.rb +16 -4
- data/lib/ruby_sync/connectors/ldap_associations.rb +126 -0
- data/lib/ruby_sync/connectors/ldap_changelog_connector.rb +127 -0
- data/lib/ruby_sync/connectors/ldap_connector.rb +29 -192
- data/lib/ruby_sync/connectors/memory_connector.rb +1 -1
- data/lib/ruby_sync/connectors/xml_connector.rb +105 -32
- data/lib/ruby_sync/event.rb +40 -12
- data/lib/ruby_sync/operation.rb +18 -2
- data/lib/ruby_sync/pipelines/base_pipeline.rb +44 -6
- data/lib/ruby_sync/util/utilities.rb +97 -4
- data/lib/rubysync.rb +1 -1
- data/rubysync.tmproj +279 -59
- data/test/.LCKts_rubysync.rb~ +1 -0
- data/test/ruby_sync_test.rb +9 -4
- data/test/{test_active_record_vault.rb → tc_active_record_connector.rb} +11 -7
- data/test/{test_base_connector.rb → tc_base_connector.rb} +1 -1
- data/test/{test_base_pipeline.rb → tc_base_pipeline.rb} +1 -1
- data/test/tc_changelog_ldap_connector.rb +93 -0
- data/test/{test_csv_file_connector.rb → tc_csv_file_connector.rb} +14 -5
- data/test/{test_event.rb → tc_event.rb} +1 -1
- data/test/{test_ldap_changelog.rb → tc_ldap_changelog.rb} +1 -1
- data/test/{test_ldap_connector.rb → tc_ldap_connector.rb} +20 -22
- data/test/{test_ldap_vault.rb → tc_ldap_vault.rb} +2 -2
- data/test/{test_ldif.rb → tc_ldif.rb} +1 -1
- data/test/{test_memory_connectors.rb → tc_memory_connectors.rb} +10 -6
- data/test/{test_rubysync.rb → tc_rubysync.rb} +4 -4
- data/test/tc_transformation.rb +71 -0
- data/test/{test_utilities.rb → tc_utilities.rb} +28 -1
- data/test/tc_xml_connectors.rb +107 -6
- data/test/ts_rubysync.rb +11 -6
- metadata +33 -28
@@ -27,12 +27,30 @@ class ::File
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
+
class Object
|
31
|
+
|
32
|
+
# Make the log method globally available
|
33
|
+
def log
|
34
|
+
unless defined? @@log
|
35
|
+
@@log = Logger.new(STDOUT)
|
36
|
+
#@@log.level = Logger::DEBUG
|
37
|
+
@@log.datetime_format = "%H:%M:%S"
|
38
|
+
end
|
39
|
+
@@log
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
|
30
44
|
# Generally useful methods
|
31
45
|
module RubySync
|
32
46
|
module Utilities
|
33
|
-
|
34
47
|
@@base_path=nil
|
35
48
|
|
49
|
+
# If not already an array, slip into one
|
50
|
+
def as_array o
|
51
|
+
(o.instance_of? Array)? o : [o]
|
52
|
+
end
|
53
|
+
|
36
54
|
# Perform an action and rescue any exceptions thrown, display the exception with the specified text
|
37
55
|
def with_rescue text
|
38
56
|
begin
|
@@ -60,7 +78,7 @@ module RubySync
|
|
60
78
|
|
61
79
|
# Ensure that a given path exists as a directory
|
62
80
|
def ensure_dir_exists paths
|
63
|
-
paths.
|
81
|
+
as_array(paths).each do |path|
|
64
82
|
raise Exception.new("Can't create nil directory") unless path
|
65
83
|
if File.exist? path
|
66
84
|
unless File.directory? path
|
@@ -113,7 +131,7 @@ module RubySync
|
|
113
131
|
# Keep going up until we start repeating ourselves
|
114
132
|
while File.directory?(bp) && bp != last && bp != "/"
|
115
133
|
return bp if File.directory?("#{bp}/pipelines") &&
|
116
|
-
|
134
|
+
File.directory?("#{bp}/connectors")
|
117
135
|
last = bp
|
118
136
|
bp = File.expand_path("#{bp}/..")
|
119
137
|
end
|
@@ -141,5 +159,80 @@ module RubySync
|
|
141
159
|
"#{dir}#{file}"
|
142
160
|
end
|
143
161
|
|
162
|
+
# Performs the given operations on the given record. The record is a
|
163
|
+
# Hash in which each key is a field name and each value is an array of
|
164
|
+
# values for that field.
|
165
|
+
# Operations is an Array of RubySync::Operation objects to be performed on the record.
|
166
|
+
def perform_operations operations, record={}, options={}
|
167
|
+
subjects = options[:subjects]
|
168
|
+
operations.each do |op|
|
169
|
+
unless op.instance_of? RubySync::Operation
|
170
|
+
log.warn "!!!!!!!!!! PROBLEM, DUMP FOLLOWS: !!!!!!!!!!!!!!"
|
171
|
+
p op
|
172
|
+
end
|
173
|
+
next if subjects and !subjects.include?(op.subject)
|
174
|
+
case op.type
|
175
|
+
when :add
|
176
|
+
if record[op.subject]
|
177
|
+
existing = as_array(record[op.subject])
|
178
|
+
next if existing == op.values # already same so ignore
|
179
|
+
(existing & op.values).empty? or
|
180
|
+
raise "Attempt to add duplicate elements to #{name}"
|
181
|
+
record[op.subject] = existing + op.values
|
182
|
+
else
|
183
|
+
record[op.subject] = op.values
|
184
|
+
end
|
185
|
+
when :replace
|
186
|
+
record[op.subject] = op.values
|
187
|
+
when :delete
|
188
|
+
if value == nil || value == "" || value == []
|
189
|
+
record.delete(op.subject)
|
190
|
+
else
|
191
|
+
record[op.subject] -= values
|
192
|
+
end
|
193
|
+
else
|
194
|
+
raise Exception.new("Unknown operation '#{op.type}'")
|
195
|
+
end
|
196
|
+
end
|
197
|
+
return record
|
198
|
+
end
|
199
|
+
|
200
|
+
|
201
|
+
# Filter operations to eliminate those that would have
|
202
|
+
# no effect on the record. Returns the resulting array
|
203
|
+
# of operations.
|
204
|
+
def effective_operations operations, record={}
|
205
|
+
effective = []
|
206
|
+
operations.each do |op|
|
207
|
+
existing = as_array(record[op.subject] || [])
|
208
|
+
case op.type
|
209
|
+
when :add
|
210
|
+
if existing.empty?
|
211
|
+
effective << op
|
212
|
+
else
|
213
|
+
next if existing == op.values # already same so ignore
|
214
|
+
effective << Operation.replace(op.subject, op.values)
|
215
|
+
end
|
216
|
+
when :replace
|
217
|
+
if existing.empty?
|
218
|
+
effective << Operation.add(op.subject, op.values)
|
219
|
+
else
|
220
|
+
next if existing == op.values
|
221
|
+
effective << op
|
222
|
+
end
|
223
|
+
when :delete
|
224
|
+
if [nil, "", []].include?(op.values)
|
225
|
+
effective << op if record[op.subject]
|
226
|
+
else
|
227
|
+
targets = op.values & existing
|
228
|
+
targets.empty? or effective << Operation.delete(op.subject, targets)
|
229
|
+
end
|
230
|
+
else
|
231
|
+
raise Exception.new("Unknown operation '#{op.type}'")
|
232
|
+
end
|
233
|
+
end
|
234
|
+
effective
|
235
|
+
end
|
236
|
+
|
144
237
|
end
|
145
|
-
end
|
238
|
+
end
|
data/lib/rubysync.rb
CHANGED
data/rubysync.tmproj
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
<plist version="1.0">
|
4
4
|
<dict>
|
5
5
|
<key>currentDocument</key>
|
6
|
-
<string>
|
6
|
+
<string>gemspec</string>
|
7
7
|
<key>documents</key>
|
8
8
|
<array>
|
9
9
|
<dict>
|
@@ -33,22 +33,64 @@
|
|
33
33
|
</dict>
|
34
34
|
</array>
|
35
35
|
<key>fileHierarchyDrawerWidth</key>
|
36
|
-
<integer>
|
36
|
+
<integer>246</integer>
|
37
37
|
<key>metaData</key>
|
38
38
|
<dict>
|
39
|
+
<key>HISTORY.txt</key>
|
40
|
+
<dict>
|
41
|
+
<key>caret</key>
|
42
|
+
<dict>
|
43
|
+
<key>column</key>
|
44
|
+
<integer>0</integer>
|
45
|
+
<key>line</key>
|
46
|
+
<integer>0</integer>
|
47
|
+
</dict>
|
48
|
+
<key>firstVisibleColumn</key>
|
49
|
+
<integer>0</integer>
|
50
|
+
<key>firstVisibleLine</key>
|
51
|
+
<integer>0</integer>
|
52
|
+
</dict>
|
53
|
+
<key>Manifest.txt</key>
|
54
|
+
<dict>
|
55
|
+
<key>caret</key>
|
56
|
+
<dict>
|
57
|
+
<key>column</key>
|
58
|
+
<integer>0</integer>
|
59
|
+
<key>line</key>
|
60
|
+
<integer>0</integer>
|
61
|
+
</dict>
|
62
|
+
<key>firstVisibleColumn</key>
|
63
|
+
<integer>0</integer>
|
64
|
+
<key>firstVisibleLine</key>
|
65
|
+
<integer>0</integer>
|
66
|
+
</dict>
|
67
|
+
<key>Rakefile</key>
|
68
|
+
<dict>
|
69
|
+
<key>caret</key>
|
70
|
+
<dict>
|
71
|
+
<key>column</key>
|
72
|
+
<integer>24</integer>
|
73
|
+
<key>line</key>
|
74
|
+
<integer>27</integer>
|
75
|
+
</dict>
|
76
|
+
<key>firstVisibleColumn</key>
|
77
|
+
<integer>0</integer>
|
78
|
+
<key>firstVisibleLine</key>
|
79
|
+
<integer>0</integer>
|
80
|
+
</dict>
|
39
81
|
<key>bin/rubysync</key>
|
40
82
|
<dict>
|
41
83
|
<key>caret</key>
|
42
84
|
<dict>
|
43
85
|
<key>column</key>
|
44
|
-
<integer>
|
86
|
+
<integer>0</integer>
|
45
87
|
<key>line</key>
|
46
|
-
<integer>
|
88
|
+
<integer>264</integer>
|
47
89
|
</dict>
|
48
90
|
<key>firstVisibleColumn</key>
|
49
91
|
<integer>0</integer>
|
50
92
|
<key>firstVisibleLine</key>
|
51
|
-
<integer>
|
93
|
+
<integer>218</integer>
|
52
94
|
</dict>
|
53
95
|
<key>examples/ar_webapp/db/migrate/009_create_ruby_sync_states.rb</key>
|
54
96
|
<dict>
|
@@ -64,75 +106,91 @@
|
|
64
106
|
<key>firstVisibleLine</key>
|
65
107
|
<integer>0</integer>
|
66
108
|
</dict>
|
67
|
-
<key>
|
109
|
+
<key>gemspec</key>
|
68
110
|
<dict>
|
69
111
|
<key>caret</key>
|
70
112
|
<dict>
|
71
113
|
<key>column</key>
|
72
|
-
<integer>
|
114
|
+
<integer>34</integer>
|
73
115
|
<key>line</key>
|
74
|
-
<integer>
|
116
|
+
<integer>19</integer>
|
75
117
|
</dict>
|
76
118
|
<key>firstVisibleColumn</key>
|
77
119
|
<integer>0</integer>
|
78
120
|
<key>firstVisibleLine</key>
|
79
|
-
<integer>
|
121
|
+
<integer>0</integer>
|
80
122
|
</dict>
|
81
|
-
<key>lib/
|
123
|
+
<key>lib/net/ldif.rb</key>
|
82
124
|
<dict>
|
83
125
|
<key>caret</key>
|
84
126
|
<dict>
|
85
127
|
<key>column</key>
|
86
|
-
<integer>
|
128
|
+
<integer>0</integer>
|
87
129
|
<key>line</key>
|
88
|
-
<integer>
|
130
|
+
<integer>14</integer>
|
89
131
|
</dict>
|
132
|
+
<key>columnSelection</key>
|
133
|
+
<false/>
|
90
134
|
<key>firstVisibleColumn</key>
|
91
135
|
<integer>0</integer>
|
92
136
|
<key>firstVisibleLine</key>
|
93
|
-
<integer>
|
137
|
+
<integer>0</integer>
|
138
|
+
<key>selectFrom</key>
|
139
|
+
<dict>
|
140
|
+
<key>column</key>
|
141
|
+
<integer>0</integer>
|
142
|
+
<key>line</key>
|
143
|
+
<integer>6</integer>
|
144
|
+
</dict>
|
145
|
+
<key>selectTo</key>
|
146
|
+
<dict>
|
147
|
+
<key>column</key>
|
148
|
+
<integer>0</integer>
|
149
|
+
<key>line</key>
|
150
|
+
<integer>14</integer>
|
151
|
+
</dict>
|
94
152
|
</dict>
|
95
|
-
<key>lib/ruby_sync
|
153
|
+
<key>lib/ruby_sync.rb</key>
|
96
154
|
<dict>
|
97
155
|
<key>caret</key>
|
98
156
|
<dict>
|
99
157
|
<key>column</key>
|
100
|
-
<integer>
|
158
|
+
<integer>0</integer>
|
101
159
|
<key>line</key>
|
102
|
-
<integer>
|
160
|
+
<integer>14</integer>
|
103
161
|
</dict>
|
104
162
|
<key>firstVisibleColumn</key>
|
105
163
|
<integer>0</integer>
|
106
164
|
<key>firstVisibleLine</key>
|
107
|
-
<integer>
|
165
|
+
<integer>3</integer>
|
108
166
|
</dict>
|
109
|
-
<key>lib/ruby_sync/connectors/
|
167
|
+
<key>lib/ruby_sync/connectors/active_record_association_handler.rb</key>
|
110
168
|
<dict>
|
111
169
|
<key>caret</key>
|
112
170
|
<dict>
|
113
171
|
<key>column</key>
|
114
|
-
<integer>
|
172
|
+
<integer>3</integer>
|
115
173
|
<key>line</key>
|
116
|
-
<integer>
|
174
|
+
<integer>45</integer>
|
117
175
|
</dict>
|
118
176
|
<key>firstVisibleColumn</key>
|
119
177
|
<integer>0</integer>
|
120
178
|
<key>firstVisibleLine</key>
|
121
|
-
<integer>
|
179
|
+
<integer>28</integer>
|
122
180
|
</dict>
|
123
|
-
<key>lib/ruby_sync/connectors/
|
181
|
+
<key>lib/ruby_sync/connectors/active_record_event_handler.rb</key>
|
124
182
|
<dict>
|
125
183
|
<key>caret</key>
|
126
184
|
<dict>
|
127
185
|
<key>column</key>
|
128
|
-
<integer>
|
186
|
+
<integer>30</integer>
|
129
187
|
<key>line</key>
|
130
|
-
<integer>
|
188
|
+
<integer>24</integer>
|
131
189
|
</dict>
|
132
190
|
<key>firstVisibleColumn</key>
|
133
191
|
<integer>0</integer>
|
134
192
|
<key>firstVisibleLine</key>
|
135
|
-
<integer>
|
193
|
+
<integer>9</integer>
|
136
194
|
</dict>
|
137
195
|
<key>lib/ruby_sync/connectors/connector_event_processing.rb</key>
|
138
196
|
<dict>
|
@@ -185,12 +243,12 @@
|
|
185
243
|
<key>column</key>
|
186
244
|
<integer>0</integer>
|
187
245
|
<key>line</key>
|
188
|
-
<integer>
|
246
|
+
<integer>76</integer>
|
189
247
|
</dict>
|
190
248
|
<key>firstVisibleColumn</key>
|
191
249
|
<integer>0</integer>
|
192
250
|
<key>firstVisibleLine</key>
|
193
|
-
<integer>
|
251
|
+
<integer>43</integer>
|
194
252
|
</dict>
|
195
253
|
<key>lib/ruby_sync/connectors/xml_connector.rb</key>
|
196
254
|
<dict>
|
@@ -199,12 +257,28 @@
|
|
199
257
|
<key>column</key>
|
200
258
|
<integer>0</integer>
|
201
259
|
<key>line</key>
|
202
|
-
<integer>
|
260
|
+
<integer>156</integer>
|
203
261
|
</dict>
|
262
|
+
<key>columnSelection</key>
|
263
|
+
<false/>
|
204
264
|
<key>firstVisibleColumn</key>
|
205
265
|
<integer>0</integer>
|
206
266
|
<key>firstVisibleLine</key>
|
207
|
-
<integer>
|
267
|
+
<integer>127</integer>
|
268
|
+
<key>selectFrom</key>
|
269
|
+
<dict>
|
270
|
+
<key>column</key>
|
271
|
+
<integer>0</integer>
|
272
|
+
<key>line</key>
|
273
|
+
<integer>155</integer>
|
274
|
+
</dict>
|
275
|
+
<key>selectTo</key>
|
276
|
+
<dict>
|
277
|
+
<key>column</key>
|
278
|
+
<integer>0</integer>
|
279
|
+
<key>line</key>
|
280
|
+
<integer>156</integer>
|
281
|
+
</dict>
|
208
282
|
</dict>
|
209
283
|
<key>lib/ruby_sync/event.rb</key>
|
210
284
|
<dict>
|
@@ -218,7 +292,21 @@
|
|
218
292
|
<key>firstVisibleColumn</key>
|
219
293
|
<integer>0</integer>
|
220
294
|
<key>firstVisibleLine</key>
|
221
|
-
<integer>
|
295
|
+
<integer>42</integer>
|
296
|
+
</dict>
|
297
|
+
<key>lib/ruby_sync/pipelines/base_pipeline.rb</key>
|
298
|
+
<dict>
|
299
|
+
<key>caret</key>
|
300
|
+
<dict>
|
301
|
+
<key>column</key>
|
302
|
+
<integer>26</integer>
|
303
|
+
<key>line</key>
|
304
|
+
<integer>289</integer>
|
305
|
+
</dict>
|
306
|
+
<key>firstVisibleColumn</key>
|
307
|
+
<integer>0</integer>
|
308
|
+
<key>firstVisibleLine</key>
|
309
|
+
<integer>260</integer>
|
222
310
|
</dict>
|
223
311
|
<key>lib/ruby_sync/util/utilities.rb</key>
|
224
312
|
<dict>
|
@@ -234,19 +322,91 @@
|
|
234
322
|
<key>firstVisibleLine</key>
|
235
323
|
<integer>75</integer>
|
236
324
|
</dict>
|
325
|
+
<key>lib/rubysync.rb</key>
|
326
|
+
<dict>
|
327
|
+
<key>caret</key>
|
328
|
+
<dict>
|
329
|
+
<key>column</key>
|
330
|
+
<integer>18</integer>
|
331
|
+
<key>line</key>
|
332
|
+
<integer>17</integer>
|
333
|
+
</dict>
|
334
|
+
<key>firstVisibleColumn</key>
|
335
|
+
<integer>0</integer>
|
336
|
+
<key>firstVisibleLine</key>
|
337
|
+
<integer>0</integer>
|
338
|
+
</dict>
|
339
|
+
<key>pkg/rubysync-0.0.3/lib/ruby_sync/pipelines/base_pipeline.rb</key>
|
340
|
+
<dict>
|
341
|
+
<key>caret</key>
|
342
|
+
<dict>
|
343
|
+
<key>column</key>
|
344
|
+
<integer>30</integer>
|
345
|
+
<key>line</key>
|
346
|
+
<integer>254</integer>
|
347
|
+
</dict>
|
348
|
+
<key>firstVisibleColumn</key>
|
349
|
+
<integer>0</integer>
|
350
|
+
<key>firstVisibleLine</key>
|
351
|
+
<integer>224</integer>
|
352
|
+
</dict>
|
353
|
+
<key>test/hashlike_tests.rb</key>
|
354
|
+
<dict>
|
355
|
+
<key>caret</key>
|
356
|
+
<dict>
|
357
|
+
<key>column</key>
|
358
|
+
<integer>0</integer>
|
359
|
+
<key>line</key>
|
360
|
+
<integer>39</integer>
|
361
|
+
</dict>
|
362
|
+
<key>firstVisibleColumn</key>
|
363
|
+
<integer>0</integer>
|
364
|
+
<key>firstVisibleLine</key>
|
365
|
+
<integer>38</integer>
|
366
|
+
</dict>
|
237
367
|
<key>test/ruby_sync_test.rb</key>
|
238
368
|
<dict>
|
239
369
|
<key>caret</key>
|
240
370
|
<dict>
|
241
371
|
<key>column</key>
|
242
|
-
<integer>
|
372
|
+
<integer>0</integer>
|
373
|
+
<key>line</key>
|
374
|
+
<integer>18</integer>
|
375
|
+
</dict>
|
376
|
+
<key>columnSelection</key>
|
377
|
+
<false/>
|
378
|
+
<key>firstVisibleColumn</key>
|
379
|
+
<integer>0</integer>
|
380
|
+
<key>firstVisibleLine</key>
|
381
|
+
<integer>12</integer>
|
382
|
+
<key>selectFrom</key>
|
383
|
+
<dict>
|
384
|
+
<key>column</key>
|
385
|
+
<integer>19</integer>
|
386
|
+
<key>line</key>
|
387
|
+
<integer>20</integer>
|
388
|
+
</dict>
|
389
|
+
<key>selectTo</key>
|
390
|
+
<dict>
|
391
|
+
<key>column</key>
|
392
|
+
<integer>0</integer>
|
243
393
|
<key>line</key>
|
244
|
-
<integer>
|
394
|
+
<integer>18</integer>
|
395
|
+
</dict>
|
396
|
+
</dict>
|
397
|
+
<key>test/tc_xml_connectors.rb</key>
|
398
|
+
<dict>
|
399
|
+
<key>caret</key>
|
400
|
+
<dict>
|
401
|
+
<key>column</key>
|
402
|
+
<integer>0</integer>
|
403
|
+
<key>line</key>
|
404
|
+
<integer>0</integer>
|
245
405
|
</dict>
|
246
406
|
<key>firstVisibleColumn</key>
|
247
407
|
<integer>0</integer>
|
248
408
|
<key>firstVisibleLine</key>
|
249
|
-
<integer>
|
409
|
+
<integer>76</integer>
|
250
410
|
</dict>
|
251
411
|
<key>test/test_active_record_vault.rb</key>
|
252
412
|
<dict>
|
@@ -267,14 +427,30 @@
|
|
267
427
|
<key>caret</key>
|
268
428
|
<dict>
|
269
429
|
<key>column</key>
|
270
|
-
<integer>
|
430
|
+
<integer>0</integer>
|
271
431
|
<key>line</key>
|
272
|
-
<integer>
|
432
|
+
<integer>16</integer>
|
273
433
|
</dict>
|
434
|
+
<key>columnSelection</key>
|
435
|
+
<false/>
|
274
436
|
<key>firstVisibleColumn</key>
|
275
437
|
<integer>0</integer>
|
276
438
|
<key>firstVisibleLine</key>
|
277
439
|
<integer>10</integer>
|
440
|
+
<key>selectFrom</key>
|
441
|
+
<dict>
|
442
|
+
<key>column</key>
|
443
|
+
<integer>0</integer>
|
444
|
+
<key>line</key>
|
445
|
+
<integer>21</integer>
|
446
|
+
</dict>
|
447
|
+
<key>selectTo</key>
|
448
|
+
<dict>
|
449
|
+
<key>column</key>
|
450
|
+
<integer>0</integer>
|
451
|
+
<key>line</key>
|
452
|
+
<integer>16</integer>
|
453
|
+
</dict>
|
278
454
|
</dict>
|
279
455
|
<key>test/test_ldap_changelog.rb</key>
|
280
456
|
<dict>
|
@@ -295,54 +471,98 @@
|
|
295
471
|
<key>caret</key>
|
296
472
|
<dict>
|
297
473
|
<key>column</key>
|
298
|
-
<integer>
|
474
|
+
<integer>0</integer>
|
299
475
|
<key>line</key>
|
300
|
-
<integer>
|
476
|
+
<integer>84</integer>
|
301
477
|
</dict>
|
302
478
|
<key>firstVisibleColumn</key>
|
303
479
|
<integer>0</integer>
|
304
480
|
<key>firstVisibleLine</key>
|
305
|
-
<integer>
|
481
|
+
<integer>0</integer>
|
482
|
+
</dict>
|
483
|
+
<key>test/test_ldif.rb</key>
|
484
|
+
<dict>
|
485
|
+
<key>caret</key>
|
486
|
+
<dict>
|
487
|
+
<key>column</key>
|
488
|
+
<integer>0</integer>
|
489
|
+
<key>line</key>
|
490
|
+
<integer>41</integer>
|
491
|
+
</dict>
|
492
|
+
<key>firstVisibleColumn</key>
|
493
|
+
<integer>0</integer>
|
494
|
+
<key>firstVisibleLine</key>
|
495
|
+
<integer>23</integer>
|
306
496
|
</dict>
|
307
497
|
<key>test/test_memory_connectors.rb</key>
|
308
498
|
<dict>
|
309
499
|
<key>caret</key>
|
310
500
|
<dict>
|
311
501
|
<key>column</key>
|
312
|
-
<integer>
|
502
|
+
<integer>13</integer>
|
313
503
|
<key>line</key>
|
314
|
-
<integer>
|
504
|
+
<integer>27</integer>
|
315
505
|
</dict>
|
316
506
|
<key>firstVisibleColumn</key>
|
317
507
|
<integer>0</integer>
|
318
508
|
<key>firstVisibleLine</key>
|
319
|
-
<integer>
|
509
|
+
<integer>8</integer>
|
510
|
+
</dict>
|
511
|
+
<key>test/test_rubysync.rb</key>
|
512
|
+
<dict>
|
513
|
+
<key>caret</key>
|
514
|
+
<dict>
|
515
|
+
<key>column</key>
|
516
|
+
<integer>0</integer>
|
517
|
+
<key>line</key>
|
518
|
+
<integer>27</integer>
|
519
|
+
</dict>
|
520
|
+
<key>firstVisibleColumn</key>
|
521
|
+
<integer>0</integer>
|
522
|
+
<key>firstVisibleLine</key>
|
523
|
+
<integer>0</integer>
|
524
|
+
</dict>
|
525
|
+
<key>test/ts_rubysync.rb</key>
|
526
|
+
<dict>
|
527
|
+
<key>caret</key>
|
528
|
+
<dict>
|
529
|
+
<key>column</key>
|
530
|
+
<integer>0</integer>
|
531
|
+
<key>line</key>
|
532
|
+
<integer>15</integer>
|
533
|
+
</dict>
|
534
|
+
<key>columnSelection</key>
|
535
|
+
<false/>
|
536
|
+
<key>firstVisibleColumn</key>
|
537
|
+
<integer>0</integer>
|
538
|
+
<key>firstVisibleLine</key>
|
539
|
+
<integer>0</integer>
|
540
|
+
<key>selectFrom</key>
|
541
|
+
<dict>
|
542
|
+
<key>column</key>
|
543
|
+
<integer>39</integer>
|
544
|
+
<key>line</key>
|
545
|
+
<integer>21</integer>
|
546
|
+
</dict>
|
547
|
+
<key>selectTo</key>
|
548
|
+
<dict>
|
549
|
+
<key>column</key>
|
550
|
+
<integer>0</integer>
|
551
|
+
<key>line</key>
|
552
|
+
<integer>15</integer>
|
553
|
+
</dict>
|
320
554
|
</dict>
|
321
555
|
</dict>
|
322
556
|
<key>openDocuments</key>
|
323
557
|
<array>
|
324
558
|
<string>lib/ruby_sync/connectors/xml_connector.rb</string>
|
325
|
-
<string>
|
326
|
-
<string>
|
327
|
-
<string>
|
328
|
-
<string>test/test_active_record_vault.rb</string>
|
329
|
-
<string>test/test_ldap_connector.rb</string>
|
330
|
-
<string>test/test_ldap_changelog.rb</string>
|
331
|
-
<string>test/ruby_sync_test.rb</string>
|
332
|
-
<string>test/test_base_pipeline.rb</string>
|
333
|
-
<string>lib/ruby_sync/util/utilities.rb</string>
|
334
|
-
<string>lib/ruby_sync/event.rb</string>
|
335
|
-
<string>bin/rubysync</string>
|
336
|
-
<string>lib/ruby_sync.rb</string>
|
337
|
-
<string>lib/ruby_sync/connectors/ldap_connector.rb</string>
|
338
|
-
<string>lib/ruby_sync/connectors/base_connector.rb</string>
|
339
|
-
<string>lib/ruby_sync/connectors/memory_connector.rb</string>
|
340
|
-
<string>test/test_memory_connectors.rb</string>
|
341
|
-
<string>lib/ruby_sync/connectors/connector_event_processing.rb</string>
|
559
|
+
<string>test/tc_xml_connectors.rb</string>
|
560
|
+
<string>Rakefile</string>
|
561
|
+
<string>gemspec</string>
|
342
562
|
</array>
|
343
563
|
<key>showFileHierarchyDrawer</key>
|
344
564
|
<true/>
|
345
565
|
<key>windowFrame</key>
|
346
|
-
<string>{{
|
566
|
+
<string>{{-1024, -139}, {1024, 1024}}</string>
|
347
567
|
</dict>
|
348
568
|
</plist>
|