graphiti_errors 1.0.0 → 1.1.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: 70c2470e79060662c0813744cc7d93332758100d
4
- data.tar.gz: 84c9280b05c98ec45f3c9b62b5995887ea18bf04
2
+ SHA256:
3
+ metadata.gz: 04e34d00b82224f51f3046aff1b085f2476dbff556ae1f3c7e9000b7169e426c
4
+ data.tar.gz: 5ff55a77fc2e5f1ec771c04de4384a995d4b8cff4399884d2253c54c539e39b3
5
5
  SHA512:
6
- metadata.gz: f97c68f31c702cc60511fced91b8138f792d5bfd1964b4856d93eb756025425236916f453c7f6446dfab347271530121534c3bd9dac7405fd68d7594a62493e1
7
- data.tar.gz: 260f62fccd087a2ae0033694ee798a6d3f012550dfde077a711a0367577f25880b532a27917f2a26416d6efeabb2840b4b0a33b80295bb19f1ab7f22682042f0
6
+ metadata.gz: 1a0cc3e06c62d0234d0642cbf64c01c189d4af2de9cf7976045fb52a352dec554b310a3e3fed2c927284e515084ff0c15865e171471101b533da102c4ab276ba
7
+ data.tar.gz: 43b3730077e76faf384b37ece7cdcc80a1d1c743b428534ca202c6de4c3ef3c6f442adf7ed3fb395268645c15cf292281116fea12bca6b6ec9759e4e98f5e5d7
@@ -1 +1 @@
1
- 2.2.2
1
+ 2.5.1
@@ -0,0 +1,3 @@
1
+ fix: true
2
+ parallel: true
3
+ ruby_version: 2.4
@@ -1,16 +1,32 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.3
4
- before_install: gem install bundler -v 1.11.2
5
-
6
- script: "bundle exec rake"
7
-
8
- install: bundle install --retry=3 --jobs=3
3
+ - 2.4
4
+ - 2.5
5
+ - 2.6
9
6
 
10
7
  gemfile:
11
8
  - gemfiles/rails_4.gemfile
12
9
  - gemfiles/rails_5.gemfile
13
10
 
11
+ before_install:
12
+ - gem install bundler -v '1.17.3'
13
+
14
+ install: bundle _1.17.3_ install --retry=3 --jobs=3
15
+
16
+ env:
17
+ - COMMAND=standardrb --no-fix --format progress
18
+ - COMMAND=rspec
19
+
20
+ matrix:
21
+ exclude:
22
+ - gemfile: gemfiles/rails_4.gemfile
23
+ rvm: 2.5
24
+ - gemfile: gemfiles/rails_4.gemfile
25
+ rvm: 2.6
26
+
27
+ script:
28
+ - bundle _1.17.3_ exec $COMMAND
29
+
14
30
  deploy:
15
31
  provider: rubygems
16
32
  api_key: $RUBYGEMS_API_KEY
data/Gemfile CHANGED
@@ -1,11 +1,11 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in graphiti_errors.gemspec
4
4
  gemspec
5
5
 
6
6
  group :test do
7
- gem 'activemodel'
8
- gem 'appraisal'
9
- gem 'pry'
10
- gem 'pry-byebug'
7
+ gem "activemodel"
8
+ gem "appraisal"
9
+ gem "pry"
10
+ gem "pry-byebug"
11
11
  end
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ require "appraisal"
5
5
  RSpec::Core::RakeTask.new(:spec)
6
6
 
7
7
  if !ENV["APPRAISAL_INITIALIZED"] && !ENV["TRAVIS"]
8
- task :default => :appraisal
8
+ task default: :appraisal
9
9
  else
10
- task :default => :spec
10
+ task default: :spec
11
11
  end
@@ -11,4 +11,4 @@ group :test do
11
11
  gem "pry-byebug"
12
12
  end
13
13
 
14
- gemspec :path => "../"
14
+ gemspec path: "../"
@@ -11,4 +11,4 @@ group :test do
11
11
  gem "pry-byebug"
12
12
  end
13
13
 
