def find_or_create_resource_for(name)
      resource_name = name.to_s.gsub(/^[_\-+]/,'').gsub(/^(\-?\d)/, "n#{$1}").gsub(/(\s|-)/, '').camelize
      if self.class.parents.size > 1
        find_resource_in_modules(resource_name, self.class.parents)
      else
        self.class.const_get(resource_name)
      end
    rescue NameError
      if self.class.const_defined?(resource_name)
        resource = self.class.const_get(resource_name)
      else
        resource = self.class.const_set(resource_name, Class.new(GovKit::Resource))
      end
      resource
    end
def find_or_create_resource_for(name)
      resource_name = name.to_s.gsub(/^[_\-+]/,'').gsub(/^(\-?\d)/, "n#{$1}").gsub(/(\s|-)/, '').camelize
      if self.class.parents.size > 1
        find_resource_in_modules(resource_name, self.class.parents)
      else
        self.class.const_get(resource_name)
      end
    rescue NameError
      if self.class.const_defined?(resource_name)
        resource = self.class.const_get(resource_name)
      else
        resource = self.class.const_set(resource_name, Class.new(GovKit::Resource))
      end
      resource
    end
Searches the GovKit module for a resource with the name +name+, cleaned and camelized
 Returns that resource.
 If the resource isn't found, it's created.