effective_resources 1.7.5 → 1.7.6

Sign up to get free protection for your applications and to get access to all the features.
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