autoparse 0.2.1 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,13 @@
1
+ == 0.2.3
2
+
3
+ * fixed stupid bug in inspect method
4
+
5
+ == 0.2.2
6
+
7
+ * the AutoParse.generate method was changed to use an options Hash
8
+ * fixed some issues around array imports and exports
9
+ * schemas of type object should now correctly inherit their id URI values
10
+
1
11
  == 0.2.1
2
12
 
3
13
  * fixed URI resolution when base URI is missing
@@ -21,7 +21,9 @@ module AutoParse
21
21
  @schemas ||= {}
22
22
  end
23
23
 
24
- def self.generate(schema_data, uri=nil)
24
+ def self.generate(schema_data, options={})
25
+ uri = options[:uri]
26
+ parent = options[:parent]
25
27
  if schema_data["extends"]
26
28
  super_uri = uri + Addressable::URI.parse(schema_data["extends"])
27
29
  super_schema = self.schemas[super_uri]
@@ -37,6 +39,9 @@ module AutoParse
37
39
  @uri = Addressable::URI.parse(uri)
38
40
  @uri.normalize! if @uri != nil
39
41
  @schema_data = schema_data
42
+ if !self.uri && parent
43
+ @uri = parent.uri
44
+ end
40
45
 
41
46
  def self.additional_properties_schema
42
47
  # Override the superclass implementation so we're not always returning
@@ -57,12 +62,9 @@ module AutoParse
57
62
  property_schema = property_super_schema.data.merge(property_schema)
58
63
  end
59
64
 
60
- if schema_data.has_key?('id')
61
- property_schema_class = AutoParse.generate(property_schema)
62
- else
63
- # If the schema has no ID, it inherits the ID from the parent schema.
64
- property_schema_class = AutoParse.generate(property_schema, @uri)
65
- end
65
+ # If the schema has no ID, it inherits the ID from the parent schema.
66
+ property_schema_class =
67
+ AutoParse.generate(property_schema, :parent => self)
66
68
 
67
69
  self.properties[property_key] = property_schema_class
68
70
  self.keys[property_name] = property_key
@@ -101,7 +103,7 @@ module AutoParse
101
103
  value = self[stripped_method]
102
104
  else
103
105
  # Method not found.
104
- super
106
+ super(method, *params, &block)
105
107
  end
106
108
  # If additionalProperties is simply set to true, no parsing takes
107
109
  # place and all values are treated as 'any'.
@@ -115,7 +117,9 @@ module AutoParse
115
117
 
116
118
  elsif schema_data['additionalProperties']
117
119
  # Unknown properties follow the supplied schema.
118
- ap_schema = AutoParse.generate(schema_data['additionalProperties'])
120
+ ap_schema = AutoParse.generate(
121
+ schema_data['additionalProperties'], :parent => self
122
+ )
119
123
  @additional_properties_schema = ap_schema
120
124
  define_method('method_missing') do |method, *params, &block|
121
125
  # We need to convert from Ruby calling style to JavaScript calling
@@ -172,6 +176,54 @@ module AutoParse
172
176
  return schema
173
177
  end
174
178
 
179
+ def self.import(value, schema_class, type=nil)
180
+ type = schema_class.data['type'] if type == nil
181
+ case type
182
+ when 'string'
183
+ return AutoParse.import_string(value, schema_class)
184
+ when 'boolean'
185
+ return AutoParse.import_boolean(value, schema_class)
186
+ when 'integer'
187
+ return AutoParse.import_integer(value, schema_class)
188
+ when 'number'
189
+ return AutoParse.import_number(value, schema_class)
190
+ when 'array'
191
+ return AutoParse.import_array(value, schema_class)
192
+ when 'object'
193
+ return AutoParse.import_object(value, schema_class)
194
+ when 'null'
195
+ return nil
196
+ when Array
197
+ return AutoParse.import_union(value, schema_class)
198
+ else
199
+ return AutoParse.import_any(value, schema_class)
200
+ end
201
+ end
202
+
203
+ def self.export(value, schema_class, type=nil)
204
+ type = schema_class.data['type'] if type == nil
205
+ case type
206
+ when 'string'
207
+ AutoParse.export_string(value, schema_class)
208
+ when 'boolean'
209
+ AutoParse.export_boolean(value, schema_class)
210
+ when 'integer'
211
+ AutoParse.export_integer(value, schema_class)
212
+ when 'number'
213
+ AutoParse.export_number(value, schema_class)
214
+ when 'array'
215
+ AutoParse.export_array(value, schema_class)
216
+ when 'object'
217
+ AutoParse.export_object(value, schema_class)
218
+ when 'null'
219
+ nil
220
+ when Array
221
+ AutoParse.export_union(value, schema_class)
222
+ else
223
+ AutoParse.export_any(value, schema_class)
224
+ end
225
+ end
226
+
175
227
  def self.import_string(value, schema_class)