14
- gemspec :path => "../"
14
+ gemspec path: "../"
@@ -1,7 +1,6 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path("../lib", __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'graphiti_errors/version'
3
+ require "graphiti_errors/version"
5
4
 
6
5
  Gem::Specification.new do |spec|
7
6
  spec.name = "graphiti_errors"
@@ -9,8 +8,8 @@ Gem::Specification.new do |spec|
9
8
  spec.authors = ["Lee Richmond"]
10
9
  spec.email = ["lrichmond1@bloomberg.net"]
11
10
 
12
- spec.summary = %q{Error-handling patterns for JSONAPIs}
13
- spec.description = %q{Handles application errors and model validations}
11
+ spec.summary = "Error-handling patterns for JSONAPIs"
12
+ spec.description = "Handles application errors and model validations"
14
13
  spec.license = "MIT"
15
14
 
16
15
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
@@ -18,12 +17,13 @@ Gem::Specification.new do |spec|
18
17
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
18
  spec.require_paths = ["lib"]
20
19
 
21
- spec.add_dependency 'jsonapi-serializable', '~> 0.1'
20
+ spec.add_dependency "jsonapi-serializable", "~> 0.1"
22
21
 
23
22
  # Rails is added in Appraisals
24
- spec.add_development_dependency "bundler", "~> 1.11"
23
+ spec.add_development_dependency "bundler"
25
24
  spec.add_development_dependency "rake", "~> 10.0"
26
25
  spec.add_development_dependency "rspec-rails", "~> 3.0"
27
26
  spec.add_development_dependency "sqlite3"
28
- spec.add_development_dependency "graphiti_spec_helpers", '>= 1.0.alpha.3'
27
+ spec.add_development_dependency "graphiti_spec_helpers", ">= 1.0.alpha.3"
28
+ spec.add_development_dependency "standard"
29
29
  end
@@ -1,9 +1,10 @@
1
- require 'jsonapi/serializable'
1
+ require "jsonapi/serializable"
2
2
 
3
- require 'graphiti_errors/version'
4
- require 'graphiti_errors/exception_handler'
5
- require 'graphiti_errors/validatable'
6
- require 'graphiti_errors/serializers/validation'
3
+ require "graphiti_errors/version"
4
+ require "graphiti_errors/exception_handler"
5
+ require "graphiti_errors/invalid_request/serializer"
6
+ require "graphiti_errors/invalid_request/exception_handler"
7
+ require "graphiti_errors/validation/serializer"
7
8
 
8
9
  module GraphitiErrors
9
10
  def self.included(klass)
@@ -13,12 +14,16 @@ module GraphitiErrors
13
14
  end
14
15
 
15
16
  def self.inherited(subklass)
16
- subklass._errorable_registry = self._errorable_registry.dup
17
+ subklass._errorable_registry = _errorable_registry.dup
17
18
  end
18
19
  end
19
20
  klass._errorable_registry = {}
20
- klass.send(:include, Validatable)
21
21
  klass.extend ClassMethods
22
+
23
+ if defined?(Graphiti::Errors::InvalidRequest)
24
+ klass.register_exception Graphiti::Errors::InvalidRequest,
25
+ handler: GraphitiErrors::InvalidRequest::ExceptionHandler
26
+ end
22
27
  end
23
28
 
24
29
  def self.disable!
@@ -64,11 +69,17 @@ module GraphitiErrors
64
69
  module ClassMethods
65
70
  def register_exception(klass, options = {})
66
71
  exception_klass = options[:handler] || default_exception_handler
67
- self._errorable_registry[klass] = exception_klass.new(options)
72
+ _errorable_registry[klass] = exception_klass.new(options)
68
73
  end
69
74
 
70
75
  def default_exception_handler
71
76
  GraphitiErrors::ExceptionHandler
72
77
  end
73
78
  end
79
+
80
+ # Backwards compatibility, as Graphiti 1.0.x references GraphitiErrors::Serializers::Validation
81
+ # where newer versions correctly point to GraphitiErrors::Validation::Serializer
82
+ module Serializers
83
+ Validation = GraphitiErrors::Validation::Serializer
84
+ end
74
85
  end
@@ -24,7 +24,7 @@ module GraphitiErrors
24
24
  end
25
25
 
26
26
  def title
27
- @title || 'Error'
27
+ @title || "Error"
28
28
  end
29
29
 
30
30
  def detail(error)
@@ -45,7 +45,7 @@ module GraphitiErrors
45
45
  meta_payload[:__raw_error__] = {
46
46
  message: error.message,
47
47
  debug: error.instance_variable_get(:@__graphiti_debug),
48
- backtrace: error.backtrace
48
+ backtrace: error.backtrace,
49
49
  }
50
50
  end
51
51
  end
@@ -58,8 +58,8 @@ module GraphitiErrors
58
58
  status: status_code(error).to_s,
59
59
  title: title,
60
60
  detail: detail(error),
61
- meta: meta(error)
62
- ]
61
+ meta: meta(error),
62
+ ],
63
63
  }
64
64
  end
65
65
 
@@ -71,7 +71,7 @@ module GraphitiErrors
71
71
  return unless log?
72
72
  backtrace = error.backtrace
73
73
 
74
- if cleaner = backtrace_cleaner
74
+ if (cleaner = backtrace_cleaner)
75
75
  backtrace = cleaner.clean(backtrace)
76
76
  end
77
77
 
@@ -0,0 +1,27 @@
1
+ module GraphitiErrors
2
+ module InvalidRequest
3
+ class ExceptionHandler < GraphitiErrors::ExceptionHandler
4
+ def initialize(options = {})
5
+ unless options.key?(:log)
6
+ options[:log] = false
7
+ end
8
+
9
+ super
10
+
11
+ @show_raw_error = log?
12
+ end
13
+
14
+ def status_code(error)
15
+ 400
16
+ end
17
+
18
+ def error_payload(error)
19
+ serializer = InvalidRequest::Serializer.new(error.errors)
20
+
21
+ {
22
+ errors: serializer.rendered_errors,
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,37 @@
1
+ module GraphitiErrors
2
+ module InvalidRequest
3
+ class Serializer
4
+ attr_reader :errors
5
+ def initialize(errors)
6
+ @errors = errors
7
+ end
8
+
9
+ def rendered_errors
10
+ errors_payload = []
11
+ errors.details.each_pair do |attribute, att_errors|
12
+ att_errors.each_with_index do |error, idx|
13
+ code = error[:error]
14
+ message = errors.messages[attribute][idx]
15
+
16
+ errors_payload << {
17
+ code: "bad_request",
18
+ status: "400",
19
+ title: "Request Error",
20
+ detail: errors.full_message(attribute, message),
21
+ source: {
22
+ pointer: attribute.to_s.tr(".", "/").gsub(/\[(\d+)\]/, '/\1'),
23
+ },
24
+ meta: {
25
+ attribute: attribute,
26
+ message: message,
27
+ code: code,
28
+ },
29
+ }
30
+ end
31
+ end
32
+
33
+ errors_payload
34
+ end
35
+ end
36
+ end
37
+ end
@@ -1,6 +1,6 @@
1
1
  module GraphitiErrors
2
- module Serializers
3
- class Validation
2
+ module Validation
3
+ class Serializer
4
4
  attr_reader :object
5
5
 
6
6
  def initialize(object, relationship_payloads = {}, relationship_meta = {})
@@ -13,12 +13,12 @@ module GraphitiErrors
13
13
  [].tap do |errors|
14
14
  each_error do |attribute, message, code|
15
15
  error = {
16
- code: 'unprocessable_entity',
17
- status: '422',
18
- title: 'Validation Error',
16
+ code: "unprocessable_entity",
17
+ status: "422",
18
+ title: "Validation Error",
19
19
  detail: detail_for(attribute, message),
20
- source: { pointer: pointer_for(object, attribute) },
21
- meta: meta_for(attribute, message, code, @relationship_meta)
20
+ source: {pointer: pointer_for(object, attribute)},
21
+ meta: meta_for(attribute, message, code, @relationship_meta),
22
22
  }
23
23
 
24
24
  errors << error
@@ -39,8 +39,8 @@ module GraphitiErrors
39
39
  def each_error
40
40
  object.errors.messages.each_pair do |attribute, messages|
41
41
  details = if Rails::VERSION::MAJOR >= 5
42
- object.errors.details.find { |k,v| k == attribute }[1]
43
- end
42
+ object.errors.details.find { |k, v| k == attribute }[1]
43
+ end
44
44
 
45
45
  messages.each_with_index do |message, index|
46
46
  code = details[index][:error] if details
@@ -68,13 +68,13 @@ module GraphitiErrors
68
68
  def meta_for(attribute, message, code, relationship_meta)
69
69
  meta = {
70
70
  attribute: attribute,
71
- message: message
71
+ message: message,
72
72
  }
73
- meta.merge!(code: code) if Rails::VERSION::MAJOR >= 5
73
+ meta[:code] = code if Rails::VERSION::MAJOR >= 5
74
74
 
75
75
  unless relationship_meta.empty?
76
76
  meta = {
77
- relationship: meta.merge(relationship_meta)
77
+ relationship: meta.merge(relationship_meta),
78
78
  }
79
79
  end
80
80
 
@@ -83,7 +83,7 @@ module GraphitiErrors
83
83
 
84
84
  def detail_for(attribute, message)
85
85
  detail = object.errors.full_message(attribute, message)
86
- detail = message if attribute.to_s.downcase == 'base'
86
+ detail = message if attribute.to_s.downcase == "base"
87
87
  detail
88
88
  end
89
89
 
@@ -114,12 +114,12 @@ module GraphitiErrors
114
114
  relationship_objects.each do |relationship_object|
115
115
  related_payload = payload
116
116
  if payload.is_a?(Array)
117
- related_payload = payload.find do |p|
117
+ related_payload = payload.find { |p|
118
118
  temp_id = relationship_object
119
119
  .instance_variable_get(:@_jsonapi_temp_id)
120
120
  p[:meta][:temp_id] === temp_id ||
121
121
  p[:meta][:id] == relationship_object.id.to_s
122
- end
122
+ }
123
123
  end
124
124
 
125
125
  yield name, relationship_object, related_payload
@@ -134,7 +134,7 @@ module GraphitiErrors
134
134
  meta = {}.tap do |hash|
135
135
  hash[:name] = name
136
136
  hash[:type] = payload[:meta][:jsonapi_type]
137
- if temp_id = model.instance_variable_get(:@_jsonapi_temp_id)
137
+ if (temp_id = model.instance_variable_get(:@_jsonapi_temp_id))
138
138
  hash[:'temp-id'] = temp_id
139
139
  else
140
140
  hash[:id] = model.id
@@ -1,3 +1,3 @@
1
1
  module GraphitiErrors
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphiti_errors
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lee Richmond
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-31 00:00:00.000000000 Z
11
+ date: 2019-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jsonapi-serializable
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.11'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1.11'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.0.alpha.3
97
+ - !ruby/object:Gem::Dependency
98
+ name: standard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: Handles application errors and model validations
98
112
  email:
99
113
  - lrichmond1@bloomberg.net
@@ -104,6 +118,7 @@ files:
104
118
  - ".gitignore"
105
119
  - ".rspec"
106
120
  - ".ruby-version"
121
+ - ".standard.yml"
107
122
  - ".travis.yml"
108
123
  - Appraisals
109
124
  - Gemfile
@@ -115,14 +130,13 @@ files:
115
130
  - bin/rspec
116
131
  - bin/setup
117
132
  - gemfiles/rails_4.gemfile
118
- - gemfiles/rails_4.gemfile.lock
119
133
  - gemfiles/rails_5.gemfile
120
- - gemfiles/rails_5.gemfile.lock
121
134
  - graphiti_errors.gemspec
122
135
  - lib/graphiti_errors.rb
123
136
  - lib/graphiti_errors/exception_handler.rb
124
- - lib/graphiti_errors/serializers/validation.rb
125
- - lib/graphiti_errors/validatable.rb
137
+ - lib/graphiti_errors/invalid_request/exception_handler.rb
138
+ - lib/graphiti_errors/invalid_request/serializer.rb
139
+ - lib/graphiti_errors/validation/serializer.rb
126
140
  - lib/graphiti_errors/version.rb
127
141
  homepage:
128
142
  licenses:
@@ -143,8 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
157
  - !ruby/object:Gem::Version
144
158
  version: '0'
145
159
  requirements: []
146
- rubyforge_project:
147
- rubygems_version: 2.6.12
160
+ rubygems_version: 3.0.1
148
161
  signing_key:
149
162
  specification_version: 4
150
163
  summary: Error-handling patterns for JSONAPIs
@@ -1,166 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- graphiti_errors (1.0.alpha.2)
5
- jsonapi-serializable (~> 0.1)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- actionmailer (4.2.6)
11
- actionpack (= 4.2.6)
12
- actionview (= 4.2.6)
13
- activejob (= 4.2.6)
14
- mail (~> 2.5, >= 2.5.4)
15
- rails-dom-testing (~> 1.0, >= 1.0.5)
16
- actionpack (4.2.6)
17
- actionview (= 4.2.6)
18
- activesupport (= 4.2.6)
19
- rack (~> 1.6)
20
- rack-test (~> 0.6.2)
21
- rails-dom-testing (~> 1.0, >= 1.0.5)
22
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
23
- actionview (4.2.6)
24
- activesupport (= 4.2.6)
25
- builder (~> 3.1)
26
- erubis (~> 2.7.0)
27
- rails-dom-testing (~> 1.0, >= 1.0.5)
28
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
29
- activejob (4.2.6)
30
- activesupport (= 4.2.6)
31
- globalid (>= 0.3.0)
32
- activemodel (4.2.6)
33
- activesupport (= 4.2.6)
34
- builder (~> 3.1)
35
- activerecord (4.2.6)
36
- activemodel (= 4.2.6)
37
- activesupport (= 4.2.6)
38
- arel (~> 6.0)
39
- activesupport (4.2.6)
40
- i18n (~> 0.7)
41
- json (~> 1.7, >= 1.7.7)
42
- minitest (~> 5.1)
43
- thread_safe (~> 0.3, >= 0.3.4)
44
- tzinfo (~> 1.1)
45
- appraisal (2.1.0)
46
- bundler
47
- rake
48
- thor (>= 0.14.0)
49
- arel (6.0.3)
50
- builder (3.2.2)
51
- byebug (9.0.5)
52
- coderay (1.1.1)
53
- concurrent-ruby (1.0.2)
54
- diff-lcs (1.2.5)
55
- erubis (2.7.0)
56
- globalid (0.3.7)
57
- activesupport (>= 4.1.0)
58
- graphiti_spec_helpers (1.0.alpha.2)
59
- rspec (~> 3.0)
60
- i18n (0.7.0)
61
- json (1.8.3)
62
- jsonapi-renderer (0.2.0)
63
- jsonapi-serializable (0.3.0)
64
- jsonapi-renderer (~> 0.2.0)
65
- loofah (2.0.3)
66
- nokogiri (>= 1.5.9)
67
- mail (2.6.4)
68
- mime-types (>= 1.16, < 4)
69
- method_source (0.8.2)
70
- mime-types (3.1)
71
- mime-types-data (~> 3.2015)
72
- mime-types-data (3.2016.0521)
73
- mini_portile2 (2.1.0)
74
- minitest (5.9.0)
75
- nokogiri (1.6.8)
76
- mini_portile2 (~> 2.1.0)
77
- pkg-config (~> 1.1.7)
78
- pkg-config (1.1.7)
79
- pry (0.10.4)
80
- coderay (~> 1.1.0)
81
- method_source (~> 0.8.1)
82
- slop (~> 3.4)
83
- pry-byebug (3.4.0)
84
- byebug (~> 9.0)
85
- pry (~> 0.10)
86
- rack (1.6.4)
87
- rack-test (0.6.3)
88
- rack (>= 1.0)
89
- rails (4.2.6)
90
- actionmailer (= 4.2.6)
91
- actionpack (= 4.2.6)
92
- actionview (= 4.2.6)
93
- activejob (= 4.2.6)
94
- activemodel (= 4.2.6)
95
- activerecord (= 4.2.6)
96
- activesupport (= 4.2.6)
97
- bundler (>= 1.3.0, < 2.0)
98
- railties (= 4.2.6)
99
- sprockets-rails
100
- rails-deprecated_sanitizer (1.0.3)
101
- activesupport (>= 4.2.0.alpha)
102
- rails-dom-testing (1.0.7)
103
- activesupport (>= 4.2.0.beta, < 5.0)
104
- nokogiri (~> 1.6.0)
105
- rails-deprecated_sanitizer (>= 1.0.1)
106
- rails-html-sanitizer (1.0.3)
107
- loofah (~> 2.0)
108
- railties (4.2.6)
109
- actionpack (= 4.2.6)
110
- activesupport (= 4.2.6)
111
- rake (>= 0.8.7)
112
- thor (>= 0.18.1, < 2.0)
113
- rake (10.5.0)
114
- rspec (3.5.0)
115
- rspec-core (~> 3.5.0)
116
- rspec-expectations (~> 3.5.0)
117
- rspec-mocks (~> 3.5.0)
118
- rspec-core (3.5.3)
119
- rspec-support (~> 3.5.0)
120
- rspec-expectations (3.5.0)
121
- diff-lcs (>= 1.2.0, < 2.0)
122
- rspec-support (~> 3.5.0)
123
- rspec-mocks (3.5.0)
124
- diff-lcs (>= 1.2.0, < 2.0)
125
- rspec-support (~> 3.5.0)
126
- rspec-rails (3.5.1)
127
- actionpack (>= 3.0)
128
- activesupport (>= 3.0)
129
- railties (>= 3.0)
130
- rspec-core (~> 3.5.0)
131
- rspec-expectations (~> 3.5.0)
132
- rspec-mocks (~> 3.5.0)
133
- rspec-support (~> 3.5.0)
134
- rspec-support (3.5.0)
135
- slop (3.6.0)
136
- sprockets (3.7.0)
137
- concurrent-ruby (~> 1.0)
138
- rack (> 1, < 3)
139
- sprockets-rails (3.2.0)
140
- actionpack (>= 4.0)
141
- activesupport (>= 4.0)
142
- sprockets (>= 3.0.0)
143
- sqlite3 (1.3.11)
144
- thor (0.19.1)
145
- thread_safe (0.3.5)
146
- tzinfo (1.2.2)
147
- thread_safe (~> 0.1)
148
-
149
- PLATFORMS
150
- ruby
151
-
152
- DEPENDENCIES
153
- activemodel
154
- appraisal
155
- bundler (~> 1.11)
156
- graphiti_errors!
157
- graphiti_spec_helpers
158
- pry
159
- pry-byebug
160
- rails (~> 4.1)
161
- rake (~> 10.0)
162
- rspec-rails (~> 3.0)
163
- sqlite3
164
-
165
- BUNDLED WITH
166
- 1.15.4
@@ -1,170 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- graphiti_errors (1.0.alpha.2)
5
- jsonapi-serializable (~> 0.1)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- actioncable (5.0.0.1)
11
- actionpack (= 5.0.0.1)
12
- nio4r (~> 1.2)
13
- websocket-driver (~> 0.6.1)
14
- actionmailer (5.0.0.1)
15
- actionpack (= 5.0.0.1)
16
- actionview (= 5.0.0.1)
17
- activejob (= 5.0.0.1)
18
- mail (~> 2.5, >= 2.5.4)
19
- rails-dom-testing (~> 2.0)
20
- actionpack (5.0.0.1)
21
- actionview (= 5.0.0.1)
22
- activesupport (= 5.0.0.1)
23
- rack (~> 2.0)
24
- rack-test (~> 0.6.3)
25
- rails-dom-testing (~> 2.0)
26
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
27
- actionview (5.0.0.1)
28
- activesupport (= 5.0.0.1)
29
- builder (~> 3.1)
30
- erubis (~> 2.7.0)
31
- rails-dom-testing (~> 2.0)
32
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
33
- activejob (5.0.0.1)
34
- activesupport (= 5.0.0.1)
35
- globalid (>= 0.3.6)
36
- activemodel (5.0.0.1)
37
- activesupport (= 5.0.0.1)
38
- activerecord (5.0.0.1)
39
- activemodel (= 5.0.0.1)
40
- activesupport (= 5.0.0.1)
41
- arel (~> 7.0)
42
- activesupport (5.0.0.1)
43
- concurrent-ruby (~> 1.0, >= 1.0.2)
44
- i18n (~> 0.7)
45
- minitest (~> 5.1)
46
- tzinfo (~> 1.1)
47
- appraisal (2.1.0)
48
- bundler
49
- rake
50
- thor (>= 0.14.0)
51
- arel (7.1.1)
52
- builder (3.2.2)
53
- byebug (9.0.5)
54
- coderay (1.1.1)
55
- concurrent-ruby (1.0.2)
56
- diff-lcs (1.2.5)
57
- erubis (2.7.0)
58
- globalid (0.3.7)
59
- activesupport (>= 4.1.0)
60
- graphiti_spec_helpers (1.0.alpha.2)
61
- rspec (~> 3.0)
62
- i18n (0.7.0)
63
- jsonapi-renderer (0.2.0)
64
- jsonapi-serializable (0.3.0)
65
- jsonapi-renderer (~> 0.2.0)
66
- loofah (2.0.3)
67
- nokogiri (>= 1.5.9)
68
- mail (2.6.4)
69
- mime-types (>= 1.16, < 4)
70
- method_source (0.8.2)
71
- mime-types (3.1)
72
- mime-types-data (~> 3.2015)
73
- mime-types-data (3.2016.0521)
74
- mini_portile2 (2.1.0)
75
- minitest (5.9.0)
76
- nio4r (1.2.1)
77
- nokogiri (1.6.8)
78
- mini_portile2 (~> 2.1.0)
79
- pkg-config (~> 1.1.7)
80
- pkg-config (1.1.7)
81
- pry (0.10.4)
82
- coderay (~> 1.1.0)
83
- method_source (~> 0.8.1)
84
- slop (~> 3.4)
85
- pry-byebug (3.4.0)
86
- byebug (~> 9.0)
87
- pry (~> 0.10)
88
- rack (2.0.1)
89
- rack-test (0.6.3)
90
- rack (>= 1.0)
91
- rails (5.0.0.1)
92
- actioncable (= 5.0.0.1)
93
- actionmailer (= 5.0.0.1)
94
- actionpack (= 5.0.0.1)
95
- actionview (= 5.0.0.1)
96
- activejob (= 5.0.0.1)
97
- activemodel (= 5.0.0.1)
98
- activerecord (= 5.0.0.1)
99
- activesupport (= 5.0.0.1)
100
- bundler (>= 1.3.0, < 2.0)
101
- railties (= 5.0.0.1)
102
- sprockets-rails (>= 2.0.0)
103
- rails-dom-testing (2.0.1)
104
- activesupport (>= 4.2.0, < 6.0)
105
- nokogiri (~> 1.6.0)
106
- rails-html-sanitizer (1.0.3)
107
- loofah (~> 2.0)
108
- railties (5.0.0.1)
109
- actionpack (= 5.0.0.1)
110
- activesupport (= 5.0.0.1)
111
- method_source
112
- rake (>= 0.8.7)
113
- thor (>= 0.18.1, < 2.0)
114
- rake (10.5.0)
115
- rspec (3.5.0)
116
- rspec-core (~> 3.5.0)
117
- rspec-expectations (~> 3.5.0)
118
- rspec-mocks (~> 3.5.0)
119
- rspec-core (3.5.3)
120
- rspec-support (~> 3.5.0)
121
- rspec-expectations (3.5.0)
122
- diff-lcs (>= 1.2.0, < 2.0)
123
- rspec-support (~> 3.5.0)
124
- rspec-mocks (3.5.0)
125
- diff-lcs (>= 1.2.0, < 2.0)
126
- rspec-support (~> 3.5.0)
127
- rspec-rails (3.5.1)
128
- actionpack (>= 3.0)
129
- activesupport (>= 3.0)
130
- railties (>= 3.0)
131
- rspec-core (~> 3.5.0)
132
- rspec-expectations (~> 3.5.0)
133
- rspec-mocks (~> 3.5.0)
134
- rspec-support (~> 3.5.0)
135
- rspec-support (3.5.0)
136
- slop (3.6.0)
137
- sprockets (3.7.0)
138
- concurrent-ruby (~> 1.0)
139
- rack (> 1, < 3)
140
- sprockets-rails (3.2.0)
141
- actionpack (>= 4.0)
142
- activesupport (>= 4.0)
143
- sprockets (>= 3.0.0)
144
- sqlite3 (1.3.11)
145
- thor (0.19.1)
146
- thread_safe (0.3.5)
147
- tzinfo (1.2.2)
148
- thread_safe (~> 0.1)
149
- websocket-driver (0.6.4)
150
- websocket-extensions (>= 0.1.0)
151
- websocket-extensions (0.1.2)
152
-
153
- PLATFORMS
154
- ruby
155
-
156
- DEPENDENCIES
157
- activemodel
158
- appraisal
159
- bundler (~> 1.11)
160
- graphiti_errors!
161
- graphiti_spec_helpers
162
- pry
163
- pry-byebug
164
- rails (~> 5.0)
165
- rake (~> 10.0)
166
- rspec-rails (~> 3.0)
167
- sqlite3
168
-
169
- BUNDLED WITH
170
- 1.15.4
@@ -1,12 +0,0 @@
1
- module GraphitiErrors
2
- module Validatable
3
- def render_errors_for(record)
4
- validation = Serializers::Validation.new \
5
- record, deserialized_params.relationships
6
-
7
- render \
8
- json: { errors: validation.errors },
9
- status: :unprocessable_entity
10
- end
11
- end
12
- end