Last active
December 26, 2015 19:09
-
-
Save LucasPadovan/7199618 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Zendesk_api gem version 1.1.1 | |
########################################################################################################################### | |
Using ruby 1.9.2 -p125 with /api/v2 part. | |
[1] pry(main)> class CustomerService | |
[1] pry(main)* require 'zendesk_api' | |
[1] pry(main)* | |
[1] pry(main)* class << self | |
[1] pry(main)* def get_api_client | |
[1] pry(main)* ZendeskAPI::Client.new do |config| | |
[1] pry(main)* config.url = 'https://eventioztest.zendesk.com/api/v2' | |
[1] pry(main)* config.username = 'lucas@pass458878=.com' | |
[1] pry(main)* config.password = 'pass458878=' | |
[1] pry(main)* config.allow_http = true | |
[1] pry(main)* config.retry = true | |
[1] pry(main)* require 'logger' | |
[1] pry(main)* config.logger = Logger.new(STDOUT) | |
[1] pry(main)* end | |
[1] pry(main)* end | |
[1] pry(main)* end | |
[1] pry(main)* end | |
=> nil | |
[2] pry(main)> client = CustomerService.get_api_client | |
=> #<ZendeskAPI::Client:0x00000001ac2de8 | |
@callbacks= | |
[#<Proc:0x00000001f42648@/home/lucas/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/zendesk_api-1.1.1/lib/zendesk_api/client.rb:206>], | |
@config= | |
#<ZendeskAPI::Configuration:0x00000001ac2dc0 | |
@allow_http=true, | |
@cache= | |
#<ZendeskAPI::LRUCache:0x00000001ac2d48 @lru=[], @size=1000, @store={}>, | |
@client_options={}, | |
@logger= | |
#<Logger:0x000000022720c0 | |
@default_formatter= | |
#<Logger::Formatter:0x00000002274398 @datetime_format=nil>, | |
@formatter=nil, | |
@level=0, | |
@logdev= | |
#<Logger::LogDevice:0x00000002274438 | |
@dev=#<IO:<STDOUT>>, | |
@filename=nil, | |
@mutex= | |
#<Logger::LogDevice::LogDeviceMutex:0x00000001f41928 | |
@mon_count=0, | |
@mon_mutex=#<Mutex:0x00000001f419a0>, | |
@mon_owner=nil>, | |
@shift_age=nil, | |
@shift_size=nil>, | |
@progname=nil>, | |
@password="pass458878=", | |
@retry=true, | |
@url="https://eventioztest.zendesk.com/api/v2", | |
@username="lucas@test.com">, | |
@resource_cache={}> | |
[3] pry(main)> client.tickets | |
=> ticket collection [path=tickets] | |
[4] pry(main)> client.tickets.first | |
I, [2013-10-28T12:18:14.730710 #24609] INFO -- : get https://eventioztest.zendesk.com/api/v2/tickets | |
D, [2013-10-28T12:18:14.730816 #24609] DEBUG -- : Accept: "application/json" | |
Accept-Encoding: "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" | |
User-Agent: "ZendeskAPI API 1.1.1" | |
I, [2013-10-28T12:18:19.052104 #24609] INFO -- : Status 200 | |
D, [2013-10-28T12:18:19.073165 #24609] DEBUG -- : server: "nginx/1.4.2" | |
date: "Mon, 28 Oct 2013 15:18:18 GMT" | |
content-type: "application/json; charset=utf-8" | |
transfer-encoding: "chunked" | |
connection: "close" | |
status: "200 OK" | |
x-zendesk-api-version: "v2" | |
x-runtime: "196" | |
cache-control: "private, max-age=0, must-revalidate" | |
x-zendesk-origin-server: "app20.pod1.ord.zdsys.com" | |
x-zendesk-user-id: "449360538" | |
x-zendesk-request-id: "384df08eee9018f67f37" | |
x-content-type-options: "nosniff" | |
content-encoding: "gzip" | |
{"tickets"=> "lots of tickets yay!"} | |
########################################################################################################################### | |
Using ruby 2.0.0, there are small differences, but works. | |
[2] pry(main)> client = CustomerService.get_api_client | |
=> #<ZendeskAPI::Client:0x007f77c3c9a8a0 | |
@callbacks= | |
[#<Proc:0x007f77c3c41908@/home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/zendesk_api-1.1.1/lib/zendesk_api/client.rb:206>], | |
@config= | |
#<ZendeskAPI::Configuration:0x007f77c3c9a850 | |
@allow_http=true, | |
@cache= | |
#<ZendeskAPI::LRUCache:0x007f77c3c9a7b0 @lru=[], @size=1000, @store={}>, | |
@client_options={}, | |
@logger= | |
#<Logger:0x007f77c3c43aa0 | |
@default_formatter= | |
#<Logger::Formatter:0x007f77c3c41b88 @datetime_format=nil>, | |
@formatter=nil, | |
@level=0, | |
@logdev= | |
#<Logger::LogDevice:0x007f77c3c41b10 | |
@dev=#<IO:<STDOUT>>, | |
@filename=nil, | |
@mutex= | |
#<Logger::LogDevice::LogDeviceMutex:0x007f77c3c41ac0 | |
@mon_count=0, | |
@mon_mutex=#<Mutex:0x007f77c3c41a70>, | |
@mon_owner=nil>, | |
@shift_age=nil, | |
@shift_size=nil>, | |
@progname=nil>, | |
@password="pass458878=", | |
@retry=true, | |
@url="https://eventioztest.zendesk.com/api/v2", | |
@username="lucas@test.com">, | |
@resource_cache={}> | |
[3] pry(main)> client.tickets | |
=> #<ZendeskAPI::Collection:0x007f77c3c05430 | |
@association= | |
#<ZendeskAPI::Association:0x007f77c3c052a0 | |
@options={"path"=>nil, "class"=>ZendeskAPI::Ticket}>, | |
@client= | |
#<ZendeskAPI::Client:0x007f77c3c9a8a0 | |
@callbacks= | |
[#<Proc:0x007f77c3c41908@/home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/zendesk_api-1.1.1/lib/zendesk_api/client.rb:206>], | |
@config= | |
#<ZendeskAPI::Configuration:0x007f77c3c9a850 | |
@allow_http=true, | |
@cache= | |
#<ZendeskAPI::LRUCache:0x007f77c3c9a7b0 @lru=[], @size=1000, @store={}>, | |
@client_options={}, | |
@logger= | |
#<Logger:0x007f77c3c43aa0 | |
@default_formatter= | |
#<Logger::Formatter:0x007f77c3c41b88 @datetime_format=nil>, | |
@formatter=nil, | |
@level=0, | |
@logdev= | |
#<Logger::LogDevice:0x007f77c3c41b10 | |
@dev=#<IO:<STDOUT>>, | |
@filename=nil, | |
@mutex= | |
#<Logger::LogDevice::LogDeviceMutex:0x007f77c3c41ac0 | |
@mon_count=0, | |
@mon_mutex=#<Mutex:0x007f77c3c41a70>, | |
@mon_owner=nil>, | |
@shift_age=nil, | |
@shift_size=nil>, | |
@progname=nil>, | |
@password="pass458878=", | |
@retry=true, | |
@url="https://eventioztest.zendesk.com/api/v2", | |
@username="lucas@test.com">, | |
@resource_cache= | |
{"tickets"=> | |
{:class=>ZendeskAPI::Ticket, | |
:cache=> | |
#<ZendeskAPI::LRUCache:0x007f77c3c06ee8 | |
@lru=[0], | |
@size=10, | |
@store={0=>#<ZendeskAPI::Collection:0x007f77c3c05430 ...>}>}}>, | |
@collection_path=["tickets"], | |
@fetchable=true, | |
@includes=[], | |
@options={}, | |
@resource="tickets", | |
@resource_class=ZendeskAPI::Ticket, | |
@verb=nil> | |
[4] pry(main)> client.tickets.all | |
I, [2013-10-28T12:42:25.704185 #24932] INFO -- : get https://eventioztest.zendesk.com/api/v2/tickets | |
D, [2013-10-28T12:42:25.704306 #24932] DEBUG -- : Accept: "application/json" | |
Accept-Encoding: "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" | |
User-Agent: "ZendeskAPI API 1.1.1" | |
I, [2013-10-28T12:42:27.605182 #24932] INFO -- : Status 200 | |
D, [2013-10-28T12:42:27.607411 #24932] DEBUG -- : server: "nginx/1.4.2" | |
date: "Mon, 28 Oct 2013 15:42:27 GMT" | |
content-type: "application/json; charset=utf-8" | |
transfer-encoding: "chunked" | |
connection: "close" | |
status: "200 OK" | |
x-zendesk-api-version: "v2" | |
x-runtime: "457" | |
cache-control: "private, max-age=0, must-revalidate" | |
x-zendesk-origin-server: "app32.pod1.ord.zdsys.com" | |
x-zendesk-user-id: "449360538" | |
x-zendesk-request-id: "529119140d1676513213" | |
x-content-type-options: "nosniff" | |
content-encoding: "gzip" | |
{"tickets"=> "lots of tickets!"} | |
So we know that it works with ruby 1.9.2 and 2.0, lets try rails now... | |
########################################################################################################################### | |
Ruby 1.9.2 -p125 using Rails 4 AND using Ruby 2.0 using Rails 4 we get an error at the end... | |
irb(main):003:0> c = CustomerService.get_api_client | |
=> #<ZendeskAPI::Client:0x007f76cf086b80 @config=#<ZendeskAPI::Configuration:0x007f76cf086a90 @client_options={}, @cache=#<ZendeskAPI::LRUCache:0x007f76cf0869a0 @size=1000, @store={}, @lru=[]>, @url="https://eventioztest.zendesk.com/api/v2", @username="lucas@test.com", @password="pass458878=", @allow_http=true, @retry=true, @logger=#<Logger:0x007f76cf0864f0 @progname=nil, @level=0, @default_formatter=#<Logger::Formatter:0x007f76cf0864c8 @datetime_format=nil>, @formatter=nil, @logdev=#<Logger::LogDevice:0x007f76cf086478 @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<IO:<STDOUT>>, @mutex=#<Logger::LogDevice::LogDeviceMutex:0x007f76cf0863b0 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Mutex:0x007f76cf0861d0>>>>>, @callbacks=[#<Proc:0x007f76cf085dc0@/home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/zendesk_api-1.1.1/lib/zendesk_api/client.rb:206>], @resource_cache={}> | |
irb(main):004:0> c.tickets | |
=> #<ZendeskAPI::Collection:0x007f76cf16ebd8 @resource="tickets", @resource_class=ZendeskAPI::Ticket, @client=#<ZendeskAPI::Client:0x007f76cf086b80 @config=#<ZendeskAPI::Configuration:0x007f76cf086a90 @client_options={}, @cache=#<ZendeskAPI::LRUCache:0x007f76cf0869a0 @size=1000, @store={}, @lru=[]>, @url="https://eventioztest.zendesk.com/api/v2", @username="lucas@test.com", @password="pass458878=", @allow_http=true, @retry=true, @logger=#<Logger:0x007f76cf0864f0 @progname=nil, @level=0, @default_formatter=#<Logger::Formatter:0x007f76cf0864c8 @datetime_format=nil>, @formatter=nil, @logdev=#<Logger::LogDevice:0x007f76cf086478 @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<IO:<STDOUT>>, @mutex=#<Logger::LogDevice::LogDeviceMutex:0x007f76cf0863b0 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Mutex:0x007f76cf0861d0>>>>>, @callbacks=[#<Proc:0x007f76cf085dc0@/home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/zendesk_api-1.1.1/lib/zendesk_api/client.rb:206>], @resource_cache={"tickets"=>{:class=>ZendeskAPI::Ticket, :cache=>#<ZendeskAPI::LRUCache:0x007f76cf154058 @size=10, @store={0=>#<ZendeskAPI::Collection:0x007f76cf16ebd8 ...>}, @lru=[0]>}}>, @options=#<Hashie::Mash>, @collection_path=["tickets"], @association=#<ZendeskAPI::Association:0x007f76cf16ea98 @options=#<Hashie::Mash class=ZendeskAPI::Ticket path=nil>>, @verb=nil, @includes=[], @fetchable=true> | |
irb(main):005:0> c.tickets.all | |
I, [2013-10-28T12:51:48.717563 #25041] INFO -- : get https://eventioztest.zendesk.com/api/v2/tickets | |
D, [2013-10-28T12:51:48.717773 #25041] DEBUG -- : Accept: "application/json" | |
Accept-Encoding: "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" | |
User-Agent: "ZendeskAPI API 1.1.1" | |
I, [2013-10-28T12:51:51.629373 #25041] INFO -- : Status 200 | |
D, [2013-10-28T12:51:51.631635 #25041] DEBUG -- : server: "nginx/1.4.2" | |
date: "Mon, 28 Oct 2013 15:51:51 GMT" | |
content-type: "application/json; charset=utf-8" | |
transfer-encoding: "chunked" | |
connection: "close" | |
status: "200 OK" | |
x-zendesk-api-version: "v2" | |
x-runtime: "176" | |
cache-control: "private, max-age=0, must-revalidate" | |
x-zendesk-origin-server: "app23.pod1.ord.zdsys.com" | |
x-zendesk-user-id: "449360538" | |
x-zendesk-request-id: "bed36232428b1ef57561" | |
x-content-type-options: "nosniff" | |
content-encoding: "gzip" | |
{"tickets"=> "lots_of_tickets...but"} | |
NoMethodError: undefined method `arity' for nil:NilClass | |
from /home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/zendesk_api-1.1.1/lib/zendesk_api/collection.rb:312:in `block in _all' | |
from /home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/zendesk_api-1.1.1/lib/zendesk_api/collection.rb:405:in `each' | |
from /home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/zendesk_api-1.1.1/lib/zendesk_api/collection.rb:405:in `array_method' | |
from /home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/zendesk_api-1.1.1/lib/zendesk_api/collection.rb:271:in `method_missing' | |
from /home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/zendesk_api-1.1.1/lib/zendesk_api/collection.rb:309:in `_all' | |
from /home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/zendesk_api-1.1.1/lib/zendesk_api/collection.rb:201:in `all' | |
from (irb):5 | |
from /home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands/console.rb:90:in `start' | |
from /home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands/console.rb:9:in `start' | |
from /home/lucas/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:64:in `<top (required)>' | |
from script/rails:6:in `require' | |
from script/rails:6:in `<main>' | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment