Sha256: 01a2b9a5c095161fcef54b88f9be5359dd4bcb51f2414b633e1d94b67380ff56
Contents?: true
Size: 1.1 KB
Versions: 3
Compression:
Stored size: 1.1 KB
Contents
require_relative './syntax_builder_base' module JsGenerator module SyntaxBuilder class WithNamespace < SyntaxBuilderBase def action_namespace "window.#{top_level_js_namespace}.#{namespace.capitalize}.#{model_name.capitalize.pluralize}.#{action_name.capitalize}" end def script_for_append <<~TEXT #{define_namespace(custom_namespace)} #{define_namespace(model_namespace)} import #{import_name} from '#{import_path}'; #{action_namespace} = #{action_namespace} || {}; #{action_namespace} = #{import_name}; TEXT end private def custom_namespace "window.#{top_level_js_namespace}.#{namespace.capitalize}" end def model_namespace "window.#{top_level_js_namespace}.#{namespace.capitalize}.#{model_name.capitalize.pluralize}" end def import_path "./views/#{namespace}/#{model_name.pluralize}/#{action_name}" end def import_name "#{namespace.capitalize}#{model_name.capitalize.pluralize}#{action_name.capitalize}" end end end end
Version data entries
3 entries across 3 versions & 1 rubygems