api_me 0.10.3 → 0.10.4
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/Rakefile +7 -5
- data/lib/api_me.rb +20 -13
- data/lib/api_me/version.rb +1 -1
- metadata +32 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0309df280a0738df9908bd663210fd71390c6495eb3f89ab5132b51200b98013'
|
4
|
+
data.tar.gz: a886ff6a38a273964da8982933ad9adc1232e70acab477cb635bf02422ae2390
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c6f7161dd7154ab4e52b211fcd63c6200c29644bffc7c3d866f59f241d583dd7edc72b20fbec0eecb82cd2bc61fc08b1139a50d8d67e8ff7bcb8b35c45782c9
|
7
|
+
data.tar.gz: 511c29eaa0bb6a3018cb208135beddffb003001af4f5be9b48f004d163f00bf02a3ac22515816464c00733d945ee008df31f957e6a219c16396a00727054596d
|
data/Rakefile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
begin
|
2
4
|
require 'bundler/setup'
|
3
5
|
rescue LoadError
|
@@ -14,15 +16,15 @@ RDoc::Task.new(:rdoc) do |rdoc|
|
|
14
16
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
17
|
end
|
16
18
|
|
17
|
-
APP_RAKEFILE = File.expand_path(
|
19
|
+
APP_RAKEFILE = File.expand_path('spec/dummy/Rakefile', __dir__)
|
18
20
|
load 'rails/tasks/engine.rake'
|
19
21
|
load 'rails/tasks/statistics.rake'
|
20
22
|
|
21
23
|
Bundler::GemHelper.install_tasks
|
22
|
-
require
|
23
|
-
require
|
24
|
+
require 'rake'
|
25
|
+
require 'rspec/core/rake_task'
|
24
26
|
RSpec::Core::RakeTask.new(:spec) do |t|
|
25
|
-
t.pattern = Dir.glob(
|
26
|
-
t.rspec_opts =
|
27
|
+
t.pattern = Dir.glob('spec/**/*_spec.rb')
|
28
|
+
t.rspec_opts = '--format documentation'
|
27
29
|
end
|
28
30
|
task default: :spec
|
data/lib/api_me.rb
CHANGED
@@ -16,6 +16,7 @@ module ApiMe
|
|
16
16
|
|
17
17
|
included do
|
18
18
|
rescue_from Pundit::NotAuthorizedError, with: :user_not_authorized
|
19
|
+
rescue_from ActiveRecord::ActiveRecordError, with: :handle_active_record_errors
|
19
20
|
rescue_from ActiveRecord::RecordNotFound, with: :resource_not_found
|
20
21
|
end
|
21
22
|
|
@@ -55,11 +56,11 @@ module ApiMe
|
|
55
56
|
end
|
56
57
|
|
57
58
|
def serializer_klass_name
|
58
|
-
@serializer_klass_name ||= "#{
|
59
|
+
@serializer_klass_name ||= "#{model_klass_name}Serializer"
|
59
60
|
end
|
60
61
|
|
61
62
|
def filter_klass_name
|
62
|
-
@filter_klass_name ||= "#{
|
63
|
+
@filter_klass_name ||= "#{model_klass_name}Filter"
|
63
64
|
end
|
64
65
|
end
|
65
66
|
|
@@ -73,7 +74,7 @@ module ApiMe
|
|
73
74
|
@sorted_scope = sort_scope(@filter_scope)
|
74
75
|
@pagination_object = paginate_scope(@sorted_scope, page_params)
|
75
76
|
|
76
|
-
render(
|
77
|
+
render(
|
77
78
|
json: @pagination_object.results,
|
78
79
|
root: collection_root_key,
|
79
80
|
each_serializer: serializer_klass,
|
@@ -81,7 +82,7 @@ module ApiMe
|
|
81
82
|
page: @pagination_object.page_meta,
|
82
83
|
sort: sorting_meta(@filter_scope)
|
83
84
|
}
|
84
|
-
|
85
|
+
)
|
85
86
|
end
|
86
87
|
|
87
88
|
def show
|
@@ -101,11 +102,9 @@ module ApiMe
|
|
101
102
|
def create
|
102
103
|
@object = build_resource
|
103
104
|
authorize_resource @object
|
104
|
-
|
105
|
+
create_resource!
|
105
106
|
|
106
107
|
render status: 201, json: @object, root: singular_root_key, serializer: serializer_klass
|
107
|
-
rescue ActiveRecord::RecordInvalid => e
|
108
|
-
handle_active_record_errors(e)
|
109
108
|
end
|
110
109
|
|
111
110
|
def edit
|
@@ -118,21 +117,17 @@ module ApiMe
|
|
118
117
|
def update
|
119
118
|
@object = find_resource
|
120
119
|
authorize_resource @object
|
121
|
-
|
120
|
+
update_resource!
|
122
121
|
|
123
122
|
head 204
|
124
|
-
rescue ActiveRecord::RecordInvalid => e
|
125
|
-
handle_active_record_errors(e)
|
126
123
|
end
|
127
124
|
|
128
125
|
def destroy
|
129
126
|
@object = find_resource
|
130
127
|
authorize_resource @object
|
131
|
-
|
128
|
+
destroy_resource!
|
132
129
|
|
133
130
|
head 204
|
134
|
-
rescue ActiveRecord::RecordInvalid => e
|
135
|
-
handle_active_record_errors(e)
|
136
131
|
end
|
137
132
|
|
138
133
|
protected
|
@@ -242,6 +237,18 @@ module ApiMe
|
|
242
237
|
@build_resource ||= model_klass.new(object_params)
|
243
238
|
end
|
244
239
|
|
240
|
+
def create_resource!
|
241
|
+
@object.save!(object_params)
|
242
|
+
end
|
243
|
+
|
244
|
+
def update_resource!
|
245
|
+
@object.update!(object_params)
|
246
|
+
end
|
247
|
+
|
248
|
+
def destroy_resource!
|
249
|
+
@object.destroy!
|
250
|
+
end
|
251
|
+
|
245
252
|
def authorize_resource(resource)
|
246
253
|
authorize resource
|
247
254
|
end
|
data/lib/api_me/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api_me
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Clopton
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-05-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -25,6 +25,34 @@ dependencies:
|
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '4.2'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: actionview
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 4.2.11.1
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 4.2.11.1
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: activejob
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 4.2.11
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 4.2.11
|
28
56
|
- !ruby/object:Gem::Dependency
|
29
57
|
name: pundit
|
30
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -85,30 +113,16 @@ dependencies:
|
|
85
113
|
name: rspec-rails
|
86
114
|
requirement: !ruby/object:Gem::Requirement
|
87
115
|
requirements:
|
88
|
-
- - "
|
116
|
+
- - ">="
|
89
117
|
- !ruby/object:Gem::Version
|
90
118
|
version: 3.6.1
|
91
119
|
type: :development
|
92
120
|
prerelease: false
|
93
121
|
version_requirements: !ruby/object:Gem::Requirement
|
94
122
|
requirements:
|
95
|
-
- - "
|
123
|
+
- - ">="
|
96
124
|
- !ruby/object:Gem::Version
|
97
125
|
version: 3.6.1
|
98
|
-
- !ruby/object:Gem::Dependency
|
99
|
-
name: factory_girl_rails
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
101
|
-
requirements:
|
102
|
-
- - "~>"
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: 4.8.0
|
105
|
-
type: :development
|
106
|
-
prerelease: false
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
requirements:
|
109
|
-
- - "~>"
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: 4.8.0
|
112
126
|
- !ruby/object:Gem::Dependency
|
113
127
|
name: sqlite3
|
114
128
|
requirement: !ruby/object:Gem::Requirement
|