176
228
  if value != nil
177
229
  format = schema_class.data['format']
@@ -278,39 +330,39 @@ module AutoParse
278
330
  end
279
331
 
280
332
  def self.import_array(value, schema_class)
281
- array = (if value != nil && !value.respond_to?(:to_ary)
333
+ value = (if value != nil && !value.respond_to?(:to_ary)
282
334
  raise TypeError,
283
335
  "Expected Array, got #{value.class}."
284
336
  else
285
- value.to_ary
337
+ (value || []).to_ary.dup
286
338
  end)
287
339
  items_data = schema_class.data['items']
288
- if items_data && items_data['$ref']
289
- if schema_class && schema_class.uri
290
- items_uri =
291
- schema_class.uri + Addressable::URI.parse(items_data['$ref'])
292
- else
293
- items_uri = Addressable::URI.parse(items_data['$ref'])
294
- end
295
- items_schema = AutoParse.schemas[items_uri]
296
- if items_schema
297
- array.map! do |item|
298
- items_schema.new(item)
299
- end
300
- else
301
- raise ArgumentError,
302
- "Could not find schema: #{items_uri}."
303
- end
340
+ items_schema = AutoParse.generate(items_data, :parent => schema_class)
341
+ if items_schema.data['$ref']
342
+ # Dereference the schema if necessary.
343
+ items_schema = items_schema.dereference
304
344
  end
305
- array
345
+ value.map! do |item|
346
+ AutoParse.import(item, items_schema)
347
+ end
348
+ value
306
349
  end
307
350
 
308
351
  def self.export_array(value, schema_class)
309
- # FIXME: Each item in the Array needs to be exported as well.
310
352
  if value == nil
311
353
  value
312
354
  elsif value.respond_to?(:to_ary)
313
- value.to_ary
355
+ value = value.to_ary.dup
356
+ items_data = schema_class.data['items']
357
+ items_schema = AutoParse.generate(items_data, :parent => schema_class)
358
+ if items_schema.data['$ref']
359
+ # Dereference the schema if necessary.
360
+ items_schema = items_schema.dereference
361
+ end
362
+ value.map! do |item|
363
+ AutoParse.export(item, items_schema)
364
+ end
365
+ value
314
366
  else
315
367
  raise TypeError, "Expected Array, got #{value.class}."
316
368
  end
@@ -335,54 +387,16 @@ module AutoParse
335
387
 
336
388
  def self.import_union(value, schema_class)
337
389
  import_type = match_type(
338
- value, schema_class.data['type'], schema_class.uri
390
+ value, schema_class.data['type'], schema_class
339
391
  )
340
- case import_type
341
- when 'string'
342
- AutoParse.import_string(value, schema_class)
343
- when 'boolean'
344
- AutoParse.import_boolean(value, schema_class)
345
- when 'integer'
346
- AutoParse.import_integer(value, schema_class)
347
- when 'number'
348
- AutoParse.import_number(value, schema_class)
349
- when 'array'
350
- AutoParse.import_array(value, schema_class)
351
- when 'object'
352
- AutoParse.import_object(value, schema_class)
353
- when 'null'
354
- nil
355
- when Class
356
- AutoParse.import_object(value, import_type)
357
- else
358
- AutoParse.import_any(value, schema_class)
359
- end
392
+ AutoParse.import(value, schema_class, import_type)
360
393
  end
361
394
 
362
395
  def self.export_union(value, schema_class)
363
396
  export_type = match_type(
364
- value, schema_class.data['type'], schema_class.uri
397
+ value, schema_class.data['type'], schema_class
365
398
  )
366
- case export_type
367
- when 'string'
368
- AutoParse.export_string(value, schema_class)
369
- when 'boolean'
370
- AutoParse.export_boolean(value, schema_class)
371
- when 'integer'
372
- AutoParse.export_integer(value, schema_class)
373
- when 'number'
374
- AutoParse.export_number(value, schema_class)
375
- when 'array'
376
- AutoParse.export_array(value, schema_class)
377
- when 'object'
378
- AutoParse.export_object(value, schema_class)
379
- when 'null'
380
- nil
381
- when Class
382
- AutoParse.export_object(value, export_type)
383
- else
384
- AutoParse.export_any(value, schema_class)
385
- end
399
+ AutoParse.export(value, schema_class, export_type)
386
400
  end
387
401
 
388
402
  def self.import_any(value, schema_class)
@@ -397,7 +411,7 @@ module AutoParse
397
411
  # Given a value and a union of types, selects the type which is the best
398
412
  # match for the given value. More than one type may match the value, in which
399
413
  # case, the first type in the union will be returned.
400
- def self.match_type(value, union, base_uri=nil)
414
+ def self.match_type(value, union, parent=nil)
401
415
  possible_types = [union].flatten.compact
402
416
  # Strict pass
403
417
  for type in possible_types
@@ -419,11 +433,7 @@ module AutoParse
419
433
  return 'null' if value.nil?
420
434
  when Hash
421
435
  # Schema embedded directly.
422
- unless base_uri
423
- schema_class = AutoParse.generate(type)
424
- else
425
- schema_class = AutoParse.generate(type, base_uri)
426
- end
436
+ schema_class = AutoParse.generate(type, :parent => parent)
427
437
  if type['$ref']
428
438
  schema_class = schema_class.dereference
429
439
  end
@@ -29,9 +29,20 @@ module AutoParse
29
29
  def self.dereference
30
30
  if @schema_data['$ref']
31
31
  # Dereference the schema if necessary.
32
- schema_uri =
33
- self.uri + Addressable::URI.parse(@schema_data['$ref'])
32
+ ref_uri = Addressable::URI.parse(@schema_data['$ref'])
33
+ if self.uri
34
+ schema_uri =
35
+ self.uri + Addressable::URI.parse(@schema_data['$ref'])
36
+ else
37
+ if ref_uri.relative?
38
+ warn("Schema URI is relative, could not resolve against parent.")
39
+ else
40
+ warn("Could not resolve URI against parent.")
41
+ end
42
+ schema_uri = ref_uri
43
+ end
34
44
  schema_class = AutoParse.schemas[schema_uri]
45
+ warn("Schema URI mismatch.") if schema_class.uri != schema_uri
35
46
  if schema_class == nil
36
47
  raise ArgumentError,
37
48
  "Could not find schema: #{@schema_data['$ref']}. " +
@@ -137,13 +148,7 @@ module AutoParse
137
148
  else
138
149
  # This is highly ineffecient, but currently hard to avoid given the
139
150
  # schema is anonymous, making lookups very difficult.
140
- if schema_data.has_key?('id')
141
- schema = AutoParse.generate(schema_data)
142
- else
143
- # If the schema has no ID, it inherits the ID from the parent schema,
144
- # which should be `self`.
145
- schema = AutoParse.generate(schema_data, self.uri)
146
- end
151
+ schema = AutoParse.generate(schema_data, :parent => self)
147
152
  begin
148
153
  return schema.new(property_value).valid?
149
154
  rescue TypeError, ArgumentError, ::JSON::ParserError
@@ -334,26 +339,7 @@ module AutoParse
334
339
 
335
340
  value = self[property_key] || schema_class.data['default']
336
341
 
337
- case schema_class.data['type']
338
- when 'string'
339
- AutoParse.import_string(value, schema_class)
340
- when 'boolean'
341
- AutoParse.import_boolean(value, schema_class)
342
- when 'integer'
343
- AutoParse.import_integer(value, schema_class)
344
- when 'number'
345
- AutoParse.import_number(value, schema_class)
346
- when 'array'
347
- AutoParse.import_array(value, schema_class)
348
- when 'object'
349
- AutoParse.import_object(value, schema_class)
350
- when 'null'
351
- nil
352
- when Array
353
- AutoParse.import_union(value, schema_class)
354
- else
355
- AutoParse.import_any(value, schema_class)
356
- end
342
+ AutoParse.import(value, schema_class)
357
343
  end
358
344
  protected :__get__
359
345
 
@@ -368,26 +354,7 @@ module AutoParse
368
354
  self.class.properties[property_key] = schema_class
369
355
  end
370
356
 
371
- case schema_class.data['type']
372
- when 'string'
373
- self[property_key] = AutoParse.export_string(value, schema_class)
374
- when 'boolean'
375
- self[property_key] = AutoParse.export_boolean(value, schema_class)
376
- when 'integer'
377
- self[property_key] = AutoParse.export_integer(value, schema_class)
378
- when 'number'
379
- self[property_key] = AutoParse.export_number(value, schema_class)
380
- when 'array'
381
- self[property_key] = AutoParse.export_array(value, schema_class)
382
- when 'object'
383
- self[property_key] = AutoParse.export_object(value, schema_class)
384
- when 'null'
385
- self[property_key] = nil
386
- when Array
387
- self[property_key] = AutoParse.export_union(value, schema_class)
388
- else
389
- self[property_key] = AutoParse.export_any(value, schema_class)
390
- end
357
+ self[property_key] = AutoParse.export(value, schema_class)
391
358
  end
392
359
  protected :__set__
393
360
 
@@ -465,14 +432,10 @@ module AutoParse
465
432
  #
466
433
  # @return [String] The instance's state, as a <code>String</code>.
467
434
  def inspect
468
- if self.class.respond_to?(:description)
469
- sprintf(
470
- "#<%s:%#0x DESC:'%s'>",
471
- self.class.to_s, self.object_id, self.class.description
472
- )
473
- else
474
- sprintf("#<%s:%#0x>", self.class.to_s, self.object_id)
475
- end
435
+ sprintf(
436
+ "#<%s:%#0x DATA:%s>",
437
+ self.class.to_s, self.object_id, self.to_hash.inspect
438
+ )
476
439
  end
477
440
  end
478
441
 
@@ -18,7 +18,7 @@ unless defined? AutoParse::VERSION
18
18
  module VERSION
19
19
  MAJOR = 0
20
20
  MINOR = 2
21
- TINY = 1
21
+ TINY = 3
22
22
 
23
23
  STRING = [MAJOR, MINOR, TINY].join('.')
24
24
  end
@@ -77,7 +77,7 @@ describe AutoParse::Instance, 'with the geo schema' do
77
77
  :path => File.expand_path(File.join(spec_dir, './data/geo.json'))
78
78
  )
79
79
  @schema_data = JSON.parse(File.open(@uri.path, 'r') { |f| f.read })
80
- @parser = AutoParse.generate(@schema_data, @uri)
80
+ @parser = AutoParse.generate(@schema_data, :uri => @uri)
81
81
  end
82
82
 
83
83
  it 'should have the correct URI' do
@@ -156,7 +156,7 @@ describe AutoParse::Instance, 'with the address schema' do
156
156
  :path => File.expand_path(File.join(spec_dir, './data/address.json'))
157
157
  )
158
158
  @schema_data = JSON.parse(File.open(@uri.path, 'r') { |f| f.read })
159
- @parser = AutoParse.generate(@schema_data, @uri)
159
+ @parser = AutoParse.generate(@schema_data, :uri => @uri)
160
160
  end
161
161
 
162
162
  it 'should have the correct URI' do
@@ -271,7 +271,7 @@ describe AutoParse::Instance, 'with the person schema' do
271
271
  :path => File.expand_path(File.join(spec_dir, './data/person.json'))
272
272
  )
273
273
  @schema_data = JSON.parse(File.open(@uri.path, 'r') { |f| f.read })
274
- @parser = AutoParse.generate(@schema_data, @uri)
274
+ @parser = AutoParse.generate(@schema_data, :uri => @uri)
275
275
  end
276
276
 
277
277
  it 'should have the correct URI' do
@@ -375,7 +375,9 @@ describe AutoParse::Instance, 'with the adult schema' do
375
375
  )
376
376
  @person_schema_data =
377
377
  JSON.parse(File.open(@person_uri.path, 'r') { |f| f.read })
378
- @person_parser = AutoParse.generate(@person_schema_data, @person_uri)
378
+ @person_parser = AutoParse.generate(
379
+ @person_schema_data, :uri => @person_uri
380
+ )
379
381
 
380
382
  @adult_uri = Addressable::URI.new(
381
383
  :scheme => 'file',
@@ -384,7 +386,7 @@ describe AutoParse::Instance, 'with the adult schema' do
384
386
  )
385
387
  @adult_schema_data =
386
388
  JSON.parse(File.open(@adult_uri.path, 'r') { |f| f.read })
387
- @adult_parser = AutoParse.generate(@adult_schema_data, @adult_uri)
389
+ @adult_parser = AutoParse.generate(@adult_schema_data, :uri => @adult_uri)
388
390
  end
389
391
 
390
392
  it 'should have the correct URI' do
@@ -489,7 +491,9 @@ describe AutoParse::Instance, 'with the positive schema' do
489
491
  )
490
492
  @positive_schema_data =
491
493
  JSON.parse(File.open(@positive_uri.path, 'r') { |f| f.read })
492
- @positive_parser = AutoParse.generate(@positive_schema_data, @positive_uri)
494
+ @positive_parser = AutoParse.generate(
495
+ @positive_schema_data, :uri => @positive_uri
496
+ )
493
497
  end
494
498
 
495
499
  it 'should have the correct URI' do
@@ -518,7 +522,9 @@ describe AutoParse::Instance, 'with the account schema' do
518
522
  )
519
523
  @positive_schema_data =
520
524
  JSON.parse(File.open(@positive_uri.path, 'r') { |f| f.read })
521
- @positive_parser = AutoParse.generate(@positive_schema_data, @positive_uri)
525
+ @positive_parser = AutoParse.generate(
526
+ @positive_schema_data, :uri => @positive_uri
527
+ )
522
528
 
523
529
  @account_uri = Addressable::URI.new(
524
530
  :scheme => 'file',
@@ -527,7 +533,9 @@ describe AutoParse::Instance, 'with the account schema' do
527
533
  )
528
534
  @account_schema_data =
529
535
  JSON.parse(File.open(@account_uri.path, 'r') { |f| f.read })
530
- @account_parser = AutoParse.generate(@account_schema_data, @account_uri)
536
+ @account_parser = AutoParse.generate(
537
+ @account_schema_data, :uri => @account_uri
538
+ )
531
539
  end
532
540
 
533
541
  it 'should have the correct URI' do
@@ -624,7 +632,9 @@ describe AutoParse::Instance, 'with the card schema' do
624
632
  )
625
633
  @address_schema_data =
626
634
  JSON.parse(File.open(@address_uri.path, 'r') { |f| f.read })
627
- @address_parser = AutoParse.generate(@address_schema_data, @address_uri)
635
+ @address_parser = AutoParse.generate(
636
+ @address_schema_data, :uri => @address_uri
637
+ )
628
638
 
629
639
  @geo_uri = Addressable::URI.new(
630
640
  :scheme => 'file',
@@ -633,7 +643,7 @@ describe AutoParse::Instance, 'with the card schema' do
633
643
  )
634
644
  @geo_schema_data =
635
645
  JSON.parse(File.open(@geo_uri.path, 'r') { |f| f.read })
636
- @geo_parser = AutoParse.generate(@geo_schema_data, @geo_uri)
646
+ @geo_parser = AutoParse.generate(@geo_schema_data, :uri => @geo_uri)
637
647
 
638
648
  @card_uri = Addressable::URI.new(
639
649
  :scheme => 'file',
@@ -642,7 +652,7 @@ describe AutoParse::Instance, 'with the card schema' do
642
652
  )
643
653
  @card_schema_data =
644
654
  JSON.parse(File.open(@card_uri.path, 'r') { |f| f.read })
645
- @card_parser = AutoParse.generate(@card_schema_data, @card_uri)
655
+ @card_parser = AutoParse.generate(@card_schema_data, :uri => @card_uri)
646
656
  end
647
657
 
648
658
  it 'should have the correct URI' do
@@ -940,7 +950,7 @@ describe AutoParse::Instance, 'with the calendar schema' do
940
950
  )
941
951
  @geo_schema_data =
942
952
  JSON.parse(File.open(@geo_uri.path, 'r') { |f| f.read })
943
- @geo_parser = AutoParse.generate(@geo_schema_data, @geo_uri)
953
+ @geo_parser = AutoParse.generate(@geo_schema_data, :uri => @geo_uri)
944
954
 
945
955
  @calendar_uri = Addressable::URI.new(
946
956
  :scheme => 'file',
@@ -949,7 +959,9 @@ describe AutoParse::Instance, 'with the calendar schema' do
949
959
  )
950
960
  @calendar_schema_data =
951
961
  JSON.parse(File.open(@calendar_uri.path, 'r') { |f| f.read })
952
- @calendar_parser = AutoParse.generate(@calendar_schema_data, @calendar_uri)
962
+ @calendar_parser = AutoParse.generate(
963
+ @calendar_schema_data, :uri => @calendar_uri
964
+ )
953
965
  end
954
966
 
955
967
  it 'should have the correct URI' do
@@ -1118,7 +1130,7 @@ describe AutoParse::Instance, 'with the node schema' do
1118
1130
  :path => File.expand_path(File.join(spec_dir, './data/node.json'))
1119
1131
  )
1120
1132
  @schema_data = JSON.parse(File.open(@uri.path, 'r') { |f| f.read })
1121
- @parser = AutoParse.generate(@schema_data, @uri)
1133
+ @parser = AutoParse.generate(@schema_data, :uri => @uri)
1122
1134
  end
1123
1135
 
1124
1136
  it 'should have the correct URI' do
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autoparse
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
5
- prerelease:
4
+ prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 2
9
- - 1
10
- version: 0.2.1
8
+ - 3
9
+ version: 0.2.3
11
10
  platform: ruby
12
11
  authors:
13
12
  - Bob Aman
@@ -15,7 +14,8 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2011-10-14 00:00:00 Z
17
+ date: 2011-10-21 00:00:00 +03:00
18
+ default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: addressable
@@ -25,7 +25,6 @@ dependencies:
25
25
  requirements:
26
26
  - - ~>
27
27
  - !ruby/object:Gem::Version
28
- hash: 3
29
28
  segments:
30
29
  - 2
31
30
  - 2
@@ -41,7 +40,6 @@ dependencies:
41
40
  requirements:
42
41
  - - ">="
43
42
  - !ruby/object:Gem::Version
44
- hash: 11
45
43
  segments:
46
44
  - 1
47
45
  - 4
@@ -57,7 +55,6 @@ dependencies:
57
55
  requirements:
58
56
  - - ">="
59
57
  - !ruby/object:Gem::Version
60
- hash: 37
61
58
  segments:
62
59
  - 0
63
60
  - 9
@@ -73,7 +70,6 @@ dependencies:
73
70
  requirements:
74
71
  - - ~>
75
72
  - !ruby/object:Gem::Version
76
- hash: 57
77
73
  segments:
78
74
  - 0
79
75
  - 8
@@ -89,7 +85,6 @@ dependencies:
89
85
  requirements:
90
86
  - - ~>
91
87
  - !ruby/object:Gem::Version
92
- hash: 23
93
88
  segments:
94
89
  - 2
95
90
  - 6
@@ -105,7 +100,6 @@ dependencies:
105
100
  requirements:
106
101
  - - ~>
107
102
  - !ruby/object:Gem::Version
108
- hash: 23
109
103
  segments:
110
104
  - 0
111
105
  - 3
@@ -121,7 +115,6 @@ dependencies:
121
115
  requirements:
122
116
  - - ~>
123
117
  - !ruby/object:Gem::Version
124
- hash: 23
125
118
  segments:
126
119
  - 1
127
120
  - 1
@@ -176,6 +169,7 @@ files:
176
169
  - LICENSE
177
170
  - Rakefile
178
171
  - README.md
172
+ has_rdoc: true
179
173
  homepage: http://autoparse.rubyforge.org/
180
174
  licenses: []
181
175
 
@@ -190,7 +184,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
190
184
  requirements:
191
185
  - - ">="
192
186
  - !ruby/object:Gem::Version
193
- hash: 3
194
187
  segments:
195
188
  - 0
196
189
  version: "0"
@@ -199,14 +192,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
192
  requirements:
200
193
  - - ">="
201
194
  - !ruby/object:Gem::Version
202
- hash: 3
203
195
  segments:
204
196
  - 0
205
197
  version: "0"
206
198
  requirements: []
207
199
 
208
200
  rubyforge_project: autoparse
209
- rubygems_version: 1.8.6
201
+ rubygems_version: 1.3.7
210
202
  signing_key:
211
203
  specification_version: 3
212
204
  summary: A parsing system based on JSON Schema.