lib/zendesk_api/collection.rb in zendesk_api-0.0.9 vs lib/zendesk_api/collection.rb in zendesk_api-0.1.1

- old
+ new

@@ -210,10 +210,14 @@ def to_ary; nil; end # Sends methods to underlying array of resources. def method_missing(name, *args, &block) - if Array.new.respond_to?(name) + methods = @resource_class.singleton_methods(false).map(&:to_sym) + + if methods.include?(name) + @resource_class.send(name, @client, *args, &block) + elsif Array.new.respond_to?(name) to_a.send(name, *args, &block) else opts = args.last.is_a?(Hash) ? args.last : {} opts.merge!(:collection_path => @collection_path.dup.push(name)) self.class.new(@client, @resource_class, @options.merge(opts))