effective_resources 1.8.36 → 1.9.1

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
2
  SHA256:
3
- metadata.gz: 06f8572e4cacab573ff3121145f120c1844e81af1c35d57d3fa9d42ffd819338
4
- data.tar.gz: c168aa140a18323a17132c25d16edd3fb88329738f63c1a4dcfe7d66bde6ec6d
3
+ metadata.gz: d4e5791f81c07c0f264f6c4d91d4cb3e01c0194577457ae38239cfafd99ae6a6
4
+ data.tar.gz: 5e82bcba8a50e8b9beceffa977241c95000805690f02343aad7ffef7a66d0f97
5
5
  SHA512:
6
- metadata.gz: 5043556b5414776fd0ad50ee9a298cede2ae403da26eb6cbacc4d2ccf418c71db71c22671fc5e52f378d2a0db244dd14ee45ecbf21756edcd468d0b8b22f07f2
7
- data.tar.gz: eb2538b9526d60153db7faa8bd37eee9080001bcf268070ba2b754333213142ec90d98ba3067cb76c643f2eff988cad395d9353bdadc0a1910ed304388626054
6
+ metadata.gz: 14a3dce0969cf7487a9f950a11b8fc8cd696b5dd01253c1d89792ed1c804af08b8ba886ce640e118e5f75e1ab47a6ff500c4dd3feca75ecacc1b3f5e9646e2ec
7
+ data.tar.gz: 72546fd49b52e4da7c713bcadf0179438d2f91fae66d9a99d09f08a35d96a71eb149d107add609b9232dc666af8866482e7f7a5d365d00b0af06af03e06cb2a5
@@ -12,7 +12,13 @@ module Effective
12
12
  @skip_to ||= skip_to_step(resource)
13
13
  @redirect_to ||= resource_wizard_path(resource, @skip_to) if was_new_record
14
14
 
15
- redirect_to(@redirect_to || wizard_path(@skip_to))
15
+ if @redirect_to
16
+ redirect_to(@redirect_to)
17
+ elsif @skip_to
18
+ redirect_to(wizard_path(@skip_to))
19
+ else
20
+ redirect_to_finish_wizard(options, params)
21
+ end
16
22
  else
17
23
  flash.now[:danger] = options.delete(:error) || resource_flash(:danger, resource, action)
18
24
  render_step(wizard_value(step), options)
@@ -1,3 +1,5 @@
1
+ # frozen_sting_literals: true
2
+
1
3
  module Effective
2
4
  module Resources
3
5
  module Forms
@@ -1,3 +1,5 @@
1
+ # frozen_sting_literals: true
2
+
1
3
  module Effective
2
4
  module Resources
3
5
  module Generator
@@ -26,6 +28,23 @@ module Effective
26
28
  Array(namespaces).map { |name| name.to_s.classify }.join('::') + '::' + class_name.gsub('::', '')
27
29
  end
28
30
 
31
+ # Tenants
32
+ def tenant_controller_path
33
+ (Tenant.module_name.downcase + '/' + controller_path) if defined?(Tenant)
34
+ end
35
+
36
+ def tenant_namespaced_class_name
37
+ (Tenant.module_name + '::' + namespaced_class_name) if defined?(Tenant)
38
+ end
39
+
40
+ def tenant_namespaced_module_name
41
+ (Tenant.module_name + '::' + namespaced_module_name) if defined?(Tenant)
42
+ end
43
+
44
+ def tenant_class_name
45
+ (Tenant.module_name + '::' + class_name) if defined?(Tenant)
46
+ end
47
+
29
48
  end
30
49
  end
31
50
  end
@@ -1,3 +1,5 @@
1
+ # frozen_sting_literals: true
2
+
1
3
  module Effective
2
4
  module Resources
3
5
  module Init
@@ -7,28 +7,11 @@ module Effective
7
7
  end
8
8
 
9
9
  def datatable_klass
10
- if defined?(EffectiveDatatables)
11
- "#{controller_path.classify.pluralize}Datatable".safe_constantize ||
12
- "#{controller_path.classify}Datatable".safe_constantize ||
13
- "#{namespaced_class_name.pluralize}Datatable".safe_constantize ||
14
- "#{namespaced_module_name.pluralize}Datatable".safe_constantize ||
15
- "#{namespaced_class_name.pluralize.gsub('::', '')}Datatable".safe_constantize ||
16
- "#{class_name.pluralize.camelize}Datatable".safe_constantize ||
17
- "#{class_name.pluralize.camelize.gsub('::', '')}Datatable".safe_constantize ||
18
- "#{name.pluralize.camelize}Datatable".safe_constantize ||
19
- "#{name.pluralize.camelize.gsub('::', '')}Datatable".safe_constantize ||
20
- "Effective::Datatables::#{namespaced_class_name.pluralize}".safe_constantize ||
21
- "Effective::Datatables::#{class_name.pluralize.camelize}".safe_constantize ||
22
- "Effective::Datatables::#{name.pluralize.camelize}".safe_constantize
23
- end
10
+ (find_tenant_datatable_klass || find_datatable_klass) if defined?(EffectiveDatatables)
24
11
  end
