gson-class-generator 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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