module ZendeskAPI::Associations::ClassMethods
@private
Public Class Methods
extended(klass)
click to toggle source
# File lib/zendesk_api/associations.rb, line 33 def self.extended(klass) klass.extend Has klass.extend HasMany end
Public Instance Methods
associated_with(name)
click to toggle source
# File lib/zendesk_api/associations.rb, line 42 def associated_with(name) associations.inject([]) do |associated_with, association| if association[:include] == name.to_s associated_with.push(Association.new(association)) end associated_with end end
associations()
click to toggle source
# File lib/zendesk_api/associations.rb, line 38 def associations @associations ||= [] end
Private Instance Methods
build_association(klass, resource_name, options)
click to toggle source
# File lib/zendesk_api/associations.rb, line 54 def build_association(klass, resource_name, options) { :class => klass, :name => resource_name, :inline => options.delete(:inline), :path => options.delete(:path), :include => (options.delete(:include) || klass.resource_name).to_s, :include_key => (options.delete(:include_key) || :id).to_s, :singular => options.delete(:singular), :extensions => Array(options.delete(:extend)) } end
define_used(association)
click to toggle source
# File lib/zendesk_api/associations.rb, line 67 def define_used(association) define_method "#{association[:name]}_used?" do !!instance_variable_get("@#{association[:name]}") end end