module ZohoCrmUtils::ClassMethods
Public Instance Methods
create_accessor(klass, names)
click to toggle source
# File lib/zoho_crm_utils.rb, line 9 def create_accessor(klass, names) names.each do |name| n = name.class == Symbol ? name.to_s : name n.gsub!(/[()]*/, '') raise(RuntimeError, "Bad field name: #{name}") unless method_name?(n) create_getter(klass, n) create_setter(klass, n) end names end
create_getter(klass, *names)
click to toggle source
# File lib/zoho_crm_utils.rb, line 20 def create_getter(klass, *names) names.each do |name| klass.send(:define_method, "#{name}") { instance_variable_get("@#{name}") } end end
create_setter(klass, *names)
click to toggle source
# File lib/zoho_crm_utils.rb, line 26 def create_setter(klass, *names) names.each do |name| klass.send(:define_method, "#{name}=") { |val| instance_variable_set("@#{name}", val) } end end
method_is_module?(str_or_sym)
click to toggle source
# File lib/zoho_crm_utils.rb, line 37 def method_is_module?(str_or_sym) return nil if str_or_sym.nil? s = str_or_sym.class == String ? str_or_sym : ApiUtils.symbol_to_string(str_or_sym) possible_module = s[s.length - 1].downcase == 's' ? s : s + 's' i = RubyZoho.configuration.crm_modules.index(possible_module.capitalize) return str_or_sym unless i.nil? nil end
method_name?(n)
click to toggle source
# File lib/zoho_crm_utils.rb, line 32 def method_name?(n) name = n.class == String ? ApiUtils.string_to_symbol(n) : n return /[@$"]/ !~ name.inspect end