rails-rapido 0.7.1 → 0.8.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 +4 -4
- data/.ruby-version +1 -1
- data/README.md +4 -0
- data/lib/rapido.rb +0 -8
- data/lib/rapido/controller.rb +2 -0
- data/lib/rapido/version.rb +1 -1
- metadata +2 -10
- data/app/views/rapido/app/edit.slim +0 -4
- data/app/views/rapido/app/index.slim +0 -13
- data/app/views/rapido/app/new.slim +0 -5
- data/app/views/rapido/app/show.slim +0 -13
- data/lib/rapido/app_controller.rb +0 -124
- data/lib/rapido/app_record_not_found.rb +0 -12
- data/lib/rapido/auth.rb +0 -4
- data/lib/rapido/auth/api_key.rb +0 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6eaff7850cbfee3ff250c0346fc8803ed9b29b6abe046622c72883eac6b3777
|
4
|
+
data.tar.gz: 61dfea4640f66a7fb095e618890b9224fcf3a0f371a6dbdcef9201194b1966b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd665acfb46b79e7b80704cc64ba8d3fbe8780c51cb7196a3d39552f036e2df35138cb442126d1f0ca08b23038ef185b8b538a4c62de42c7403c74e3a03b6fe5
|
7
|
+
data.tar.gz: c31a11e293f0e2deca6de6c69d504c1ef836c9424bb8bd18a409c1275f5030c55a5541a7751908f358fda3ed27dd56680c6bbf6407840d3a68b9ab5a7fcad6a6
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.6.
|
1
|
+
2.6.5
|
data/README.md
CHANGED
@@ -32,6 +32,10 @@ Specifies the method to call to retrieve the owner, rather than retrieving by wi
|
|
32
32
|
|
33
33
|
This can be useful when ownership exists but is not reflected in the route structure explicitly.
|
34
34
|
|
35
|
+
**build**
|
36
|
+
|
37
|
+
You can create override the class Rapido::Controller build method directly in situations where the owner class does not have a build_[resource] method. Note that `has_one` will execute first if set to true, ignoring any `build` method you create directly, so if you do override it do not set `has_one: true`.
|
38
|
+
|
35
39
|
**foreign_key**
|
36
40
|
|
37
41
|
Default `id`. Specifies the name of the lookup column for the owner. For example, if `Post` belongs to `User`, then in the `PostsController` if `belongs_to :user, foreign_key: :token` is supplied, then the post would be retrieved like so:
|
data/lib/rapido.rb
CHANGED
@@ -1,9 +1,6 @@
|
|
1
1
|
require 'rapido/version'
|
2
2
|
require 'rapido/controller'
|
3
3
|
require 'rapido/api_controller'
|
4
|
-
require 'rapido/app_controller'
|
5
|
-
require 'rapido/app_record_not_found'
|
6
|
-
require 'rapido/auth/api_key'
|
7
4
|
|
8
5
|
module Rapido
|
9
6
|
class << self
|
@@ -11,12 +8,7 @@ module Rapido
|
|
11
8
|
end
|
12
9
|
|
13
10
|
class Configuration
|
14
|
-
attr_accessor :authority_class, :authority_lookup_param, :authority_lookup_field
|
15
|
-
|
16
11
|
def initialize
|
17
|
-
@authority_class = :account
|
18
|
-
@authority_lookup_param = :api_key
|
19
|
-
@authority_lookup_field = :api_key
|
20
12
|
end
|
21
13
|
end
|
22
14
|
|
data/lib/rapido/controller.rb
CHANGED
@@ -56,6 +56,7 @@ module Rapido
|
|
56
56
|
@collection_presenter ||= presenter_class
|
57
57
|
@collection_presenter_args = args if args.count > 0
|
58
58
|
end
|
59
|
+
alias present_collection_with collection_presented_by
|
59
60
|
|
60
61
|
def owner_lookup_defaults
|
61
62
|
owner_lookup_param(@owner_class, :id)
|
@@ -91,6 +92,7 @@ module Rapido
|
|
91
92
|
@presenter ||= presenter_class
|
92
93
|
@presenter_args = args if args.count > 0
|
93
94
|
end
|
95
|
+
alias present_with presented_by
|
94
96
|
end
|
95
97
|
|
96
98
|
private
|
data/lib/rapido/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-rapido
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Kirst
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -56,18 +56,10 @@ files:
|
|
56
56
|
- LICENSE
|
57
57
|
- README.md
|
58
58
|
- Rakefile
|
59
|
-
- app/views/rapido/app/edit.slim
|
60
|
-
- app/views/rapido/app/index.slim
|
61
|
-
- app/views/rapido/app/new.slim
|
62
|
-
- app/views/rapido/app/show.slim
|
63
59
|
- bin/console
|
64
60
|
- bin/setup
|
65
61
|
- lib/rapido.rb
|
66
62
|
- lib/rapido/api_controller.rb
|
67
|
-
- lib/rapido/app_controller.rb
|
68
|
-
- lib/rapido/app_record_not_found.rb
|
69
|
-
- lib/rapido/auth.rb
|
70
|
-
- lib/rapido/auth/api_key.rb
|
71
63
|
- lib/rapido/controller.rb
|
72
64
|
- lib/rapido/errors.rb
|
73
65
|
- lib/rapido/version.rb
|
@@ -1,13 +0,0 @@
|
|
1
|
-
h2= [@owner&.name, @resource_class.name.capitalize.pluralize].compact.join(" ")
|
2
|
-
= link_to "New #{@resource_class.name.capitalize}", @new_path
|
3
|
-
table
|
4
|
-
thead
|
5
|
-
tr
|
6
|
-
- @resource_permitted_params.each do |key|
|
7
|
-
th= key.to_s.capitalize
|
8
|
-
- @resource_collection.each do |resource|
|
9
|
-
tr
|
10
|
-
td= link_to resource.name, url_for([@owner, resource].compact)
|
11
|
-
- @resource_permitted_params.each do |key|
|
12
|
-
- next if key == "name"
|
13
|
-
td= resource[key]
|
@@ -1,13 +0,0 @@
|
|
1
|
-
h2= @resource.name
|
2
|
-
|
3
|
-
= link_to "Edit", url_for([:edit, @owner, @resource].compact)
|
4
|
-
= link_to "Delete", url_for([@owner, @resource].compact), method: :delete
|
5
|
-
= link_to "Back", controller: params[:controller], action: "index"
|
6
|
-
|
7
|
-
dl
|
8
|
-
- @resource_permitted_params.each do |key, value|
|
9
|
-
dt= key
|
10
|
-
dd= value
|
11
|
-
|
12
|
-
- owned_resources.each do |owned_resource|
|
13
|
-
= link_to "View #{owned_resource.to_s.pluralize.capitalize}", url_for([nil, @owner, @resource, owned_resource].compact)
|
@@ -1,124 +0,0 @@
|
|
1
|
-
require 'active_support'
|
2
|
-
require 'active_support/core_ext'
|
3
|
-
require 'rapido/errors'
|
4
|
-
|
5
|
-
module Rapido
|
6
|
-
module AppController
|
7
|
-
extend ActiveSupport::Concern
|
8
|
-
include Rapido::Errors
|
9
|
-
|
10
|
-
included do
|
11
|
-
Rails.logger.info 'The AppController has been deprecated and will be removed in the v1.0 release.'
|
12
|
-
before_action do
|
13
|
-
resource_permitted_params
|
14
|
-
end
|
15
|
-
helper_method :owned_resources
|
16
|
-
end
|
17
|
-
|
18
|
-
def index
|
19
|
-
@resource_collection = resource_collection
|
20
|
-
end
|
21
|
-
|
22
|
-
def show
|
23
|
-
@resource = resource
|
24
|
-
end
|
25
|
-
|
26
|
-
def new
|
27
|
-
@resource = build_resource
|
28
|
-
end
|
29
|
-
|
30
|
-
def create
|
31
|
-
new_resource = build_resource(resource_params)
|
32
|
-
if new_resource.save
|
33
|
-
after_create_success(new_resource)
|
34
|
-
return if performed?
|
35
|
-
redirect_to after_create_path(new_resource)
|
36
|
-
else
|
37
|
-
flash[:error] = new_resource.errors.full_messages.join('. ')
|
38
|
-
after_create_failure(new_resource)
|
39
|
-
return if performed?
|
40
|
-
redirect_to new_path
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def destroy
|
45
|
-
unless resource.destroy
|
46
|
-
flash[:error] = resource.errors.full_messages.join('. ')
|
47
|
-
end
|
48
|
-
after_destroy_success(resource)
|
49
|
-
return if performed?
|
50
|
-
redirect_to after_delete_path(resource)
|
51
|
-
end
|
52
|
-
|
53
|
-
def edit
|
54
|
-
@resource = resource
|
55
|
-
end
|
56
|
-
|
57
|
-
def update
|
58
|
-
resource.assign_attributes(resource_params)
|
59
|
-
if resource.save
|
60
|
-
after_update_success(resource)
|
61
|
-
return if performed?
|
62
|
-
redirect_to after_update_path(resource)
|
63
|
-
else
|
64
|
-
flash[:error] = resource.errors.full_messages.join('. ')
|
65
|
-
resource.reload
|
66
|
-
after_update_failure(resource)
|
67
|
-
return if performed?
|
68
|
-
redirect_to edit_path(resource)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
private
|
73
|
-
|
74
|
-
def after_create_success(*)
|
75
|
-
end
|
76
|
-
|
77
|
-
def after_create_failure(*)
|
78
|
-
end
|
79
|
-
|
80
|
-
def after_update_success(*)
|
81
|
-
end
|
82
|
-
|
83
|
-
def after_update_failure(*)
|
84
|
-
end
|
85
|
-
|
86
|
-
def after_destroy_success(*)
|
87
|
-
end
|
88
|
-
|
89
|
-
def resource_path(action, resource = nil)
|
90
|
-
keys = { controller: params[:controller], action: action }
|
91
|
-
keys[resource_lookup_param] = resource.send(resource_lookup_param) if resource
|
92
|
-
keys[owner_lookup_param] = owner.send(owner_lookup_field) if owner_lookup_param.present?
|
93
|
-
url_for(keys)
|
94
|
-
end
|
95
|
-
|
96
|
-
def edit_path(resource)
|
97
|
-
@edit_path ||= resource_path(:edit, resource)
|
98
|
-
end
|
99
|
-
|
100
|
-
def show_path(resource)
|
101
|
-
@show_path ||= resource_path(:show, resource)
|
102
|
-
end
|
103
|
-
|
104
|
-
def new_path
|
105
|
-
@new_path ||= resource_path(:new)
|
106
|
-
end
|
107
|
-
|
108
|
-
def index_path
|
109
|
-
@index_path ||= resource_path(:index)
|
110
|
-
end
|
111
|
-
|
112
|
-
def after_create_path(resource)
|
113
|
-
show_path(resource)
|
114
|
-
end
|
115
|
-
|
116
|
-
def after_update_path(resource)
|
117
|
-
show_path(resource)
|
118
|
-
end
|
119
|
-
|
120
|
-
def after_delete_path(*)
|
121
|
-
index_path
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
data/lib/rapido/auth.rb
DELETED
data/lib/rapido/auth/api_key.rb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
module Rapido
|
2
|
-
module Auth
|
3
|
-
module ApiKey
|
4
|
-
extend ActiveSupport::Concern
|
5
|
-
|
6
|
-
included do
|
7
|
-
Rails.logger.info 'The Auth module has been deprecated and will be removed in the 1.0 release.'
|
8
|
-
before_action :load_authority
|
9
|
-
|
10
|
-
rescue_from LackAuthority do |e|
|
11
|
-
render json: { error: 'Request denied.' }, status: 401
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def authority_class
|
16
|
-
@authority_class ||=
|
17
|
-
Rapido.configuration.authority_class.to_s.camelize.constantize
|
18
|
-
end
|
19
|
-
|
20
|
-
def authority_lookup_param
|
21
|
-
@authority_lookup_param ||=
|
22
|
-
Rapido.configuration.authority_lookup_param
|
23
|
-
end
|
24
|
-
|
25
|
-
def authority_lookup_field
|
26
|
-
@authority_lookup_field ||=
|
27
|
-
Rapido.configuration.authority_lookup_field
|
28
|
-
end
|
29
|
-
|
30
|
-
def load_authority
|
31
|
-
@authority = authority_class.find_by(authority_lookup_field => params[authority_lookup_param])
|
32
|
-
raise LackAuthority unless @authority
|
33
|
-
end
|
34
|
-
|
35
|
-
def authority
|
36
|
-
@authority
|
37
|
-
end
|
38
|
-
|
39
|
-
class LackAuthority < StandardError; end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|