lib/admin_it/resource.rb in admin_it-1.0.11 vs lib/admin_it/resource.rb in admin_it-1.1.0
- old
+ new
@@ -1,11 +1,13 @@
require File.join %w(extend_it base)
require File.join %w(extend_it callbacks)
-using ExtendIt::Ensures
-
+#
module AdminIt
+ using EnsureIt if EnsureIt.refined?
+
+ #
class Resource
extend ExtendIt::Base
include ExtendIt::Callbacks
include ExtendIt::Dsl
include Defaults
@@ -45,16 +47,15 @@
@contexts.key?(value) ? value : nil
end
end
defaults do
- fields { puts "FIELDS"; [] }
+ fields { [] }
- filters { puts "FILTERS"; [] }
+ filters { [] }
display_name do
- puts "DISPLAY"
plural.split('_').map { |s| s.capitalize }.join(' ')
end
contexts do
CONTEXTS.map do |c|
@@ -73,22 +74,17 @@
entity_class = nil,
menu: true,
destroyable: true,
auto_filters: true
)
- name = name.ensure_symbol || fail(
- ArgumentError,
- '`name` argument for resource constructor should be a Symbol ' \
- 'or a String'
- )
-
+ name = name.ensure_symbol!
@name, @entity_class = name, entity_class
if @entity_class.nil?
begin
@entity_class = Object.const_get(name.to_s.camelize) # !PORTABLE
rescue NameError
- fail ArgumentError, "Can't find entity class for #{name}"
+ raise ArgumentError, "Can't find entity class for #{name}"
end
end
import_data_module
@@ -213,28 +209,27 @@
fail ArgumentError, 'Wrong entity class'
end
end
def i18n_display_name
- begin
- I18n
- .t!("admin_it.resources.#{name}.display_name.plural")
- .split(' ')
- .map { |s| s.mb_chars.capitalize }
- .join(' ')
- rescue I18n::MissingTranslationData
- nil
- end
+ I18n
+ .t!("admin_it.resources.#{name}.display_name.plural")
+ .split(' ')
+ .map { |s| s.mb_chars.capitalize }
+ .join(' ')
+ rescue I18n::MissingTranslationData
+ nil
end
private
def import_data_module
data_module = AdminIt.data_module(entity_class)
return unless data_module.is_a?(Module)
resource_module = data_module.const_get(:Resource)
extend(resource_module) if resource_module.is_a?(Module)
rescue NameError
+ nil
end
end
def self.resource(name, entity_class = nil, **opts, &block)
resource = Resource.new(name, entity_class, **opts)