25
12
 
26
13
  def controller_klass
27
- "#{namespaced_class_name.pluralize}Controller".safe_constantize ||
28
- "#{class_name.pluralize.classify}Controller".safe_constantize ||
29
- "#{name.pluralize.classify}Controller".safe_constantize ||
30
- "#{initialized_name.to_s.classify.pluralize}Controller".safe_constantize ||
31
- "#{initialized_name.to_s.classify}Controller".safe_constantize
14
+ find_controller_klass
32
15
  end
33
16
 
34
17
  def active_record?
@@ -39,6 +22,44 @@ module Effective
39
22
  klass && klass.ancestors.include?(ActiveModel::Model)
40
23
  end
41
24
 
25
+ private
26
+
27
+ def find_datatable_klass
28
+ "::#{controller_path.classify.pluralize}Datatable".safe_constantize ||
29
+ "::#{controller_path.classify}Datatable".safe_constantize ||
30
+ "::#{namespaced_class_name.pluralize}Datatable".safe_constantize ||
31
+ "::#{namespaced_module_name.pluralize}Datatable".safe_constantize ||
32
+ "::#{namespaced_class_name.pluralize.gsub('::', '')}Datatable".safe_constantize ||
33
+ "::#{class_name.pluralize.camelize}Datatable".safe_constantize ||
34
+ "::#{class_name.pluralize.camelize.gsub('::', '')}Datatable".safe_constantize ||
35
+ "::#{name.pluralize.camelize}Datatable".safe_constantize ||
36
+ "::#{name.pluralize.camelize.gsub('::', '')}Datatable".safe_constantize ||
37
+ "::Effective::Datatables::#{namespaced_class_name.pluralize}".safe_constantize ||
38
+ "::Effective::Datatables::#{class_name.pluralize.camelize}".safe_constantize ||
39
+ "::Effective::Datatables::#{name.pluralize.camelize}".safe_constantize
40
+ end
41
+
42
+ def find_tenant_datatable_klass
43
+ return unless defined?(Tenant)
44
+
45
+ "::#{tenant_controller_path.classify.pluralize}Datatable".safe_constantize ||
46
+ "::#{tenant_controller_path.classify}Datatable".safe_constantize ||
47
+ "::#{tenant_namespaced_class_name.pluralize}Datatable".safe_constantize ||
48
+
49
+ "::#{tenant_namespaced_module_name.pluralize}Datatable".safe_constantize ||
50
+ "::#{tenant_namespaced_class_name.pluralize.gsub('::', '')}Datatable".safe_constantize ||
51
+ "::#{tenant_class_name.pluralize.camelize}Datatable".safe_constantize ||
52
+ "::#{tenant_class_name.pluralize.camelize.gsub('::', '')}Datatable".safe_constantize
53
+ end
54
+
55
+ def find_controller_klass
56
+ "#{namespaced_class_name.pluralize}Controller".safe_constantize ||
57
+ "#{class_name.pluralize.classify}Controller".safe_constantize ||
58
+ "#{name.pluralize.classify}Controller".safe_constantize ||
59
+ "#{initialized_name.to_s.classify.pluralize}Controller".safe_constantize ||
60
+ "#{initialized_name.to_s.classify}Controller".safe_constantize
61
+ end
62
+
42
63
  end
43
64
  end
44
65
  end
@@ -8,22 +8,23 @@ module EffectiveGem
8
8
 
9
9
  config_keys.each do |key|
10
10
  self.singleton_class.define_method(key) { config()[key] }
11
+ self.singleton_class.define_method("#{key}=") { |value| config()[key] = value }
11
12
  end
12
13
  end
13
14
 
14
15
  module ClassMethods
15
16
  def config(namespace = nil)
16
17
  namespace ||= Tenant.current if defined?(Tenant)
17
- @config.dig(namespace) || @config
18
+ @config.dig(namespace) || @config.dig(:effective)
18
19
  end
19
20
 
20
21
  def setup(namespace = nil, &block)
21
22
  @config ||= ActiveSupport::OrderedOptions.new
23
+
22
24
  namespace ||= Tenant.current if defined?(Tenant)
25
+ namespace ||= :effective
23
26
 
24
- if namespace
25
- @config[namespace] ||= ActiveSupport::OrderedOptions.new
26
- end
27
+ @config[namespace] ||= ActiveSupport::OrderedOptions.new
27
28
 
28
29
  yield(config(namespace))
29
30
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '1.8.36'.freeze
2
+ VERSION = '1.9.1'.freeze
3
3
  end
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.36
4
+ version: 1.9.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-10-13 00:00:00.000000000 Z
11
+ date: 2021-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails