zendesk-api 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -2,13 +2,14 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('zendesk-api', '0.3.1') do |p|
5
+ Echoe.new('zendesk-api', '0.3.2') do |p|
6
6
  p.description = "RubyGem wrapper for REST API to http://zendesk.com"
7
7
  p.author = "Peter Ericson"
8
8
  p.url = "http://github.com/pgericson/zendesk-api"
9
9
  p.email = "pg.ericson@gmail.com"
10
10
  p.ignore_pattern = ["tmp/*", "script/*"]
11
11
  p.development_dependencies = []
12
+ p.runtime_dependencies = ["crack >=0.1.8", "activesupport >=2.3"]
12
13
  end
13
14
  # how to build the new gem ( I can't remember so here it is for all time)
14
15
  # rake build_gemspec
@@ -1,6 +1,11 @@
1
1
  require 'rubygems'
2
2
  require 'curb'
3
- require 'active_resource'
3
+ require 'crack'
4
+ gem 'activesupport'
5
+ require 'active_support'
6
+ require 'active_support/version'
7
+ # need to pull in the pieces we want with Rails 3
8
+ require 'active_support/core_ext' if ActiveSupport::VERSION::MAJOR == 3
4
9
 
5
10
  module Zendesk
6
11
  class Error < StandardError; end
@@ -8,6 +13,7 @@ module Zendesk
8
13
  end
9
14
 
10
15
  require 'zendesk/user'
16
+ require 'zendesk/user_identity'
11
17
  require 'zendesk/organization'
12
18
  require 'zendesk/group'
13
19
  require 'zendesk/ticket'
@@ -56,6 +56,9 @@ module Zendesk
56
56
  if body.empty? or body[:list]
57
57
  curl.url = curl.url + params_list(body[:list]) if body[:list]
58
58
  curl.perform
59
+ elsif body[:post]
60
+ curl.headers = "Content-Type: application/xml"
61
+ curl.http_post
59
62
  elsif body[:create]
60
63
  curl.headers = "Content-Type: application/xml"
61
64
  curl.http_post(string_body(body))
@@ -72,20 +75,23 @@ module Zendesk
72
75
  if curl.body_str == "<error>Couldn't authenticate you</error>"
73
76
  return "string" #raise CouldNotAuthenticateYou
74
77
  end
75
- Response.new(curl)
78
+ Response.new(curl, format)
76
79
  end
77
80
 
78
81
  class Response
79
82
 
80
- attr_reader :status, :body, :headers_raw, :headers, :curl, :url
83
+ attr_reader :status, :body, :headers_raw, :headers, :curl, :url, :data
81
84
 
82
- def initialize(curl)
85
+ def initialize(curl, format)
86
+ @format=format
83
87
  @curl = curl
84
88
  @url = curl.url
85
89
  @status = curl.response_code
86
90
  @body = curl.body_str
87
91
  @headers_raw = curl.header_str
88
92
  parse_headers
93
+ # parse the data coming back
94
+ @data = Crack::XML.parse(@body || "") if @format == "xml"
89
95
  end
90
96
 
91
97
  def parse_headers
@@ -104,6 +110,7 @@ module Zendesk
104
110
  end
105
111
 
106
112
  include Zendesk::User
113
+ include Zendesk::UserIdentity
107
114
  include Zendesk::Organization
108
115
  include Zendesk::Group
109
116
  include Zendesk::Ticket
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{zendesk-api}
5
- s.version = "0.3.1"
5
+ s.version = "0.3.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Peter Ericson"]
9
- s.date = %q{2010-10-05}
8
+ s.authors = ["Peter Glerup Ericson"]
9
+ s.date = %q{2010-12-13}
10
10
  s.description = %q{RubyGem wrapper for REST API to http://zendesk.com}
11
11
  s.email = %q{pg.ericson@gmail.com}
12
12
  s.extra_rdoc_files = ["README.markdown", "lib/console.rb", "lib/zendesk-api.rb", "lib/zendesk.rb", "lib/zendesk/attachment.rb", "lib/zendesk/entry.rb", "lib/zendesk/forum.rb", "lib/zendesk/group.rb", "lib/zendesk/main.rb", "lib/zendesk/organization.rb", "lib/zendesk/search.rb", "lib/zendesk/tag.rb", "lib/zendesk/ticket.rb", "lib/zendesk/user.rb"]
@@ -23,8 +23,14 @@ Gem::Specification.new do |s|
23
23
  s.specification_version = 3
24
24
 
25
25
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
+ s.add_runtime_dependency(%q<crack>, [">= 0.1.8"])
27
+ s.add_runtime_dependency(%q<activesupport>, [">= 2.3"])
26
28
  else
29
+ s.add_dependency(%q<crack>, [">= 0.1.8"])
30
+ s.add_dependency(%q<activesupport>, [">= 2.3"])
27
31
  end
28
32
  else
33
+ s.add_dependency(%q<crack>, [">= 0.1.8"])
34
+ s.add_dependency(%q<activesupport>, [">= 2.3"])
29
35
  end
30
36
  end
metadata CHANGED
@@ -1,24 +1,54 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk-api
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 1
10
- version: 0.3.1
9
+ - 2
10
+ version: 0.3.2
11
11
  platform: ruby
12
12
  authors:
13
- - Peter Ericson
13
+ - Peter Glerup Ericson
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-05 00:00:00 +02:00
18
+ date: 2010-12-13 00:00:00 +01:00
19
19
  default_executable:
20
- dependencies: []
21
-
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: crack
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 11
30
+ segments:
31
+ - 0
32
+ - 1
33
+ - 8
34
+ version: 0.1.8
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: activesupport
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 5
46
+ segments:
47
+ - 2
48
+ - 3
49
+ version: "2.3"
50
+ type: :runtime
51
+ version_requirements: *id002
22
52
  description: RubyGem wrapper for REST API to http://zendesk.com
23
53
  email: pg.ericson@gmail.com
24
54
  executables: []