Module: ZendeskAPI

Defined in:
lib/zendesk_api/track_changes.rb,
lib/zendesk_api.rb,
lib/zendesk_api/verbs.rb,
lib/zendesk_api/client.rb,
lib/zendesk_api/rescue.rb,
lib/zendesk_api/actions.rb,
lib/zendesk_api/trackie.rb,
lib/zendesk_api/version.rb,
lib/zendesk_api/resource.rb,
lib/zendesk_api/lru_cache.rb,
lib/zendesk_api/collection.rb,
lib/zendesk_api/association.rb,
lib/zendesk_api/configuration.rb,
lib/zendesk_api/resources/misc.rb,
lib/zendesk_api/resources/user.rb,
lib/zendesk_api/resources/forum.rb,
lib/zendesk_api/resources/ticket.rb,
lib/zendesk_api/resources/playlist.rb,
lib/zendesk_api/middleware/request/retry.rb,
lib/zendesk_api/middleware/response/gzip.rb,
lib/zendesk_api/middleware/request/upload.rb,
lib/zendesk_api/middleware/response/deflate.rb,
lib/zendesk_api/middleware/response/callback.rb,
lib/zendesk_api/middleware/request/etag_cache.rb,
lib/zendesk_api/middleware/response/parse_iso_dates.rb

Overview

Shamelessly stolen and modified from github.com/archan937/dirty_hashy

Defined Under Namespace

Modules: Associations, Create, Destroy, Middleware, Read, Rescue, Save, TrackChanges, Update, Verbs Classes: Activity, Association, Attachment, Bookmark, CRMData, CRMDataStatus, Category, Client, Collection, Configuration, CreateResource, CustomRole, Data, DataResource, DeleteResource, Forum, ForumSubscription, GroupMembership, LRUCache, Locale, Macro, MobileDevice, Organization, Playlist, ReadResource, Resource, SatisfactionRating, Search, Setting, SingularResource, SuspendedTicket, Ticket, TicketComment, TicketField, TicketMetric, Topic, TopicSubscription, Trackie, UpdateResource, Upload, User, View, ViewExecution, ViewRow

Constant Summary collapse

VERSION =
"0.0.9"

Class Method Summary collapse

Class Method Details

.get_class(resource) ⇒ Object

Allows using has and has_many without having class defined yet Guesses at Resource, if it’s anything else and the class is later reopened under a different superclass, an error will be thrown



250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
# File 'lib/zendesk_api/association.rb', line 250

def get_class(resource)
  return false if resource.nil?
  res = resource.to_s.modulize.split("::")

  begin
    res[1..-1].inject(ZendeskAPI.const_get(res[0])) do |iter, k|
      begin
        iter.const_get(k)
      rescue
        iter.const_set(k, Class.new(Resource))
      end
    end
  rescue NameError
    ZendeskAPI.const_set(res[0], Class.new(Resource))
  end
end