j2j 0.1.0 → 0.1.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/.coveralls.yml +1 -0
- data/.gitignore +9 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +15 -0
- data/Gemfile +4 -0
- data/Guardfile +11 -0
- data/LICENSE +22 -0
- data/README.md +36 -0
- data/Rakefile +10 -0
- data/bin/j2j +6 -0
- data/bin/setup +7 -0
- data/j2j.gemspec +34 -0
- data/lib/j2j/configurator.rb +20 -0
- data/lib/j2j/converter.rb +333 -0
- data/lib/j2j/field_details.rb +3 -0
- data/lib/j2j/version.rb +3 -0
- data/lib/j2j.rb +44 -0
- metadata +30 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f31a54131544c0d9cac9547e566d71a1ad62af81
|
4
|
+
data.tar.gz: f2c2a12b448256f333cc721e715471ba8fad3d7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ca8381d43e8d5e49197a4910097f09bca5cf92f60f036b4797ad3bda16c29cc7c209e0811b78634434bc531b9f710ce960411d33937a9c438e98bd5ebcc2e1a
|
7
|
+
data.tar.gz: 715cfdf1418cf60a3b80ba6a8abb67fae467f4a985f132086bcc2f6307d68df2ae6be0696f120beda444f91738ccc91ae25389f57d3afa074699451e79f4d68c
|
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
service_name: travis-ci
|
data/.gitignore
ADDED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
j2j
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.2.1
|
data/.travis.yml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
language: ruby
|
2
|
+
cache: bundler
|
3
|
+
|
4
|
+
rvm:
|
5
|
+
- 2.2.1
|
6
|
+
before_install: gem install bundler -v 1.10.6
|
7
|
+
|
8
|
+
script: 'bundle exec rake'
|
9
|
+
|
10
|
+
notifications:
|
11
|
+
email:
|
12
|
+
recipients:
|
13
|
+
- cesar.manuel.ferreira@gmail.com
|
14
|
+
on_failure: change
|
15
|
+
on_success: never
|
data/Gemfile
ADDED
data/Guardfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2015 César Ferreira
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
22
|
+
|
data/README.md
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# J2j
|
2
|
+
|
3
|
+
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/j2j`. To experiment with that code, run `bin/console` for an interactive prompt.
|
4
|
+
|
5
|
+
TODO: Delete this and the text above, and describe your gem
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add this line to your application's Gemfile:
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
gem 'j2j'
|
13
|
+
```
|
14
|
+
|
15
|
+
And then execute:
|
16
|
+
|
17
|
+
$ bundle
|
18
|
+
|
19
|
+
Or install it yourself as:
|
20
|
+
|
21
|
+
$ gem install j2j
|
22
|
+
|
23
|
+
## Usage
|
24
|
+
|
25
|
+
TODO: Write usage instructions here
|
26
|
+
|
27
|
+
## Development
|
28
|
+
|
29
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake false` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
30
|
+
|
31
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
32
|
+
|
33
|
+
## Contributing
|
34
|
+
|
35
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/j2j.
|
36
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'rspec/core/rake_task'
|
2
|
+
require 'bundler/gem_tasks'
|
3
|
+
|
4
|
+
# Default directory to look in is `/specs`
|
5
|
+
# Run with `rake spec`
|
6
|
+
RSpec::Core::RakeTask.new(:spec) do |task|
|
7
|
+
task.rspec_opts = ['--color', '--format', 'nested']
|
8
|
+
end
|
9
|
+
|
10
|
+
task :default => :spec
|
data/bin/j2j
ADDED
data/bin/setup
ADDED
data/j2j.gemspec
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'j2j/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "j2j"
|
8
|
+
spec.version = J2j::VERSION
|
9
|
+
spec.authors = ["cesar ferreira"]
|
10
|
+
spec.email = ["cesar.manuel.ferreira@gmail.com"]
|
11
|
+
|
12
|
+
spec.license = 'MIT'
|
13
|
+
spec.summary = %q{Convert any file.json to Classe.java files}
|
14
|
+
spec.description = %q{Convert any file.json to Classe.java files}
|
15
|
+
spec.homepage = "https://github.com/cesarferreira/j2j"
|
16
|
+
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
|
+
spec.bindir = "bin"
|
19
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
20
|
+
spec.require_paths = ["lib"]
|
21
|
+
|
22
|
+
spec.add_development_dependency "bundler", "~> 1.10"
|
23
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
24
|
+
spec.add_development_dependency "guard"
|
25
|
+
spec.add_development_dependency "guard-rspec"
|
26
|
+
spec.add_development_dependency "coveralls"
|
27
|
+
|
28
|
+
spec.add_dependency 'pry-byebug', '~> 3.1'
|
29
|
+
spec.add_dependency 'thor', '~> 0.19.1'
|
30
|
+
spec.add_dependency 'colorize', '~> 0.7'
|
31
|
+
spec.add_dependency 'json', '~> 1.8.3'
|
32
|
+
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#
|
2
|
+
# Set default values here, some can be overridden on command line
|
3
|
+
#
|
4
|
+
class Configurator
|
5
|
+
attr_accessor :package, :json_file, :top_level_class,
|
6
|
+
:output_directory,
|
7
|
+
:unknown_class,
|
8
|
+
:json_property_import, :json_serialize_import
|
9
|
+
|
10
|
+
def initialize
|
11
|
+
|
12
|
+
# If types cannot be inferred from example json, they will be represented with Object unless overridden.
|
13
|
+
# In which case, UNKNOWN will be used. This will prohibit the class from compiling.
|
14
|
+
self.unknown_class = "Object"
|
15
|
+
|
16
|
+
self.json_property_import = "import java.util.date;"
|
17
|
+
self.json_serialize_import = "import com.google.gson.annotations.SerializedName;"
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,333 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'pry'
|
3
|
+
|
4
|
+
require_relative './configurator'
|
5
|
+
require_relative './field_details'
|
6
|
+
|
7
|
+
|
8
|
+
@java_classes = {}
|
9
|
+
@java_fields = {}
|
10
|
+
@java_lists = {}
|
11
|
+
@field_info = {}
|
12
|
+
|
13
|
+
##
|
14
|
+
## GET JAVA TYPES
|
15
|
+
##
|
16
|
+
def get_java_type(value, field_details, key)
|
17
|
+
field_details.write_class_file = false
|
18
|
+
java_type = @config.unknown_class
|
19
|
+
|
20
|
+
if value.is_a?(Fixnum)
|
21
|
+
java_type = "Long"
|
22
|
+
elsif value.is_a?(Float)
|
23
|
+
java_type = "Double"
|
24
|
+
elsif value.is_a?(Array)
|
25
|
+
inner_value = get_java_type(value[0], field_details, key)
|
26
|
+
if inner_value == @config.unknown_class
|
27
|
+
inner_value = to_java_class_name(key)
|
28
|
+
if @do_chop
|
29
|
+
inner_value.chop!
|
30
|
+
end
|
31
|
+
inner_value = add_class_prefix_and_suffix(inner_value)
|
32
|
+
setup_data(value[0], key)
|
33
|
+
field_details.write_class_file = true
|
34
|
+
end
|
35
|
+
java_type = "List<" + inner_value + ">"
|
36
|
+
elsif value.is_a?(String)
|
37
|
+
java_type = "String"
|
38
|
+
elsif value.is_a?(TrueClass) || value.is_a?(FalseClass)
|
39
|
+
java_type = "Boolean"
|
40
|
+
end
|
41
|
+
return java_type;
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
##
|
46
|
+
## PROCESS ARRAY
|
47
|
+
##
|
48
|
+
def process_array(value, field_details, key, parent)
|
49
|
+
field_details.type = "Array"
|
50
|
+
@java_classes[key] = parent
|
51
|
+
@java_lists[key] = parent
|
52
|
+
if value[0].is_a?(Hash)
|
53
|
+
setup_data(value[0], key)
|
54
|
+
else
|
55
|
+
field_details.array_type = get_java_type(value[0], field_details, key)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
##
|
61
|
+
## SETUP THE DATA
|
62
|
+
##
|
63
|
+
def setup_data(hash, parent)
|
64
|
+
@java_fields[parent] = []
|
65
|
+
hash.each do |key,value|
|
66
|
+
field_details = FieldDetails.new
|
67
|
+
field_details.field_name = key
|
68
|
+
field_details.parent = parent
|
69
|
+
field_details.write_class_file = true
|
70
|
+
if value.is_a?(Array)
|
71
|
+
process_array(value, field_details, key, parent)
|
72
|
+
elsif value.is_a?(Hash)
|
73
|
+
@java_classes[key] = parent
|
74
|
+
field_details.type = "Hash"
|
75
|
+
setup_data(value, key)
|
76
|
+
else
|
77
|
+
field_details.type = get_java_type(value, field_details, key)
|
78
|
+
end
|
79
|
+
@field_info[key] = field_details
|
80
|
+
@java_fields[parent] = @java_fields[parent] + [ key ]
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
##
|
88
|
+
## TO JAVA CLASS NAME
|
89
|
+
##
|
90
|
+
def to_java_class_name(class_name)
|
91
|
+
java_class_name = ""
|
92
|
+
separator = false
|
93
|
+
first = true
|
94
|
+
class_name.each_char do |c|
|
95
|
+
if separator or first
|
96
|
+
java_class_name = java_class_name + c.to_s.upcase
|
97
|
+
separator = false
|
98
|
+
first = false
|
99
|
+
else
|
100
|
+
case c
|
101
|
+
when '-'
|
102
|
+
when '_'
|
103
|
+
separator = true
|
104
|
+
else
|
105
|
+
java_class_name = java_class_name + c
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
return java_class_name
|
111
|
+
end
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
##
|
116
|
+
## TO JAVA FIELD NAME
|
117
|
+
##
|
118
|
+
def to_java_field_name(field_name)
|
119
|
+
java_field_name = ""
|
120
|
+
separator = false
|
121
|
+
first = true
|
122
|
+
leave_lowercase = false
|
123
|
+
|
124
|
+
field_name.each_char do |c|
|
125
|
+
if separator
|
126
|
+
if leave_lowercase
|
127
|
+
java_field_name = java_field_name + c
|
128
|
+
else
|
129
|
+
java_field_name = java_field_name + c.to_s.upcase
|
130
|
+
end
|
131
|
+
separator = false
|
132
|
+
else
|
133
|
+
case c
|
134
|
+
when '-'
|
135
|
+
when '_'
|
136
|
+
separator = true
|
137
|
+
leave_lowercase = false
|
138
|
+
if first
|
139
|
+
leave_lowercase = true
|
140
|
+
end
|
141
|
+
else
|
142
|
+
java_field_name = java_field_name + c
|
143
|
+
end
|
144
|
+
end
|
145
|
+
first = false
|
146
|
+
end
|
147
|
+
|
148
|
+
return java_field_name
|
149
|
+
end
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
##
|
154
|
+
## TO JAVA METHOD NAME
|
155
|
+
##
|
156
|
+
def to_java_method_name(field_name)
|
157
|
+
java_method_name = ""
|
158
|
+
separator = false
|
159
|
+
first = true
|
160
|
+
field_name.each_char do |c|
|
161
|
+
if separator
|
162
|
+
java_method_name = java_method_name + c.to_s.upcase
|
163
|
+
separator = false
|
164
|
+
else
|
165
|
+
case c
|
166
|
+
when '-'
|
167
|
+
when '_'
|
168
|
+
separator = true
|
169
|
+
else
|
170
|
+
if first
|
171
|
+
java_method_name = java_method_name + c.to_s.upcase
|
172
|
+
else
|
173
|
+
java_method_name = java_method_name + c
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
177
|
+
first = false
|
178
|
+
end
|
179
|
+
|
180
|
+
return java_method_name
|
181
|
+
end
|
182
|
+
|
183
|
+
|
184
|
+
##
|
185
|
+
## WRITE FILE
|
186
|
+
##
|
187
|
+
def write_file(value)
|
188
|
+
|
189
|
+
if value
|
190
|
+
return value.write_class_file
|
191
|
+
end
|
192
|
+
return true
|
193
|
+
end
|
194
|
+
|
195
|
+
|
196
|
+
##
|
197
|
+
## JAVA CLASS TO BE OUTPUTED
|
198
|
+
##
|
199
|
+
def java_class_output(class_name, parent)
|
200
|
+
|
201
|
+
proper_class_name = to_java_class_name(class_name)
|
202
|
+
if @java_lists[class_name]
|
203
|
+
proper_class_name.chop! if @do_chop
|
204
|
+
end
|
205
|
+
|
206
|
+
field_list = ""
|
207
|
+
list_import = ""
|
208
|
+
json_property_import = ""
|
209
|
+
json_serialize_import = ""
|
210
|
+
getters_and_setters = ""
|
211
|
+
|
212
|
+
if @java_fields[class_name]
|
213
|
+
@java_fields[class_name].each do |field|
|
214
|
+
field_type = @field_info[field].type
|
215
|
+
method_name = to_java_method_name(field)
|
216
|
+
java_field = to_java_field_name(field)
|
217
|
+
if @java_fields[field]
|
218
|
+
field_type = to_java_class_name(field)
|
219
|
+
method_name = to_java_method_name(field_type)
|
220
|
+
end
|
221
|
+
if (@java_lists[field] and @java_lists[field] == class_name)
|
222
|
+
if @field_info[field].array_type
|
223
|
+
field_type = @field_info[field].array_type
|
224
|
+
elsif @do_chop
|
225
|
+
field_type.chop!
|
226
|
+
end
|
227
|
+
field_type = "List<#{field_type}>"
|
228
|
+
list_import = "import java.util.List;"
|
229
|
+
|
230
|
+
end
|
231
|
+
json_annotation = ""
|
232
|
+
if java_field != field
|
233
|
+
json_property_import = @config.json_property_import
|
234
|
+
json_annotation = " @SerializedName(\"#{field}\")\n"
|
235
|
+
|
236
|
+
end
|
237
|
+
field_list = field_list + json_annotation + " private #{field_type} #{java_field};\n"
|
238
|
+
getters_and_setters = getters_and_setters + <<GS
|
239
|
+
|
240
|
+
public #{field_type} get#{method_name}() {
|
241
|
+
return #{java_field};
|
242
|
+
}
|
243
|
+
|
244
|
+
public void set#{method_name}(#{field_type} #{java_field}) {
|
245
|
+
this.#{java_field} = #{java_field};
|
246
|
+
}
|
247
|
+
GS
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
251
|
+
doc = <<JCO
|
252
|
+
#{@java_class_header}
|
253
|
+
package #@package;
|
254
|
+
|
255
|
+
#{list_import}
|
256
|
+
#{json_property_import}
|
257
|
+
#{json_serialize_import}
|
258
|
+
|
259
|
+
/**
|
260
|
+
* Created with cesarferreira/j2j
|
261
|
+
*/
|
262
|
+
public class #{proper_class_name} \{
|
263
|
+
|
264
|
+
#{field_list}
|
265
|
+
#{getters_and_setters}
|
266
|
+
\}
|
267
|
+
JCO
|
268
|
+
|
269
|
+
Dir.mkdir(@config.output_directory) if !File.exists?(@config.output_directory)
|
270
|
+
|
271
|
+
if !File.directory?(@config.output_directory)
|
272
|
+
puts "#{@config.output_directory} is not a directory!"
|
273
|
+
exit -1
|
274
|
+
end
|
275
|
+
|
276
|
+
# don't write java file files "primitive" array/list fields
|
277
|
+
if write_file(@field_info[class_name]) == true
|
278
|
+
File.open("#{@config.output_directory}/#{proper_class_name}.java", 'w') {|f| f.write(doc) }
|
279
|
+
end
|
280
|
+
|
281
|
+
end
|
282
|
+
|
283
|
+
|
284
|
+
##
|
285
|
+
## PARSE THE INCOMING PARAMS
|
286
|
+
##
|
287
|
+
def parse_args(path, params)
|
288
|
+
|
289
|
+
############################## TODO: analise path
|
290
|
+
|
291
|
+
@config.json_file = path
|
292
|
+
@config.package = params[:package]
|
293
|
+
@config.top_level_class = params[:root_class].gsub(/.java/,'')
|
294
|
+
@config.output_directory = params[:output]
|
295
|
+
|
296
|
+
end
|
297
|
+
|
298
|
+
##
|
299
|
+
## DO THE ACTUAL CONVERTING
|
300
|
+
##
|
301
|
+
def convert(path, options)
|
302
|
+
|
303
|
+
@java_classes = {}
|
304
|
+
@java_fields = {}
|
305
|
+
@java_lists = {}
|
306
|
+
@field_info = {}
|
307
|
+
|
308
|
+
@do_chop = true
|
309
|
+
@config = Configurator.new
|
310
|
+
|
311
|
+
parse_args(path, options)
|
312
|
+
|
313
|
+
puts "Using JSON file: #{@config.json_file.green}"
|
314
|
+
puts "Using Java package: #{@config.package.green}"
|
315
|
+
puts "Using Java top level class: #{@config.top_level_class.green}"
|
316
|
+
puts "Using output directory: #{@config.output_directory.green}"
|
317
|
+
|
318
|
+
@package = @config.package
|
319
|
+
|
320
|
+
if !File.exists?(@config.json_file)
|
321
|
+
puts "JSON file: #{@config.json_file} does not exist!"
|
322
|
+
puts "Try -h flag for help"
|
323
|
+
exit -1
|
324
|
+
end
|
325
|
+
|
326
|
+
json_file_contents = IO.read(@config.json_file)
|
327
|
+
json = JSON.parse(json_file_contents)
|
328
|
+
|
329
|
+
@java_classes[@config.top_level_class] = "TOP_LEVEL_CLASS"
|
330
|
+
setup_data(json, @config.top_level_class)
|
331
|
+
@java_classes.each { |class_name,parent| java_class_output(class_name, parent) }
|
332
|
+
|
333
|
+
end
|
data/lib/j2j/version.rb
ADDED
data/lib/j2j.rb
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'colorize'
|
3
|
+
require 'j2j/converter'
|
4
|
+
require 'j2j/version'
|
5
|
+
require 'thor/group'
|
6
|
+
|
7
|
+
|
8
|
+
module J2j
|
9
|
+
class Cli < Thor
|
10
|
+
|
11
|
+
include Thor::Actions
|
12
|
+
|
13
|
+
no_commands do
|
14
|
+
def log(str)
|
15
|
+
puts str if options[:verbose]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
def self.source_root
|
21
|
+
File.dirname(__FILE__)
|
22
|
+
end
|
23
|
+
|
24
|
+
desc 'path/to/file.json', 'indicate the path to the file.json'
|
25
|
+
class_option :root_class, :aliases => '-r', :default => 'Example.java'
|
26
|
+
class_option :package, :aliases => '-p', :default => 'com.example'
|
27
|
+
class_option :output, :aliases => '-o', :description => 'Number to call', :default => 'out'
|
28
|
+
def json(path_to_json)
|
29
|
+
puts "JSON: #{path_to_json}"
|
30
|
+
|
31
|
+
convert(path_to_json, options)
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
# map %w[--version -v] => :__print_version
|
38
|
+
# desc "--version, -v", "print the version"
|
39
|
+
# def __print_version
|
40
|
+
# puts J2j::VERSION
|
41
|
+
# end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: j2j
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- cesar ferreira
|
@@ -39,21 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rspec-nc
|
42
|
+
name: guard
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
45
|
- - ">="
|
@@ -67,7 +53,7 @@ dependencies:
|
|
67
53
|
- !ruby/object:Gem::Version
|
68
54
|
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: guard
|
56
|
+
name: guard-rspec
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
59
|
- - ">="
|
@@ -81,7 +67,7 @@ dependencies:
|
|
81
67
|
- !ruby/object:Gem::Version
|
82
68
|
version: '0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
70
|
+
name: coveralls
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
73
|
- - ">="
|
@@ -101,27 +87,13 @@ dependencies:
|
|
101
87
|
- - "~>"
|
102
88
|
- !ruby/object:Gem::Version
|
103
89
|
version: '3.1'
|
104
|
-
type: :
|
90
|
+
type: :runtime
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
94
|
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
96
|
version: '3.1'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: coveralls
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
97
|
- !ruby/object:Gem::Dependency
|
126
98
|
name: thor
|
127
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,14 +136,34 @@ dependencies:
|
|
164
136
|
- - "~>"
|
165
137
|
- !ruby/object:Gem::Version
|
166
138
|
version: 1.8.3
|
167
|
-
description:
|
139
|
+
description: Convert any file.json to Classe.java files
|
168
140
|
email:
|
169
141
|
- cesar.manuel.ferreira@gmail.com
|
170
|
-
executables:
|
142
|
+
executables:
|
143
|
+
- j2j
|
144
|
+
- setup
|
171
145
|
extensions: []
|
172
146
|
extra_rdoc_files: []
|
173
|
-
files:
|
174
|
-
|
147
|
+
files:
|
148
|
+
- ".coveralls.yml"
|
149
|
+
- ".gitignore"
|
150
|
+
- ".ruby-gemset"
|
151
|
+
- ".ruby-version"
|
152
|
+
- ".travis.yml"
|
153
|
+
- Gemfile
|
154
|
+
- Guardfile
|
155
|
+
- LICENSE
|
156
|
+
- README.md
|
157
|
+
- Rakefile
|
158
|
+
- bin/j2j
|
159
|
+
- bin/setup
|
160
|
+
- j2j.gemspec
|
161
|
+
- lib/j2j.rb
|
162
|
+
- lib/j2j/configurator.rb
|
163
|
+
- lib/j2j/converter.rb
|
164
|
+
- lib/j2j/field_details.rb
|
165
|
+
- lib/j2j/version.rb
|
166
|
+
homepage: https://github.com/cesarferreira/j2j
|
175
167
|
licenses:
|
176
168
|
- MIT
|
177
169
|
metadata: {}
|
@@ -194,5 +186,5 @@ rubyforge_project:
|
|
194
186
|
rubygems_version: 2.4.7
|
195
187
|
signing_key:
|
196
188
|
specification_version: 4
|
197
|
-
summary:
|
189
|
+
summary: Convert any file.json to Classe.java files
|
198
190
|
test_files: []
|