lib/marver/helpers/string_helper.rb
module Marver
module StringHelper
def summary_class(entity)
constantize("Marver::Summary::#{refined(entity)}")
end
def common_class(entity)
constantize("Marver::#{refined(entity)}")
end
def parameterize(entity)
entity.split(/(?=[A-Z])/).join('_').downcase
end
def refined(name)
return "Comic" if name == 'originalIssue'
return 'TextObject' if name == 'textObjects'
return "KeyDate" if name == 'dates'
return "Image" if name == 'thumbnail'
return "Story" if name == 'stories'
return name[0..-2].capitalize
end
def constantize(camel_cased_word)
names = camel_cased_word.split('::')
names.shift if names.empty? || names.first.empty?
constant = Object
names.each do |name|
constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
end
constant
end
end
end