effective_resources 1.8.0 → 1.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/concerns/effective/flash_messages.rb +2 -2
- data/app/helpers/effective_resources_helper.rb +1 -0
- data/app/models/concerns/effective_devise_user.rb +1 -2
- data/app/models/effective/resource.rb +1 -0
- data/app/models/effective/resources/generator.rb +31 -0
- data/app/models/effective/resources/init.rb +1 -2
- data/app/models/effective/resources/naming.rb +9 -8
- data/app/models/effective/resources/paths.rb +32 -5
- data/lib/effective_resources/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba1ab3c1064882ff12132711f5b5e52baffd2448ca53097739f6fc5da17ded8e
|
4
|
+
data.tar.gz: 0444d91c34c0e2bccae26dbd042d80d491d829e19f6f0dccf720ad975eb0ee14
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1bed68ed75113db85e5a10372dd148847464855f7bee2d4699366efdb3df2046a1e8ca001c9c6fadee838b6f67b5f900ca7429a9888b286c66db1db17d2e7996
|
7
|
+
data.tar.gz: 0caf48a95cb7600b104fe0ca679c9780552fc99f61e1f8ce005b5e24f241a93cd340c6222ee3ce43a6ab85e93380511d1b5184c25795a5138423fb35b2cbd78c
|
@@ -36,8 +36,8 @@ module Effective
|
|
36
36
|
raise 'expected an ActiveRecord resource' unless resource.respond_to?(:errors)
|
37
37
|
|
38
38
|
messages = resource.errors.map do |error|
|
39
|
-
attribute = error.respond_to?(:attribute) ? error.attribute : error
|
40
|
-
message = error.respond_to?(:message) ? error.message :
|
39
|
+
attribute = error.respond_to?(:attribute) ? error.attribute : error
|
40
|
+
message = error.respond_to?(:message) ? error.message : resource.errors[attribute].to_sentence
|
41
41
|
|
42
42
|
if message[0] == message[0].upcase # If the error begins with a capital letter
|
43
43
|
message
|
@@ -196,6 +196,7 @@ module EffectiveResourcesHelper
|
|
196
196
|
|
197
197
|
render(resource, atts) # Will raise the regular error
|
198
198
|
end
|
199
|
+
alias_method :render_resource, :render_resource_partial
|
199
200
|
|
200
201
|
# Tableize attributes
|
201
202
|
# This is used by effective_orders, effective_logging, effective_trash and effective_mergery
|
@@ -66,6 +66,7 @@ module EffectiveDeviseUser
|
|
66
66
|
|
67
67
|
module ClassMethods
|
68
68
|
def permitted_sign_up_params # Should contain all fields as per views/users/_sign_up_fields
|
69
|
+
raise('please define a self.permitted_sign_up_params')
|
69
70
|
[:email, :password, :password_confirmation, :first_name, :last_name, :name, :login]
|
70
71
|
end
|
71
72
|
|
@@ -152,8 +153,6 @@ module EffectiveDeviseUser
|
|
152
153
|
def send_devise_notification(notification, *args)
|
153
154
|
raise('expected args Hash') unless args.respond_to?(:last) && args.last.kind_of?(Hash)
|
154
155
|
|
155
|
-
|
156
|
-
|
157
156
|
if defined?(Tenant)
|
158
157
|
tenant = Tenant.current || raise('expected a current tenant')
|
159
158
|
args.last[:tenant] ||= tenant
|
@@ -7,6 +7,7 @@ module Effective
|
|
7
7
|
include Effective::Resources::Init
|
8
8
|
include Effective::Resources::Instance
|
9
9
|
include Effective::Resources::Forms
|
10
|
+
include Effective::Resources::Generator
|
10
11
|
include Effective::Resources::Klass
|
11
12
|
include Effective::Resources::Model
|
12
13
|
include Effective::Resources::Naming
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Effective
|
2
|
+
module Resources
|
3
|
+
module Generator
|
4
|
+
|
5
|
+
def module_name
|
6
|
+
return nil unless class_name.split('::').length > 1
|
7
|
+
class_name.split('::').first
|
8
|
+
end
|
9
|
+
|
10
|
+
# Acpa
|
11
|
+
def module_namespace
|
12
|
+
return nil unless namespaces.present?
|
13
|
+
Array(namespaces + [nil]).map { |name| name.to_s.classify } * '::'
|
14
|
+
end
|
15
|
+
|
16
|
+
# Admin::Courses
|
17
|
+
def module_namespaced
|
18
|
+
(Array(namespaces).map { |name| name.to_s.classify } + [plural_name.classify.pluralize]) * '::'
|
19
|
+
end
|
20
|
+
|
21
|
+
def namespaced_class_name # 'Admin::Effective::Post'
|
22
|
+
(Array(namespaces).map { |name| name.to_s.classify } + [class_name]) * '::'
|
23
|
+
end
|
24
|
+
|
25
|
+
def namespaced_module_name # 'Admin::EffectivePosts'
|
26
|
+
Array(namespaces).map { |name| name.to_s.classify }.join('::') + '::' + class_name.gsub('::', '')
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -50,14 +50,6 @@ module Effective
|
|
50
50
|
class_name.split('::')[0...-1].map { |name| name.underscore } * '/'
|
51
51
|
end
|
52
52
|
|
53
|
-
def namespaced_class_name # 'Admin::Effective::Post'
|
54
|
-
(Array(namespaces).map { |name| name.to_s.classify } + [class_name]) * '::'
|
55
|
-
end
|
56
|
-
|
57
|
-
def namespaced_module_name # 'Admin::EffectivePosts'
|
58
|
-
Array(namespaces).map { |name| name.to_s.classify }.join('::') + '::' + class_name.gsub('::', '')
|
59
|
-
end
|
60
|
-
|
61
53
|
def namespace # 'admin/things'
|
62
54
|
(namespaces.join('/') if namespaces.present?)
|
63
55
|
end
|
@@ -74,6 +66,15 @@ module Effective
|
|
74
66
|
name.pluralize.gsub('::', ' ').underscore.gsub('_', ' ')
|
75
67
|
end
|
76
68
|
|
69
|
+
def tenant
|
70
|
+
return nil unless defined?(Tenant)
|
71
|
+
return nil unless klass.present?
|
72
|
+
return nil unless class_name.include?('::')
|
73
|
+
|
74
|
+
name = class_name.split('::').first.downcase.to_sym
|
75
|
+
name if Rails.application.config.tenants[name].present?
|
76
|
+
end
|
77
|
+
|
77
78
|
end
|
78
79
|
end
|
79
80
|
end
|
@@ -1,25 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Effective
|
2
4
|
module Resources
|
3
5
|
module Paths
|
4
6
|
|
7
|
+
def tenant_path
|
8
|
+
return unless tenant.present?
|
9
|
+
Tenant.engine_path(tenant).sub("#{Rails.root}/", '')
|
10
|
+
end
|
11
|
+
|
5
12
|
def model_file
|
6
|
-
File.join('app/models', class_path
|
13
|
+
File.join(*[tenant_path, 'app/models', class_path, "#{name}.rb"].compact)
|
7
14
|
end
|
8
15
|
|
9
16
|
def controller_file
|
10
|
-
File.join('app/controllers', namespace
|
17
|
+
File.join(*[tenant_path, 'app/controllers', class_path, namespace, "#{plural_name}_controller.rb"].compact)
|
11
18
|
end
|
12
19
|
|
13
20
|
def datatable_file
|
14
|
-
File.join('app/datatables', namespace
|
21
|
+
File.join(*[tenant_path, 'app/datatables', class_path, namespace, "#{plural_name}_datatable.rb"].compact)
|
15
22
|
end
|
16
23
|
|
17
24
|
def view_file(action = :index, partial: false)
|
18
|
-
File.join('app/views',
|
25
|
+
File.join(*[tenant_path, 'app/views', class_path, namespace, plural_name, "#{'_' if partial}#{action}.html.haml"].compact)
|
26
|
+
end
|
27
|
+
|
28
|
+
def view_file_path(action = :index)
|
29
|
+
File.join(*[class_path, namespace, plural_name, action].compact)
|
19
30
|
end
|
20
31
|
|
21
32
|
def flat_view_file(action = :index, partial: false)
|
22
|
-
File.join('app/views', plural_name, "#{'_' if partial}#{action}.html.haml")
|
33
|
+
File.join(*[tenant_path, 'app/views', class_path, plural_name, "#{'_' if partial}#{action}.html.haml"].compact)
|
34
|
+
end
|
35
|
+
|
36
|
+
def routes_file
|
37
|
+
File.join(*[tenant_path, 'config/routes.rb'].compact)
|
38
|
+
end
|
39
|
+
|
40
|
+
def abilities_file
|
41
|
+
File.join(*[tenant_path, 'app/models/', class_path, 'ability.rb'].compact)
|
42
|
+
end
|
43
|
+
|
44
|
+
def menu_file
|
45
|
+
File.join(*[tenant_path, 'app/views/layouts', class_path, '_navbar.html.haml'].compact)
|
46
|
+
end
|
47
|
+
|
48
|
+
def admin_menu_file
|
49
|
+
File.join(*[tenant_path, 'app/views/layouts', class_path, '_navbar_admin.html.haml'].compact)
|
23
50
|
end
|
24
51
|
|
25
52
|
# Used by render_resource_partial and render_resource_form to guess the view path
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_resources
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-02
|
11
|
+
date: 2021-03-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -155,6 +155,7 @@ files:
|
|
155
155
|
- app/models/effective/resources/attributes.rb
|
156
156
|
- app/models/effective/resources/controller.rb
|
157
157
|
- app/models/effective/resources/forms.rb
|
158
|
+
- app/models/effective/resources/generator.rb
|
158
159
|
- app/models/effective/resources/init.rb
|
159
160
|
- app/models/effective/resources/instance.rb
|
160
161
|
- app/models/effective/resources/klass.rb
|