Sha256: 7d96221c8c7d4662fc2d367324768f7bcaf45a3b998114579a3e10a16277fed3
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
module CanTango::Permit module Helper module Naming def permit_name clazz = nil clazz ||= is_class?(self) ? self : self.class return nil unless clazz.name =~ /Permit/ namespaces = clazz.name.split('::') name = (namespaces[-2] == 'Permit') ? namespaces.last : namespaces.last.sub(/Permit$/, '') name.underscore.to_sym end def account_name clazz = nil clazz ||= is_class?(self) ? self : self.class return nil if clazz.name == clazz.name.demodulize top_module = clazz.name.gsub(/::.*/,'') return nil unless /Permits$/ =~ top_module top_module.gsub!(/Account/, '') top_module.gsub(/(.*)Permits/, '\1').underscore.to_sym end def permit_type clazz = nil clazz ||= is_class?(self) ? self : self.class permit_name clazz.superclass end protected def first_name clazz = nil clazz ||= is_class?(self) ? self : self.class clazz.to_s.gsub(/^([A-Za-z]+).*/, '\1').underscore.to_sym # first part of class name end def is_class? clazz !clazz.nil? && clazz.respond_to?(:new) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cantango-permits-0.1.1 | lib/cantango/permit/helper/naming.rb |