json_to_ruby_class 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
  SHA1:
3
- metadata.gz: 5e79ab780159d9945a39fe7cf39caac3a000c28a
4
- data.tar.gz: f719b74af8acd984a12d16af3e0fbc320c819a9c
3
+ metadata.gz: 9f1100e68418bc5e77bda78f5a3dd0b0d3d7d8d3
4
+ data.tar.gz: a377fde3a0c6c67af718370079ed5b14880d8aa8
5
5
  SHA512:
6
- metadata.gz: 37c14cf8e61ee28d5b745131147d636d8e25aa7c9231dbcdd41e63bec5011ed0eca61156badf7f58d66f80b0f5cd4fa756be360a34dfc3c4f41650637816683b
7
- data.tar.gz: ed523f23f1d9092da2fbc185dfe3077277638a3ade575e5ca5b691dcf6e367dd308eef1aba4ab92dd198ac12594b56542e484dfef149393df9237344efa66870
6
+ metadata.gz: 189216748734a6c23831cf3b58028c826902a9d80db7b1d41929f8159a77fc0218366ffba36431ef7293245ec4213eb192428dbc4d08f759f3bc56d35c528c76
7
+ data.tar.gz: 056c1ada2acb95e6af673463a2bbc5940c16d85d0a1426bea21b9dfb56cad160ca827c80a21388067a0d29228a8e1f5a430ed73651b5b1e1ed57e69b736aaf01
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.1.3 (2016-07-14)
2
+
3
+ Bug fixes
4
+ * class instead of Class
5
+ * Added needed activesupport for various methods
6
+
1
7
  ## 0.1.2 (2016-07-12)
2
8
 
3
9
  Bug fixes
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # JsonToRubyClass
2
2
 
3
3
  [![Build Status](https://travis-ci.org/arcanoid/json_to_ruby_class.svg?branch=master)](https://travis-ci.org/arcanoid/json_to_ruby_class)
4
+ [![Gem Version](https://badge.fury.io/rb/json_to_ruby_class.svg)](https://badge.fury.io/rb/json_to_ruby_class)
4
5
 
5
6
  JsonToRubyClass is a gem that converts a JSON to a list of Ruby classes and outputs it into a string.
6
7
 
@@ -23,7 +24,8 @@ Or install it yourself as:
23
24
  ## Usage
24
25
 
25
26
  ```ruby
26
- json = {
27
+ json = <<-JSON
28
+ {
27
29
  "students": [
28
30
  {
29
31
  "firstName": "John",
@@ -37,6 +39,7 @@ json = {
37
39
  }
38
40
  ]
39
41
  }
42
+ JSON
40
43
 
41
44
  puts JsonToRubyClass.produce_models(json)
42
45
  ```
@@ -44,13 +47,13 @@ puts JsonToRubyClass.produce_models(json)
44
47
  This produces the following:
45
48
 
46
49
  ```ruby
47
- Class Student
50
+ class Student
48
51
  attr_accessor :first_name,
49
52
  :last_name,
50
53
  :age
51
54
  end
52
55
 
53
- Class Example
56
+ class Example
54
57
  attr_accessor :students
55
58
  end
56
59
  ```
@@ -18,6 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+
22
+ spec.add_dependency 'activesupport'
21
23
  spec.add_development_dependency "bundler", "~> 1.10"
22
24
  spec.add_development_dependency "rake", "~> 10.0"
23
25
  spec.add_development_dependency "rspec"
@@ -1,3 +1,3 @@
1
1
  module JsonToRubyClass
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -1,4 +1,6 @@
1
1
  require "json_to_ruby_class/version"
2
+ require 'active_support'
3
+ require 'active_support/core_ext'
2
4
 
3
5
  module JsonToRubyClass
4
6
  def self.produce_models(hash)
@@ -11,6 +13,9 @@ module JsonToRubyClass
11
13
  #######
12
14
 
13
15
  def self.collect_info_from_json(hash, model_name, existing_models_array = [])
16
+ unless hash.is_a? Hash
17
+ hash = ActiveSupport::JSON.decode(hash)
18
+ end
14
19
  accessors = []
15
20
 
16
21
  hash.each do |key, value|
@@ -49,7 +54,7 @@ module JsonToRubyClass
49
54
  model_string = ''
50
55
 
51
56
  models_array.each do |model|
52
- model_string << "Class #{model[:name].singularize}\n"
57
+ model_string << "class #{model[:name].singularize}\n"
53
58
  model_string << ' attr_accessor '
54
59
  model_string << model[:accessors].join(",\n ")
55
60
  model_string << "\nend\n\n"
@@ -57,4 +62,4 @@ module JsonToRubyClass
57
62
 
58
63
  model_string
59
64
  end
60
- end
65
+ end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_to_ruby_class
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
  - Vasilis Kalligas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-12 00:00:00.000000000 Z
11
+ date: 2016-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement