class_from_son 0.1.2 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5740fbc390fbbac552526431b7f7c4aa1039482ed8c412e93f4ad17c6095c1cc
4
- data.tar.gz: e0bbffad8e12988912e6c7958cf17f1ef8de88106530df49755d6f781b7aab4a
3
+ metadata.gz: 2a9c37e0f86b52f9b278a97fe1282d031ec1fd8bacc4697f45e039bf624d460b
4
+ data.tar.gz: f40619bf1ecbe6e9f2bbd1ec44c814d9eaef5efc1e81934ee4b2df2fb2d319a6
5
5
  SHA512:
6
- metadata.gz: a273fec4c6db2ca18253ad15c145f796dd8f0bd1ccd2ad6bb1213e061359fa272e784518689614f091ebf0b6c74fa6a9a6a528b18406cc45eb715c0cdd579e76
7
- data.tar.gz: ae82fefbded46c38a84125f97b4cd89b1fa551972ec0bb56a407e1d81f83ff79a69aa66357288c78c878d134d538bc8feb67aec35e0f122e961a2bccec64d109
6
+ metadata.gz: 833ef78c9b05c1b5310507fad502551e1d8734aa77093cdf786c478d66404d960c1bd94447f3f0ca13a881bcc678be9e6758d2c88bde56899e2ade0f04b68467
7
+ data.tar.gz: d40049cc202f07ac2ed698f5f0ff0896264d50f0eda0980252c7b04cd03b9521335b49963b77895234cfc6a15de6218a90824877168ffdef0c1c87f67ee279a0
@@ -153,7 +153,7 @@ class ClassFromSON
153
153
  when :java
154
154
  return name.capitalize_first_letter_only + @extension
155
155
  when :ruby
156
- return name.downcase + @extension # TODO convert camelcase to underbarised case
156
+ return name.snakecase + @extension
157
157
  else
158
158
  error_and_exit "Could not convert to output language #{@language}"
159
159
  end
@@ -174,7 +174,12 @@ class ClassFromSON
174
174
  def generate_class_start(name)
175
175
  case @language
176
176
  when :java
177
- start = "public class #{convert_custom_class_type(name)} {"
177
+ start = <<-START
178
+
179
+ import com.fasterxml.jackson.annotation.JsonProperty;
180
+
181
+ public class #{convert_custom_class_type(name)} {
182
+ START
178
183
  when :ruby
179
184
  start = "class #{convert_custom_class_type(name)}"
180
185
  else
@@ -232,7 +237,14 @@ class ClassFromSON
232
237
  code = []
233
238
  # Instance variables
234
239
  attributes.each do |att|
235
- code << "\tpublic #{convert_ruby_type_to_type(att[:type], att[:value_types])} #{att[:name]};"
240
+ if att.contains "_"
241
+ snakecase_name = att[:name]
242
+ camelcase_name = att[:name].camelcase
243
+ code << "\t@JsonProperty(\"#{snakecase_name}\")"
244
+ code << "\tprivate #{convert_ruby_type_to_type(att[:type], att[:value_types])} #{camelcase_name};"
245
+ else
246
+ code << "\tprivate #{convert_ruby_type_to_type(att[:type], att[:value_types])} #{att[:name]};"
247
+ end
236
248
  end
237
249
 
238
250
  #TODO constructor
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.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Morrisby
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-23 00:00:00.000000000 Z
11
+ date: 2020-08-20 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
@@ -20,7 +20,7 @@ extra_rdoc_files:
20
20
  - README.md
21
21
  files:
22
22
  - README.md
23
- - lib/class_from_son.rb
23
+ - lib/class_from_SON.rb
24
24
  - test/test_class_from_son.rb
25
25
  homepage: https://rubygems.org/gems/class_from_son
26
26
  licenses:
@@ -41,7 +41,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0'
43
43
  requirements: []
44
- rubygems_version: 3.1.2
44
+ rubygems_version: 3.0.3
45
45
  signing_key:
46
46
  specification_version: 4
47
47
  summary: Generates classes from Serialised-Object-Notation (e.g. JSON)