json_world 0.2.4 → 0.3.0

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
- SHA1:
3
- metadata.gz: 0d566b1f9bc9d32f2979c9e629244dc1c5131252
4
- data.tar.gz: ac1806e0220c8c42eb30a390408e06f471c44ff7
2
+ SHA256:
3
+ metadata.gz: 0a28523d5ccf2728d79bb13a96808779bede5a2eeb14e08e78b96fe415038bbb
4
+ data.tar.gz: 64ad54f93cf882046b2be75fac166ca3420e5a9a5496d244271fb71121b152a2
5
5
  SHA512:
6
- metadata.gz: c66833b2015116854e25b2ce04733fa16664cbe58731c925c64a95c954aee8ccf292b04ed2fe1250ba2d02be9a3429a01af6f8fa54620d6ef054f4c5be83fa48
7
- data.tar.gz: 2a00605c40d2a2b258c10b9c50b5f8219bdc27789747b515b61e75da71a808539887a292b7887823532680bd5552312cd2c88d59ab2702e493a5f60fa8d14dc8
6
+ metadata.gz: f81fb14efaab68969d537a7e9bff76451aed0429c89af71167d8cf4111bcb33075025b57f0272e38da89dfdbfb40dcbba3d3c41c58f83b372991ddd7923699a6
7
+ data.tar.gz: d426d0e68637755b0827f10e5dfde3c676dce9bc60dce82c5514a14ca9f413e9423df836c2d7f41f91ba014460d3e1dcfea87a491e72b6156f9ce312fe268c01
data/CHANGELOG.md CHANGED
@@ -1,34 +1,57 @@
1
+ ## 0.3.0
2
+
3
+ - Fix keyword arguments error for Ruby 3 support.
4
+
5
+ ## 0.2.6
6
+
7
+ - Use `#__send__` instead of `#send`
8
+
9
+ ## 0.2.5
10
+
11
+ - Remove unnecessary dependency on json
12
+
1
13
  ## 0.2.4
14
+
2
15
  - Support `$schema` property
3
16
 
4
17
  ## 0.2.3
18
+
5
19
  - Add :target_schema option on link definition
6
20
 
7
21
  ## 0.2.2
22
+
8
23
  - Support :media_type option on link definition
9
24
 
10
25
  ## 0.2.1
26
+
11
27
  - Provides raw_options method to reuse args for property definition
12
28
 
13
29
  ## 0.2.0
30
+
14
31
  - Support :links option on embedding other resource as property
15
32
 
16
33
  ## 0.1.4
34
+
17
35
  - Rename as_json_schema_without_link with as_json_schema_without_links
18
36
 
19
37
  ## 0.1.3
38
+
20
39
  - Support boolean type on property definition
21
40
 
22
41
  ## 0.1.2
42
+
23
43
  - Remove links property from embedded object
24
44
  - Fix bug that links are unexpectedly shared by other classes
25
45
 
26
46
  ## 0.1.1
47
+
27
48
  - Support embedding other JSON-Schema compatible object via type
28
49
  - Support rel property on LinkDefinition
29
50
 
30
51
  ## 0.1.0
52
+
31
53
  - Rename included module name: PropertyDefinable -> DSL
32
54
 
33
55
  ## 0.0.1
56
+
34
57
  - 1st Release
data/Gemfile CHANGED
@@ -2,3 +2,6 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in json_world.gemspec
4
4
  gemspec
5
+
6
+ gem "rake"
7
+ gem "rspec"
data/json_world.gemspec CHANGED
@@ -15,8 +15,4 @@ Gem::Specification.new do |spec|
15
15
  spec.require_paths = ["lib"]
16
16
 
17
17
  spec.add_dependency "activesupport"
18
- spec.add_dependency "json"
19
- spec.add_development_dependency "bundler", "~> 1.9"
20
- spec.add_development_dependency "rake", "~> 10.0"
21
- spec.add_development_dependency "rspec", "3.2.0"
22
18
  end
@@ -52,9 +52,9 @@ module JsonWorld
52
52
  # @param [Hash{Symbol => Object}] options
53
53
  def link(link_name, options = {})
54
54
  link_definitions << JsonWorld::LinkDefinition.new(
55
- options.merge(
55
+ link_name: link_name,
56
+ **options.merge(
56
57
  parent: self,
57
- link_name: link_name,
58
58
  ),
59
59
  )
60
60
  end
@@ -68,9 +68,9 @@ module JsonWorld
68
68
  # @param [Hash{Symbol => Object}] options
69
69
  def property(property_name, options = {})
70
70
  property_definitions << JsonWorld::PropertyDefinition.new(
71
- options.merge(
71
+ property_name: property_name,
72
+ **options.merge(
72
73
  parent: self,
73
- property_name: property_name,
74
74
  )
75
75
  )
76
76
  end
@@ -17,7 +17,7 @@ module JsonWorld
17
17
  names = names & Array(options[:only]) if options[:only]
18
18
  names.inject({}) do |hash, property_name|
19
19
  key = property_name
20
- value = send(property_name)
20
+ value = __send__(property_name)
21
21
  value = value.iso8601 if value.is_a?(Time)
22
22
  hash.merge(key => value)
23
23
  end
@@ -83,7 +83,7 @@ module JsonWorld
83
83
  # @return [Array<Hash>, nil]
84
84
  def items_as_json_schema
85
85
  if @options[:items]
86
- JsonWorld::PropertyDefinition.new(@options[:items]).as_json_schema
86
+ JsonWorld::PropertyDefinition.new(**@options[:items]).as_json_schema
87
87
  end
88
88
  end
89
89
 
@@ -112,9 +112,8 @@ module JsonWorld
112
112
  if @options[:properties]
113
113
  @options[:properties].map do |property_name, options|
114
114
  JsonWorld::PropertyDefinition.new(
115
- options.merge(
116
- property_name: property_name,
117
- )
115
+ property_name: property_name,
116
+ **options
118
117
  )
119
118
  end
120
119
  end
@@ -1,3 +1,3 @@
1
1
  module JsonWorld
2
- VERSION = "0.2.4"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_world
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-21 00:00:00.000000000 Z
11
+ date: 2022-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -24,63 +24,7 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: json
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '1.9'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '1.9'
55
- - !ruby/object:Gem::Dependency
56
- name: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '10.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '10.0'
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '='
74
- - !ruby/object:Gem::Version
75
- version: 3.2.0
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '='
81
- - !ruby/object:Gem::Version
82
- version: 3.2.0
83
- description:
27
+ description:
84
28
  email:
85
29
  - r7kamura@gmail.com
86
30
  executables: []
@@ -106,7 +50,7 @@ homepage: https://github.com/r7kamura/json_world
106
50
  licenses:
107
51
  - MIT
108
52
  metadata: {}
109
- post_install_message:
53
+ post_install_message:
110
54
  rdoc_options: []
111
55
  require_paths:
112
56
  - lib
@@ -121,9 +65,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
65
  - !ruby/object:Gem::Version
122
66
  version: '0'
123
67
  requirements: []
124
- rubyforge_project:
125
- rubygems_version: 2.4.5.1
126
- signing_key:
68
+ rubygems_version: 3.3.7
69
+ signing_key:
127
70
  specification_version: 4
128
71
  summary: Provides DSL to define JSON Schema representation of your class.
129
72
  test_files: []