knu-perlstorable 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/perlstorable.rb +23 -12
  2. metadata +1 -1
@@ -23,6 +23,7 @@ module PerlStorable
23
23
  #
24
24
  # call-seq:
25
25
  # PerlStorable.thaw(str) => object
26
+ # PerlStorable.load(str) => object
26
27
  #
27
28
  # Deserializes a string serialized by Perl's Storable module.
28
29
  #
@@ -59,6 +60,10 @@ module PerlStorable
59
60
  io.close if need_close
60
61
  end
61
62
 
63
+ class << self
64
+ alias load thaw
65
+ end
66
+
62
67
  SX_OBJECT = 0 # Already stored object
63
68
  SX_LSCALAR = 1 # Scalar (large binary) follows (length, data)
64
69
  SX_ARRAY = 2 # Array forthcominng (size, item list)
@@ -374,11 +379,29 @@ module PerlStorable
374
379
 
375
380
  end
376
381
 
382
+ # This class represents a Perl scalar value that is immutable in
383
+ # Ruby. (most likely an integer)
377
384
  class PerlScalar
385
+ attr_reader :value
386
+
378
387
  def initialize(value)
379
388
  @value = value
380
389
  end
381
390
 
391
+ def to_i
392
+ @value.to_i
393
+ end
394
+ alias to_int to_i
395
+
396
+ def to_s
397
+ @value.to_s
398
+ end
399
+ alias to_str to_s
400
+
401
+ def to_f
402
+ @value.to_f
403
+ end
404
+
382
405
  def inspect
383
406
  '#<%s:%s>' % [self.class, @value.inspect]
384
407
  end
@@ -414,15 +437,3 @@ module PerlStorable
414
437
  obj.is_a?(PerlBlessed)
415
438
  end
416
439
  end
417
-
418
- if $0 == __FILE__
419
- eval DATA.read, nil, $0, __LINE__+4
420
- end
421
-
422
- __END__
423
-
424
- # TODO: Real tests needed
425
-
426
- require 'pp'
427
- obj = PerlStorable.thaw(ARGF.read)
428
- pp obj
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knu-perlstorable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akinori MUSHA