class_from_son 0.2.0 → 0.2.1
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.
- checksums.yaml +4 -4
- data/lib/class_from_SON.rb +18 -18
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7faa342b7ee967052d435004f43ce42c65da00131023013fc42309ce6a9e8808
|
4
|
+
data.tar.gz: 356699a2d3b8f2df84da9010cc03fa33c779e3ca1bb6dbdfa11cfbb2568487aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bbd9f6ca9246dc4b273a037e322bf4da6ce69258c120fc56f5ba2240b4a5047020867ed16cd86833c2a7dd4806855174acea4cabcb272e25a4527d821042e5f
|
7
|
+
data.tar.gz: 1b7967cffab7c886230b0d726260516441dfaf320d7238d50b201d2b655340d1446396ec9eb57b477b7a5122fd6c842954baf20a89b65b6934182e78f2bfdd62
|
data/lib/class_from_SON.rb
CHANGED
@@ -299,18 +299,18 @@ START
|
|
299
299
|
|
300
300
|
# Instance variables
|
301
301
|
names.each do |name|
|
302
|
-
code << "
|
302
|
+
code << " attr_accessor #{name.to_sym.inspect}"
|
303
303
|
end
|
304
304
|
code << "" # An empty string is enough to trigger a newline
|
305
305
|
|
306
306
|
# Constructor
|
307
307
|
# This is deliberately commented out, in favour of self.from_hash
|
308
|
-
code << "
|
309
|
-
code << "
|
308
|
+
code << " # Using self.from_hash(hash) is usually better, but this code is here in case you prefer this style of constructor"
|
309
|
+
code << " # def initialize(#{names.join(", ")})"
|
310
310
|
names.each do |name|
|
311
|
-
code << "
|
311
|
+
code << " # @#{name} = #{name}"
|
312
312
|
end
|
313
|
-
code << "
|
313
|
+
code << " # end"
|
314
314
|
code
|
315
315
|
end
|
316
316
|
|
@@ -341,37 +341,37 @@ START
|
|
341
341
|
|
342
342
|
# from_hash method
|
343
343
|
code << ""
|
344
|
-
code << "
|
345
|
-
code << "
|
344
|
+
code << " def self.from_hash(h)"
|
345
|
+
code << " o = self.new"
|
346
346
|
names.each do |name|
|
347
|
-
code << "
|
347
|
+
code << " o.#{name} = h[:#{name}]"
|
348
348
|
end
|
349
|
-
code << "
|
350
|
-
code << "
|
349
|
+
code << " o"
|
350
|
+
code << " end"
|
351
351
|
|
352
352
|
# from_SON method
|
353
353
|
code << ""
|
354
|
-
code << "
|
354
|
+
code << " def self.from_#{@mode}(#{@mode})"
|
355
355
|
case @mode
|
356
356
|
when :json
|
357
|
-
code << "
|
357
|
+
code << " self.from_hash(JSON.parse(#{@mode}))"
|
358
358
|
# TODO other input languages, e.g. XML, YAML
|
359
359
|
end
|
360
|
-
code << "
|
360
|
+
code << " end"
|
361
361
|
|
362
362
|
# to_SON method
|
363
363
|
code << ""
|
364
|
-
code << "
|
365
|
-
code << "
|
364
|
+
code << " def to_#{@mode}"
|
365
|
+
code << " h = {}"
|
366
366
|
names.each do |name|
|
367
|
-
code << "
|
367
|
+
code << " h[:#{name}] = @#{name}"
|
368
368
|
end
|
369
369
|
case @mode
|
370
370
|
when :json
|
371
|
-
code << "
|
371
|
+
code << " JSON.generate(h)"
|
372
372
|
# TODO other input languages, e.g. XML, YAML
|
373
373
|
end
|
374
|
-
code << "
|
374
|
+
code << " end"
|
375
375
|
code
|
376
376
|
end
|
377
377
|
|