class_from_son 0.2.1 → 0.2.2

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/class_from_SON.rb +15 -4
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7faa342b7ee967052d435004f43ce42c65da00131023013fc42309ce6a9e8808
4
- data.tar.gz: 356699a2d3b8f2df84da9010cc03fa33c779e3ca1bb6dbdfa11cfbb2568487aa
3
+ metadata.gz: 86fd5ffbcbad4d75f5ba1415762ef98380c2752c0fdd523e5b903cda8fedcf35
4
+ data.tar.gz: f89cad4aad4fee289a266b774080a06db9165145e5a26fb852be1f2f6a1f647d
5
5
  SHA512:
6
- metadata.gz: 2bbd9f6ca9246dc4b273a037e322bf4da6ce69258c120fc56f5ba2240b4a5047020867ed16cd86833c2a7dd4806855174acea4cabcb272e25a4527d821042e5f
7
- data.tar.gz: 1b7967cffab7c886230b0d726260516441dfaf320d7238d50b201d2b655340d1446396ec9eb57b477b7a5122fd6c842954baf20a89b65b6934182e78f2bfdd62
6
+ metadata.gz: 160a134313363eb41fb3ba88bd54272c6d8c127c61f6201266689df24a2db82c5a5919c14d0e9dde81946eaf9837523ad16b6a040f9b4a80177dc676f24df420
7
+ data.tar.gz: 52647cc8256cb44ec638a43850c4a009bf09fdcfda56440f00bd47262f1e4e499b8699fd8b195ce3e09c2a2fe5c5c65ebcc3cf91b19320216a920f0f35831293
@@ -354,24 +354,35 @@ START
354
354
  code << " def self.from_#{@mode}(#{@mode})"
355
355
  case @mode
356
356
  when :json
357
- code << " self.from_hash(JSON.parse(#{@mode}))"
357
+ code << " self.from_hash(JSON.parse(#{@mode}, :symbolize_names => true))"
358
358
  # TODO other input languages, e.g. XML, YAML
359
359
  end
360
360
  code << " end"
361
361
 
362
- # to_SON method
362
+ # to_hash method
363
363
  code << ""
364
- code << " def to_#{@mode}"
364
+ code << " def to_hash"
365
365
  code << " h = {}"
366
366
  names.each do |name|
367
367
  code << " h[:#{name}] = @#{name}"
368
368
  end
369
+ code << " h"
370
+ code << " end"
371
+
372
+ # to_SON method & alias
373
+ code << ""
374
+ code << " def to_#{@mode}"
369
375
  case @mode
370
376
  when :json
371
- code << " JSON.generate(h)"
377
+ code << " JSON.generate(to_hash)"
372
378
  # TODO other input languages, e.g. XML, YAML
373
379
  end
374
380
  code << " end"
381
+ case @mode
382
+ when :json
383
+ code << " alias to_s to_json"
384
+ # TODO other input languages, e.g. XML, YAML
385
+ end
375
386
  code
376
387
  end
377
388
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: class_from_son
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Morrisby
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-06 00:00:00.000000000 Z
11
+ date: 2021-07-07 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This gem will attempt to generate code of a class of an object representing
14
14
  the contents of a Serialised-Object-Notation (SON) string (or file). E.g. it will