restful-jsonapi 0.0.13 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 179fb343c19c986c98dcad509981ea7c0a2f1bd6
4
- data.tar.gz: 715ef0615a9e8da7ce0286f42289e3bbb75fd2dd
3
+ metadata.gz: c972daf4852a92faf8f7065e643ad06a0f667e5c
4
+ data.tar.gz: bc4b308e1593f246371cd17b611395a97edc7ea7
5
5
  SHA512:
6
- metadata.gz: 4971890deed77d6526e8e1a7a9bb462ded3654d98e90386d3595ad8b2efda27e844253bf7fdba86464391761c7cbd41706c76739bdc365d82d180e873b1aaa01
7
- data.tar.gz: 07c810d67931608fbd97d99a96e4db7e7a83f0adaf3cc55df3bba64d5bef38e7fc772aee737c741af403feaed8b410961df854ed498afc8aad41c15dfe3a1c0f
6
+ metadata.gz: c3528828b80677b3c42499ce08f273c4bc102b3f2549d275d87864e0001abeccdbaaa04310e54ab95b0182b56e850ba2291ebddfe56da5315895c59daa6b7678
7
+ data.tar.gz: b22d3bee7537de9c427c639c348aa1acef628096bc7acb53242f011bb04e3fa20b36e1b38f5797265f64b391041a47a62bc4bfceb093456533352d859fd9e735
data/OSSMETADATA ADDED
@@ -0,0 +1 @@
1
+ osslifecycle=active
@@ -19,23 +19,23 @@ module Restful
19
19
  if value.has_key? :relationships
20
20
  value.delete(:relationships).each do |relationship_name, relationship_data|
21
21
  new_data = restify_relationship(relationship_name, relationship_data)
22
- new_params.merge! new_data if new_data.present?
22
+ new_params = new_params.merge(new_data.to_h) if new_data.present?
23
23
  end
24
24
  end
25
25
  # attributes
26
26
  attributes = value.has_key?(:attributes) ? value[:attributes] : value
27
- attributes.merge!(id: value[:id]) if value[:id]
27
+ attributes = attributes.merge(id: value[:id]) if value[:id]
28
28
  attributes.transform_keys!(&:underscore)
29
- new_params.merge!(attributes)
29
+ new_params = new_params.merge(attributes.to_unsafe_h)
30
30
  new_params
31
31
  end
32
32
 
33
33
  def restify_relationship(relationship_name, relationship_data)
34
34
  if data_is_present?(relationship_data[:data])
35
- if relationship_data[:data].is_a? Hash
36
- restify_belongs_to(relationship_name, relationship_data)
37
- else
35
+ if relationship_data[:data].is_a? Array
38
36
  restify_has_many(relationship_name, relationship_data)
37
+ else
38
+ restify_belongs_to(relationship_name, relationship_data)
39
39
  end
40
40
  end
41
41
  end
@@ -45,7 +45,7 @@ module Restful
45
45
  relationship_key = relationship_name.to_s.underscore+"_attributes"
46
46
  {relationship_key => restify_data(relationship_name,relationship_data[:data])}
47
47
  else
48
- {"#{relationship_name}_id" => relationship_data[:data][:id]}
48
+ {"#{relationship_name.underscore}_id" => relationship_data[:data][:id]}
49
49
  end
50
50
  end
51
51
 
@@ -4,20 +4,15 @@ module Restful
4
4
  extend ActiveSupport::Concern
5
5
 
6
6
  def serializable_errors(object)
7
- errors = object.errors
8
7
  prefix = object.class.to_s.demodulize.underscore
9
8
 
10
- json = {}
11
-
12
- new_hash = errors.to_hash.map do |k, v|
13
- v.map do |msg|
14
- { id: "#{prefix}.#{k}", title: msg }
9
+ errors = object.errors.to_hash.each_with_object([]) do |(k, v), array|
10
+ v.each do |msg|
11
+ array.push(id: "#{prefix}.#{k}", title: msg)
15
12
  end
16
- end.flatten
17
-
18
- json[:errors] = new_hash
13
+ end
19
14
 
20
- json
15
+ { errors: errors }
21
16
  end
22
17
  end
23
18
  end
@@ -1,5 +1,5 @@
1
1
  module Restful
2
2
  module Jsonapi
3
- VERSION = "0.0.13"
3
+ VERSION = "1.0.1"
4
4
  end
5
5
  end
@@ -6,8 +6,8 @@ require 'restful/jsonapi/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "restful-jsonapi"
8
8
  spec.version = Restful::Jsonapi::VERSION
9
- spec.authors = ["Zach Wentz"]
10
- spec.email = ["zwentz@netflix.com"]
9
+ spec.authors = ["Zach Wentz", "Ryan Johnston", "David Lee"]
10
+ spec.email = ["zwentz@netflix.com", "ryanj@netflix.com", "dalee@netflix.com"]
11
11
  spec.summary = %q{Nice type and params for temporary JSONAPI support.}
12
12
  spec.description = %q{Nice type and params for temporary JSONAPI support.}
13
13
  spec.homepage = "https://github.com/Netflix/restful-jsonapi"
@@ -18,6 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+ spec.add_dependency "rails", "~>5.0.0"
22
+
21
23
  spec.add_development_dependency "bundler", "~> 1.7"
22
24
  spec.add_development_dependency "rake", "~> 10.0"
23
25
  end
metadata CHANGED
@@ -1,15 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restful-jsonapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zach Wentz
8
+ - Ryan Johnston
9
+ - David Lee
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2015-12-07 00:00:00.000000000 Z
13
+ date: 2016-08-26 00:00:00.000000000 Z
12
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rails
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: 5.0.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: 5.0.0
13
29
  - !ruby/object:Gem::Dependency
14
30
  name: bundler
15
31
  requirement: !ruby/object:Gem::Requirement
@@ -41,6 +57,8 @@ dependencies:
41
57
  description: Nice type and params for temporary JSONAPI support.
42
58
  email:
43
59
  - zwentz@netflix.com
60
+ - ryanj@netflix.com
61
+ - dalee@netflix.com
44
62
  executables: []
45
63
  extensions: []
46
64
  extra_rdoc_files: []
@@ -48,6 +66,7 @@ files:
48
66
  - ".gitignore"
49
67
  - Gemfile
50
68
  - LICENSE
69
+ - OSSMETADATA
51
70
  - README.md
52
71
  - Rakefile
53
72
  - lib/restful/jsonapi.rb
@@ -77,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
77
96
  version: '0'
78
97
  requirements: []
79
98
  rubyforge_project:
80
- rubygems_version: 2.2.2
99
+ rubygems_version: 2.6.6
81
100
  signing_key:
82
101
  specification_version: 4
83
102
  summary: Nice type and params for temporary JSONAPI support.