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 +4 -4
- data/lib/{class_from_son.rb → class_from_SON.rb} +15 -3
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a9c37e0f86b52f9b278a97fe1282d031ec1fd8bacc4697f45e039bf624d460b
|
4
|
+
data.tar.gz: f40619bf1ecbe6e9f2bbd1ec44c814d9eaef5efc1e81934ee4b2df2fb2d319a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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 =
|
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
|
-
|
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.
|
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-
|
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/
|
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.
|
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)
|