effective_resources 1.7.5 → 1.7.6

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: 2c872b773ee626165d7d0dee9d363e9375fd7702c9f0330ce2492c380fcac45b
4
- data.tar.gz: eadd2e25503395461ea1823d8b9e719eb80cb405373fcae2253c3467631c18ea
3
+ metadata.gz: 56a161aa8bd3ad423f84fbe6f5a10b3b029eec746f72c186683472b5992d7357
4
+ data.tar.gz: d7826fbdaaeeca49f15e0fac3f76ac949086c3760048ca8c7d98bf3d295fa6c9
5
5
  SHA512:
6
- metadata.gz: 2a91bcaab5fe78374b9771ddfe9117bb0594202e1e91dfc9d39922dc153b0ea38d64a5643365488097efb9fd258d8915fbdea12e7b9b7098fec456f46f9bbe30
7
- data.tar.gz: b49ff8dc969fbb45db46a4db1ed97b3f369a2734db20e2c5957b28fe0aa5928045ef73d8170e06a975170dca40d8c5a5d09d3e31600b00904783ce35dca6ea2a
6
+ metadata.gz: 3accf197802ebe5e8bd825aad59759db334efb1c80bbce300625d391a3ca4a9075be45cc87410b1b536d8c6b817f9df11feccec7e36e6b045fdc77cdc58dffe3
7
+ data.tar.gz: 798d95af974616b3cfddf193b35cbbce8df47f74d73171dfae4a1de4b4445cfec5a97765e8b3ffa275dc57c5d3064cc6a0c0672c6e760a855bab006c0ccaa48b
data/README.md CHANGED
@@ -362,7 +362,7 @@ rails test
362
362
 
363
363
  ## License
364
364
 
365
- MIT License. Copyright [Code and Effect Inc.](http://www.codeandeffect.com/)
365
+ MIT License. Copyright [Code and Effect Inc.](http://www.codeandeffect.com/)
366
366
 
367
367
  ## Contributing
368
368
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Effective
2
3
  module CrudController
3
4
  extend ActiveSupport::Concern
@@ -12,6 +13,7 @@ module Effective
12
13
  included do
13
14
  define_actions_from_routes
14
15
  define_callbacks :resource_render, :resource_before_save, :resource_after_save, :resource_after_commit, :resource_error
16
+ layout -> { resource_layout }
15
17
  end
16
18
 
17
19
  module ClassMethods
@@ -111,6 +113,11 @@ module Effective
111
113
  datatable
112
114
  end
113
115
 
116
+ def resource_layout
117
+ namespace = controller_path.include?('admin/') ? 'admin' : 'application'
118
+ defined?(Tenant) ? "#{Tenant.current}/#{namespace}" : namespace
119
+ end
120
+
114
121
  def resource_params_method_name
115
122
  ['permitted_params', "#{resource_name}_params", "#{resource_plural_name}_params"].each do |name|
116
123
  return name if respond_to?(name, true)
@@ -27,6 +27,7 @@ module Effective
27
27
  @type ||= (
28
28
  case obj
29
29
  when :boolean ; :boolean
30
+ when :config ; :config
30
31
  when :currency ; :currency
31
32
  when :date ; :date
32
33
  when :datetime ; :datetime
@@ -73,6 +74,9 @@ module Effective
73
74
  case type
74
75
  when :boolean
75
76
  [true, 'true', 't', '1'].include?(value)
77
+ when :config
78
+ raise('expected an ActiveSupport::OrderedOptions') unless value.kind_of?(ActiveSupport::OrderedOptions)
79
+ parse_ordered_options(value)
76
80
  when :date, :datetime
77
81
  if (digits = value.to_s.scan(/(\d+)/).flatten).present?
78
82
  date = if digits.first.length == 4 # 2017-01-10
@@ -169,5 +173,14 @@ module Effective
169
173
  name == other.name && type == other.type
170
174
  end
171
175
 
176
+ # This returns a nested ActiveSupport::OrderedOptions.new config
177
+ def parse_ordered_options(obj)
178
+ return obj unless obj.kind_of?(Hash)
179
+
180
+ ActiveSupport::OrderedOptions.new.tap do |config|
181
+ obj.each { |key, value| config[key] = parse_ordered_options(value) }
182
+ end
183
+ end
184
+
172
185
  end
173
186
  end
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '1.7.5'.freeze
2
+ VERSION = '1.7.6'.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.7.5
4
+ version: 1.7.6
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-16 00:00:00.000000000 Z
11
+ date: 2021-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails