class DynamicText::LocalsSetter
Public Instance Methods
get_dynamic_locals(resource, attribute, opts={})
click to toggle source
Set all locals for dynamic text view partial based on passed in arguments
# File lib/dynamic_text/locals_setter.rb, line 3 def get_dynamic_locals(resource, attribute, opts={}) locals.merge!(opts).tap do |locals| locals[:resource] = resource locals[:attribute] = attribute locals[:resource_id] = resource.id locals[:value] = resource.send(attribute) locals[:resource_scope] ||= default_resource_scope locals[:placeholder] ||= default_placeholder locals[:resource_type] ||= default_resource_type locals[:resource_route] ||= default_resource_route locals[:dynamic_tag] ||= default_dynamic_tag locals[:style_class] ||= default_style_class end end
get_editable_locals(resource, attribute, opts={})
click to toggle source
Set all locals for editable text view partial based on passed in arguments
# File lib/dynamic_text/locals_setter.rb, line 19 def get_editable_locals(resource, attribute, opts={}) get_dynamic_locals(resource, attribute, opts).tap do |locals| locals[:url] ||= default_url locals[:js_key] ||= default_js_key locals[:style_class] ||= default_style_class end end
Private Instance Methods
camel_to_underscore(string)
click to toggle source
Helpers
# File lib/dynamic_text/locals_setter.rb, line 65 def camel_to_underscore(string) string.gsub(/::/, '/'). gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). gsub(/([a-z\d])([A-Z])/,'\1_\2'). tr("-", "_"). downcase end
default_dynamic_tag()
click to toggle source
# File lib/dynamic_text/locals_setter.rb, line 47 def default_dynamic_tag get_locals(:resource_type, :resource_id, :attribute).join(":") end
default_js_key()
click to toggle source
# File lib/dynamic_text/locals_setter.rb, line 55 def default_js_key get_locals(:resource_type, :attribute).join(":") end
default_placeholder()
click to toggle source
# File lib/dynamic_text/locals_setter.rb, line 35 def default_placeholder "Enter #{get_local(:attribute)}..." end
default_resource_route()
click to toggle source
# File lib/dynamic_text/locals_setter.rb, line 43 def default_resource_route get_local(:resource_type).pluralize end
default_resource_scope()
click to toggle source
Defaults
# File lib/dynamic_text/locals_setter.rb, line 31 def default_resource_scope DynamicText.configuration.resource_scope end
default_resource_type()
click to toggle source
# File lib/dynamic_text/locals_setter.rb, line 39 def default_resource_type camel_to_underscore get_local(:resource).class.name end
default_style_class()
click to toggle source
# File lib/dynamic_text/locals_setter.rb, line 59 def default_style_class DynamicText.configuration.use_default_style? ? "dt-default-style" : "" end
default_url()
click to toggle source
# File lib/dynamic_text/locals_setter.rb, line 51 def default_url get_locals(:resource_scope, :resource_route, :resource_id).join("/") end
get_local(local_name)
click to toggle source
# File lib/dynamic_text/locals_setter.rb, line 77 def get_local(local_name) locals[local_name] end
get_locals(*local_names)
click to toggle source
# File lib/dynamic_text/locals_setter.rb, line 81 def get_locals(*local_names) local_names.collect do |local_name| get_local(local_name) end end
locals()
click to toggle source
# File lib/dynamic_text/locals_setter.rb, line 73 def locals @locals ||= {} end