gson-class-generator 1.0.0 → 1.0.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gson-class-generator.rb +7 -4
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 31edff5ae4bbb5516c78e6de582d195b766171b7
4
- data.tar.gz: 9a52c4c0cecb7523f40cc91e4081a6708e5752e6
3
+ metadata.gz: cf5063f622783c4ff013907bea9254c96323b2f1
4
+ data.tar.gz: f5072e956389cd1ade7ed1b7ff06667e3784c27e
5
5
  SHA512:
6
- metadata.gz: efb5fbdcbd12fe87cd37cd0a26e51c6438375d03bed6e4bdeddd3376408a9ef109df6f496a516e5485bc91f78d7fdd47785c0027e74af492c16cb6cc1bb01c24
7
- data.tar.gz: 41b5df16e9ba959c8b3c62978763ac4fd8105ab6a69a3b7400a39552af664fc8c6d251eaeda79d424c353a273430673e6dc23149353ff057b5b7274018f9ac7f
6
+ metadata.gz: f41e33b6ac77d6f040c3979a8fcc09f349cd7dec85e99c5fcb1d25fde17ad6922c66f4c70cd75ebf1122f1c2f40a8be07315cc1c153799128c49f5a40c58e459
7
+ data.tar.gz: a5edab69555f7a3e291c28f470685cdc4a03e895bfa5689f1cb860f49fa04abad8bf840b252cbef574dbffe6fdd8da2da68ec54e10e2d65dfbcceeb001bc796c
@@ -397,7 +397,7 @@ module GSONClassGenerator
397
397
  end
398
398
 
399
399
  def self.javaify_key(json_key, is_array)
400
- field_name = json_key
400
+ field_name = json_key.dup
401
401
 
402
402
  if (is_array)
403
403
  if (!field_name.end_with?("s"))
@@ -407,19 +407,22 @@ module GSONClassGenerator
407
407
  end
408
408
 
409
409
  # Clean up first character
410
- field_name = field_name.gsub(/^[^\p{Pc}\p{Alnum}\p{Sc}]+/, "")
410
+ field_name.gsub!(/^[^\p{Pc}\p{Alnum}\p{Sc}]+/, "")
411
411
 
412
412
  # Clean up allowed characters
413
- field_name = field_name.gsub(/[^\p{Pc}\p{Alnum}\p{Sc}]/, "_")
413
+ field_name.gsub!(/[^\p{Pc}\p{Alnum}\p{Sc}]/, "_")
414
414
 
415
415
  # Camel case underscores
416
- field_name = field_name.gsub(/(?!^_)_+(.)/) { $1.upcase }
416
+ field_name.gsub!(/(?!^_)_+(.)/) { $1.upcase }
417
417
 
418
418
  # Clean up field name in case its a Java keyword
419
419
  if (!(JAVA_KEYWORDS.index(field_name) === nil))
420
420
  field_name += "_"
421
421
  end
422
422
 
423
+ # Lower case first letter, but allow if 2 or more upper case characters are present
424
+ field_name.gsub!(/^(\p{Upper})(?!\p{Upper}+)/) { $1.downcase }
425
+
423
426
  field_name
424
427
  end
425
428
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gson-class-generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rich Hodgkins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-01 00:00:00.000000000 Z
11
+ date: 2014-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json