zendesk_api 1.3.5 → 1.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +2 -2
- data/.yardopts +0 -2
- data/Gemfile +4 -30
- data/Gemfile.lock +38 -80
- data/Rakefile +0 -5
- data/lib/zendesk_api/actions.rb +3 -2
- data/lib/zendesk_api/client.rb +4 -1
- data/lib/zendesk_api/collection.rb +4 -0
- data/lib/zendesk_api/configuration.rb +2 -0
- data/lib/zendesk_api/middleware/request/upload.rb +1 -1
- data/lib/zendesk_api/middleware/request/url_based_access_token.rb +26 -0
- data/lib/zendesk_api/resources.rb +25 -1
- data/lib/zendesk_api/version.rb +1 -1
- data/spec/core/client_spec.rb +1 -0
- data/spec/core/middleware/request/upload_spec.rb +26 -27
- data/spec/core/spec_helper.rb +27 -1
- data/spec/live/user_spec.rb +4 -2
- data/spec/live/user_view_spec.rb +16 -0
- data/spec/live/voice/phone_number_spec.rb +2 -0
- data/zendesk_api.gemspec +1 -4
- metadata +9 -191
- data/Procfile +0 -1
- data/bin/zendesk +0 -27
- data/config.ru +0 -6
- data/config/mongoid.yml +0 -81
- data/config/newrelic.yml +0 -255
- data/lib/zendesk_api/console/base.rb +0 -12
- data/lib/zendesk_api/console/console.rb +0 -144
- data/lib/zendesk_api/console/extensions.rb +0 -202
- data/lib/zendesk_api/console/options.rb +0 -41
- data/lib/zendesk_api/server/base.rb +0 -123
- data/lib/zendesk_api/server/docs/account_settings.md +0 -191
- data/lib/zendesk_api/server/docs/activity_stream.md +0 -121
- data/lib/zendesk_api/server/docs/attachments.md +0 -142
- data/lib/zendesk_api/server/docs/autocomplete.md +0 -29
- data/lib/zendesk_api/server/docs/automations.md +0 -256
- data/lib/zendesk_api/server/docs/categories.md +0 -193
- data/lib/zendesk_api/server/docs/changes_roadmap.md +0 -286
- data/lib/zendesk_api/server/docs/custom_roles.md +0 -88
- data/lib/zendesk_api/server/docs/forum_subscriptions.md +0 -139
- data/lib/zendesk_api/server/docs/forums.md +0 -229
- data/lib/zendesk_api/server/docs/group_memberships.md +0 -229
- data/lib/zendesk_api/server/docs/groups.md +0 -212
- data/lib/zendesk_api/server/docs/introduction.md +0 -165
- data/lib/zendesk_api/server/docs/job_statuses.md +0 -86
- data/lib/zendesk_api/server/docs/locales.md +0 -124
- data/lib/zendesk_api/server/docs/macros.md +0 -289
- data/lib/zendesk_api/server/docs/organizations.md +0 -271
- data/lib/zendesk_api/server/docs/problems.md +0 -117
- data/lib/zendesk_api/server/docs/requests.md +0 -274
- data/lib/zendesk_api/server/docs/satisfaction_ratings.md +0 -172
- data/lib/zendesk_api/server/docs/search.md +0 -106
- data/lib/zendesk_api/server/docs/sharing_agreements.md +0 -57
- data/lib/zendesk_api/server/docs/side_loading.md +0 -125
- data/lib/zendesk_api/server/docs/suspended_tickets.md +0 -184
- data/lib/zendesk_api/server/docs/tags.md +0 -145
- data/lib/zendesk_api/server/docs/ticket_audits.md +0 -688
- data/lib/zendesk_api/server/docs/ticket_export.md +0 -121
- data/lib/zendesk_api/server/docs/ticket_fields.md +0 -277
- data/lib/zendesk_api/server/docs/ticket_import.md +0 -65
- data/lib/zendesk_api/server/docs/ticket_metrics.md +0 -125
- data/lib/zendesk_api/server/docs/tickets.md +0 -696
- data/lib/zendesk_api/server/docs/topic_comments.md +0 -221
- data/lib/zendesk_api/server/docs/topic_subscriptions.md +0 -140
- data/lib/zendesk_api/server/docs/topic_votes.md +0 -153
- data/lib/zendesk_api/server/docs/topics.md +0 -335
- data/lib/zendesk_api/server/docs/triggers.md +0 -264
- data/lib/zendesk_api/server/docs/user_identities.md +0 -279
- data/lib/zendesk_api/server/docs/users.md +0 -455
- data/lib/zendesk_api/server/docs/views.md +0 -644
- data/lib/zendesk_api/server/helper.rb +0 -110
- data/lib/zendesk_api/server/html_renderer.rb +0 -98
- data/lib/zendesk_api/server/models/user_request.rb +0 -16
- data/lib/zendesk_api/server/models/zlib_json.rb +0 -13
- data/lib/zendesk_api/server/public/config.rb +0 -26
- data/lib/zendesk_api/server/public/doc/ZendeskAPI.html +0 -131
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Ability.html +0 -592
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Activity.html +0 -979
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Attachment.html +0 -658
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Automation.html +0 -805
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Bookmark.html +0 -606
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/CRMData.html +0 -592
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/CRMDataStatus.html +0 -592
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Category.html +0 -825
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Client.html +0 -1226
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Collection.html +0 -2606
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Configuration.html +0 -1302
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Create.html +0 -392
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Create/ClassMethods.html +0 -283
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/CreateResource.html +0 -878
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/CustomRole.html +0 -592
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Data.html +0 -1406
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/DataResource.html +0 -823
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/DeleteResource.html +0 -815
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Destroy.html +0 -357
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Destroy/ClassMethod.html +0 -295
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Error.html +0 -115
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Error/ClientError.html +0 -127
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Error/NetworkError.html +0 -127
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Error/RecordInvalid.html +0 -371
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Error/RecordNotFound.html +0 -127
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Forum.html +0 -1559
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/ForumSubscription.html +0 -979
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Group.html +0 -606
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/GroupMembership.html +0 -979
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/JobStatus.html +0 -598
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Locale.html +0 -598
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Macro.html +0 -805
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/MobileDevice.html +0 -724
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/OAuthClient.html +0 -606
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/OAuthToken.html +0 -810
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Organization.html +0 -1379
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/OrganizationField.html +0 -606
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Read.html +0 -341
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/ReadResource.html +0 -797
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Request.html +0 -1189
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Request/Comment.html +0 -993
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Resource.html +0 -1263
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Role.html +0 -592
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Rule.html +0 -610
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/RuleExecution.html +0 -679
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/SatisfactionRating.html +0 -1327
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Save.html +0 -494
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Search.html +0 -411
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Search/Result.html +0 -462
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Setting.html +0 -742
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/SharingAgreement.html +0 -598
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/SingularResource.html +0 -610
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/SuspendedTicket.html +0 -911
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Ticket.html +0 -3094
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Ticket/Audit.html +0 -787
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Ticket/Comment.html +0 -1039
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Ticket/Tag.html +0 -606
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/TicketField.html +0 -606
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/TicketMetric.html +0 -782
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Topic.html +0 -1449
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Topic/TopicComment.html +0 -1122
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Topic/TopicVote.html +0 -983
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/TopicComment.html +0 -1039
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/TopicSubscription.html +0 -979
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Trigger.html +0 -805
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Update.html +0 -392
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Update/ClassMethod.html +0 -287
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/UpdateResource.html +0 -878
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Upload.html +0 -1176
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/User.html +0 -3974
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/User/Identity.html +0 -926
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/User/TopicComment.html +0 -656
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/UserField.html +0 -606
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/Verbs.html +0 -332
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/View.html +0 -1650
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/ViewCount.html +0 -592
- data/lib/zendesk_api/server/public/doc/ZendeskAPI/ViewRow.html +0 -1744
- data/lib/zendesk_api/server/public/doc/_index.html +0 -799
- data/lib/zendesk_api/server/public/doc/class_list.html +0 -53
- data/lib/zendesk_api/server/public/doc/css/common.css +0 -1
- data/lib/zendesk_api/server/public/doc/css/full_list.css +0 -57
- data/lib/zendesk_api/server/public/doc/css/style.css +0 -338
- data/lib/zendesk_api/server/public/doc/file.Readme.html +0 -137
- data/lib/zendesk_api/server/public/doc/file_list.html +0 -55
- data/lib/zendesk_api/server/public/doc/frames.html +0 -28
- data/lib/zendesk_api/server/public/doc/index.html +0 -137
- data/lib/zendesk_api/server/public/doc/js/app.js +0 -214
- data/lib/zendesk_api/server/public/doc/js/full_list.js +0 -173
- data/lib/zendesk_api/server/public/doc/js/jquery.js +0 -4
- data/lib/zendesk_api/server/public/doc/method_list.html +0 -2332
- data/lib/zendesk_api/server/public/doc/top-level-namespace.html +0 -112
- data/lib/zendesk_api/server/public/favicon.ico +0 -0
- data/lib/zendesk_api/server/public/images/glyphicons-halflings-white.png +0 -0
- data/lib/zendesk_api/server/public/images/glyphicons-halflings.png +0 -0
- data/lib/zendesk_api/server/public/images/spinner.gif +0 -0
- data/lib/zendesk_api/server/public/images/zendesk_developers_bg.png +0 -0
- data/lib/zendesk_api/server/public/images/zendesk_developers_header.png +0 -0
- data/lib/zendesk_api/server/public/javascripts/application.js +0 -186
- data/lib/zendesk_api/server/public/javascripts/bootstrap-alert.js +0 -90
- data/lib/zendesk_api/server/public/javascripts/bootstrap-button.js +0 -96
- data/lib/zendesk_api/server/public/javascripts/bootstrap-carousel.js +0 -169
- data/lib/zendesk_api/server/public/javascripts/bootstrap-collapse.js +0 -157
- data/lib/zendesk_api/server/public/javascripts/bootstrap-dropdown.js +0 -100
- data/lib/zendesk_api/server/public/javascripts/bootstrap-modal.js +0 -218
- data/lib/zendesk_api/server/public/javascripts/bootstrap-popover.js +0 -98
- data/lib/zendesk_api/server/public/javascripts/bootstrap-scrollspy.js +0 -151
- data/lib/zendesk_api/server/public/javascripts/bootstrap-tab.js +0 -135
- data/lib/zendesk_api/server/public/javascripts/bootstrap-tooltip.js +0 -275
- data/lib/zendesk_api/server/public/javascripts/bootstrap-transition.js +0 -61
- data/lib/zendesk_api/server/public/javascripts/bootstrap-typeahead.js +0 -285
- data/lib/zendesk_api/server/public/sass/screen.scss +0 -102
- data/lib/zendesk_api/server/public/sass/styles.scss +0 -5
- data/lib/zendesk_api/server/public/stylesheets/developer.screen.css +0 -836
- data/lib/zendesk_api/server/public/stylesheets/screen.css +0 -129
- data/lib/zendesk_api/server/public/stylesheets/styles.css +0 -6208
- data/lib/zendesk_api/server/templates/footer.haml +0 -13
- data/lib/zendesk_api/server/templates/header.haml +0 -20
- data/lib/zendesk_api/server/templates/index.haml +0 -68
- data/lib/zendesk_api/server/templates/layout.haml +0 -44
- data/lib/zendesk_api/server/templates/param.haml +0 -4
- data/lib/zendesk_api/server/templates/search.haml +0 -23
- data/lib/zendesk_api/server/templates/sidebar.haml +0 -7
- data/spec/server/app_spec.rb +0 -140
- data/spec/server/helper_spec.rb +0 -97
- data/spec/server/html_renderer_spec.rb +0 -130
- data/spec/server/spec_helper.rb +0 -43
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
%footer.container.footer
|
|
2
|
-
%small
|
|
3
|
-
We will never store your username, password or API token.
|
|
4
|
-
.footer_links
|
|
5
|
-
%span.footer_item
|
|
6
|
-
%a{:href => "http://www.zendesk.com"} Zendesk
|
|
7
|
-
%span.footer_item
|
|
8
|
-
%a{:href => "http://www.zendesk.com/signup"} Signup
|
|
9
|
-
%span.footer_item
|
|
10
|
-
%a{:href => "http://www.zendesk.com/integrations"} Integrations
|
|
11
|
-
%span.copyright
|
|
12
|
-
©2012 Zendesk
|
|
13
|
-
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
.navbar.navbar-fixed-top
|
|
2
|
-
.navbar-inner
|
|
3
|
-
.container
|
|
4
|
-
%a{:href => url("/")}
|
|
5
|
-
%img.logo-lotus{:src => url("/images/zendesk_developers_header.png")}
|
|
6
|
-
|
|
7
|
-
%ul.nav.pull-right
|
|
8
|
-
%li
|
|
9
|
-
%a{:href => "http://developer.zendesk.com/documentation/rest_api/introduction.html"} REST API
|
|
10
|
-
%li
|
|
11
|
-
%a{:href => "http://developer.zendesk.com/documentation/apps"} Apps
|
|
12
|
-
%li
|
|
13
|
-
%a{:href => "http://developer.zendesk.com/blog/index.html"} Blog
|
|
14
|
-
%li
|
|
15
|
-
%a{:href => "https://support.zendesk.com/forums/20636018-zendesk-api"} Community
|
|
16
|
-
%li
|
|
17
|
-
%a{:href => "https://support.zendesk.com"} Support
|
|
18
|
-
|
|
19
|
-
%form.navbar-search.pull-left{:action => "http://developer.zendesk.com/search", :method => "get"}
|
|
20
|
-
%input.search-query.span2{:type => "text", :name => "q", :placeholder => "Search"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
%form.form{:method => :post, :action => url("/")}
|
|
2
|
-
.form-inline
|
|
3
|
-
%input.input-xlarge{:id => "username", :name => "username", :placeholder => "username", :type => "text", :value => params["username"]}
|
|
4
|
-
%input.input-xlarge{:id => "password", :name => "password", :placeholder => "password / token", :type => "password", :value => params["password"]}
|
|
5
|
-
|
|
6
|
-
%input#path{:name => "url", :type => "text", :value => full_url, :placeholder => "https://{subdomain}.zendesk.com/api/v2/{path}.json"}
|
|
7
|
-
|
|
8
|
-
#input
|
|
9
|
-
#params
|
|
10
|
-
- (@url_params || {}).each do |param|
|
|
11
|
-
= haml :param, :locals => { :param => param }
|
|
12
|
-
|
|
13
|
-
%button.btn#add-param{:type => "button"}
|
|
14
|
-
Add URL Parameter
|
|
15
|
-
|
|
16
|
-
#possible-params{:href => "#"}
|
|
17
|
-
%i.icon-plus
|
|
18
|
-
%i.icon-minus.hide
|
|
19
|
-
Valid URL Parameters
|
|
20
|
-
|
|
21
|
-
#possible-params-text.hide.alert.alert-info
|
|
22
|
-
per_page, page, includes, sort_order
|
|
23
|
-
%small.inline (these may not be honored for all requests)
|
|
24
|
-
|
|
25
|
-
%textarea#json.hide{:name => "json", :placeholder => '{ "": "" }'}= @json
|
|
26
|
-
|
|
27
|
-
%select#method-select{:name => "method"}
|
|
28
|
-
- %w{GET POST PUT DELETE}.each do |method|
|
|
29
|
-
%option{:value => method, :selected => @method == method.downcase.to_sym}= method
|
|
30
|
-
|
|
31
|
-
%button.btn.btn-primary{:type => :submit}
|
|
32
|
-
Submit
|
|
33
|
-
|
|
34
|
-
#response
|
|
35
|
-
- if @html_request && @html_response
|
|
36
|
-
%ul.nav.nav-pills
|
|
37
|
-
%li
|
|
38
|
-
%a.tab-link#request-tab-link{:href => "#request"}
|
|
39
|
-
Request
|
|
40
|
-
%li.active
|
|
41
|
-
%a.tab-link#response-tab-link{:href => "#response"}
|
|
42
|
-
Response
|
|
43
|
-
|
|
44
|
-
- if @error
|
|
45
|
-
.alert.alert-error
|
|
46
|
-
%button.close{:type => "button", "data-dismiss" => "alert"} x
|
|
47
|
-
%span= "Error: #{@error}"
|
|
48
|
-
|
|
49
|
-
- if @html_request
|
|
50
|
-
#request-tab.code.tab.hide
|
|
51
|
-
%pre= @html_request
|
|
52
|
-
|
|
53
|
-
- if @html_response
|
|
54
|
-
#response-tab.code.tab
|
|
55
|
-
%pre= @html_response
|
|
56
|
-
|
|
57
|
-
- if @user_request
|
|
58
|
-
- url = url("/#{@user_request._id}")
|
|
59
|
-
|
|
60
|
-
You can access this request again at
|
|
61
|
-
%a{:href => url}= url
|
|
62
|
-
%small.inline (your password isn't stored)
|
|
63
|
-
|
|
64
|
-
:javascript
|
|
65
|
-
$("#add-param").click(function(event) {
|
|
66
|
-
event.preventDefault();
|
|
67
|
-
$("#params").append(#{haml(:param, :locals => { :param => {} }).to_json});
|
|
68
|
-
});
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
!!! 5
|
|
2
|
-
%html
|
|
3
|
-
%head
|
|
4
|
-
// Bootstrap
|
|
5
|
-
%link{:rel => "stylesheet", :href => url("/stylesheets/styles.css"), :type => "text/css"}
|
|
6
|
-
|
|
7
|
-
// developers.zendesk.com Mods
|
|
8
|
-
// Stored locally because it's Non-SSL
|
|
9
|
-
// %link{:rel => "stylesheet", :href => "http://developer.zendesk.com/stylesheets/screen.css", :type => "text/css"}
|
|
10
|
-
%link{:rel => "stylesheet", :href => url("/stylesheets/developer.screen.css"), :type => "text/css"}
|
|
11
|
-
|
|
12
|
-
// Our mods
|
|
13
|
-
%link{:rel => "stylesheet", :href => url("/stylesheets/screen.css"), :type => "text/css"}
|
|
14
|
-
|
|
15
|
-
%link{:rel => "stylesheet", :href => "//ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/themes/base/jquery-ui.css", :type => "text/css"}
|
|
16
|
-
|
|
17
|
-
%script{:src => "//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"}
|
|
18
|
-
%script{:src => "//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"}
|
|
19
|
-
|
|
20
|
-
%script{:src => url("/javascripts/bootstrap-alert.js")}
|
|
21
|
-
%script{:src => url("/javascripts/application.js")}
|
|
22
|
-
|
|
23
|
-
%title Zendesk API
|
|
24
|
-
%body
|
|
25
|
-
= haml :header
|
|
26
|
-
|
|
27
|
-
.container
|
|
28
|
-
.row-fluid
|
|
29
|
-
.span12.frame.well#navigation
|
|
30
|
-
%ul.nav.nav-pills
|
|
31
|
-
%li.active
|
|
32
|
-
%a.tab-link#throw-tab-link{:href => "#"}
|
|
33
|
-
Try the API
|
|
34
|
-
%li
|
|
35
|
-
%a.tab-link#help-tab-link{:href => "#documentation"}
|
|
36
|
-
Documentation
|
|
37
|
-
.row-fluid
|
|
38
|
-
.span12.frame.well.tab#throw-tab
|
|
39
|
-
= yield
|
|
40
|
-
.row-fluid
|
|
41
|
-
.span12.frame.well.hide.tab#help-tab
|
|
42
|
-
= haml :search
|
|
43
|
-
|
|
44
|
-
= haml :footer
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#search
|
|
2
|
-
.input-append
|
|
3
|
-
%input.input-block-level{:type => "text", :placeholder => "try: users", :name => "query"}
|
|
4
|
-
%button.btn#clear-search
|
|
5
|
-
%i.icon-remove
|
|
6
|
-
|
|
7
|
-
.alert.alert-info
|
|
8
|
-
%button.close{:type => "button", "data-dismiss" => "alert"} x
|
|
9
|
-
Begin typing and you should be able to see a list of available resources to view
|
|
10
|
-
%br
|
|
11
|
-
To go to a specific action, add the header name to the end e.g. users#list-users
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
#search-results= settings.help
|
|
15
|
-
|
|
16
|
-
:javascript
|
|
17
|
-
$("#search input").autocomplete({
|
|
18
|
-
source: #{settings.autocomplete.to_json},
|
|
19
|
-
minLength: 3,
|
|
20
|
-
select: function(event, ui) {
|
|
21
|
-
search(ui.item.value);
|
|
22
|
-
}
|
|
23
|
-
});
|
data/spec/server/app_spec.rb
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
require 'server/spec_helper'
|
|
2
|
-
|
|
3
|
-
describe ZendeskAPI::Server::App do
|
|
4
|
-
context "configuration" do
|
|
5
|
-
subject { described_class.settings }
|
|
6
|
-
|
|
7
|
-
context "documentation" do
|
|
8
|
-
# TODO
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
context "a GET to /" do
|
|
13
|
-
before { get '/' }
|
|
14
|
-
|
|
15
|
-
it "should respond ok" do
|
|
16
|
-
last_response.status.should == 200
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
context "a GET to /:object_id" do
|
|
21
|
-
context "with a stored object" do
|
|
22
|
-
subject do
|
|
23
|
-
ZendeskAPI::Server::UserRequest.create(
|
|
24
|
-
:username => "test",
|
|
25
|
-
:method => :post,
|
|
26
|
-
:url => "http://my.url.com",
|
|
27
|
-
:json => '{"hello": "goodbye"}',
|
|
28
|
-
:url_params => [{ :name => :a, :value => :b }],
|
|
29
|
-
:request => {}, # TODO
|
|
30
|
-
:response => {}
|
|
31
|
-
)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
before { get "/#{subject._id}" }
|
|
35
|
-
|
|
36
|
-
it "should respond ok" do
|
|
37
|
-
last_response.status.should == 200
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
it "should fill in url field" do
|
|
41
|
-
last_response.body.should include "value='http://my.url.com'"
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
it "should fill in json field" do
|
|
45
|
-
last_response.body.should include subject.json
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
it "should select the proper method" do
|
|
49
|
-
last_response.body.should include "selected value='POST'"
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
it "should add url param" do
|
|
53
|
-
last_response.body.should include "value='a'"
|
|
54
|
-
last_response.body.should include "value='b'"
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
context "with no object" do
|
|
59
|
-
before { get '/1234567876543' }
|
|
60
|
-
|
|
61
|
-
it "should respond ok" do
|
|
62
|
-
last_response.status.should == 200
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
context "a POST to /" do
|
|
68
|
-
context "valid" do
|
|
69
|
-
before do
|
|
70
|
-
stub_json_request(:put, "https://me:2@smersh.zendesk.com/api/v2/users.json?id=1").with(:body => '{"hello":1}')
|
|
71
|
-
|
|
72
|
-
post '/', :method => "PUT", :url => "https://smersh.zendesk.com/api/v2/users.json",
|
|
73
|
-
:params => [{ "name" => "id", "value" => "1" }, {}], :json => '{"hello":1}',
|
|
74
|
-
:username => "me", :password => "2"
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
it "should return ok" do
|
|
78
|
-
last_response.status.should == 200
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
context "user request" do
|
|
82
|
-
it "should not save authorization data" do
|
|
83
|
-
user_request = ZendeskAPI::Server::UserRequest.last
|
|
84
|
-
user_request.request[:request_headers]["Authorization"].should be_nil
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
context "invalid url" do
|
|
90
|
-
before do
|
|
91
|
-
post '/', :url => "http://nowheresville.com", :method => "PUT"
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
it "should set the error" do
|
|
95
|
-
last_response.body.should =~ /valid URL/
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
context "invalid" do
|
|
100
|
-
before do
|
|
101
|
-
@user_requests = ZendeskAPI::Server::UserRequest.count
|
|
102
|
-
|
|
103
|
-
post '/', :method => "OMG", :url => "https://nowheresville.com",
|
|
104
|
-
:params => [{ "name" => "", "value" => "11243" }, {}], :json => '{"hello":1}',
|
|
105
|
-
:username => "me", :password => "2"
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
it "should not save user request" do
|
|
109
|
-
ZendeskAPI::Server::UserRequest.count.should == @user_requests
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
it "should return ok" do
|
|
113
|
-
last_response.status.should == 200
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
context "a POST to /search" do
|
|
119
|
-
subject do
|
|
120
|
-
post '/search', :query => query
|
|
121
|
-
last_response.body
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
context "valid documentation" do
|
|
125
|
-
let(:query) { "users" }
|
|
126
|
-
|
|
127
|
-
it "should return the correct documentation" do
|
|
128
|
-
should == described_class.settings.documentation["users"][:body]
|
|
129
|
-
end
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
context "invalid query" do
|
|
133
|
-
let(:query) { "omgnotreal" }
|
|
134
|
-
|
|
135
|
-
it "should return the introduction" do
|
|
136
|
-
should == described_class.settings.help
|
|
137
|
-
end
|
|
138
|
-
end
|
|
139
|
-
end
|
|
140
|
-
end
|
data/spec/server/helper_spec.rb
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
require 'server/spec_helper'
|
|
2
|
-
|
|
3
|
-
describe ZendeskAPI::Server::Helper do
|
|
4
|
-
subject do
|
|
5
|
-
Class.new do
|
|
6
|
-
include ZendeskAPI::Server::Helper
|
|
7
|
-
def params; @params ||= {}; end
|
|
8
|
-
end.new
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
context "coerce path" do
|
|
12
|
-
let(:coerced) do
|
|
13
|
-
subject.coerce_path(path)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
context "with no protocol" do
|
|
17
|
-
let(:path) { "smersh.zendesk.com/api/v2/users" }
|
|
18
|
-
|
|
19
|
-
it "should be assumed as https" do
|
|
20
|
-
coerced.should == "users"
|
|
21
|
-
subject.params["url"].should == "https://smersh.zendesk.com/api/v2"
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
context "with no .zendesk.com" do
|
|
26
|
-
let(:path) { "smersh/api/v2/users" }
|
|
27
|
-
|
|
28
|
-
it "should fill in https and .zendesk.com" do
|
|
29
|
-
coerced.should == "users"
|
|
30
|
-
subject.params["url"].should == "https://smersh.zendesk.com/api/v2"
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
context "with no .zendesk.com and no /api/v2" do
|
|
35
|
-
let(:path) { "smersh/users" }
|
|
36
|
-
|
|
37
|
-
it "should fill in https and .zendesk.com" do
|
|
38
|
-
coerced.should == "users"
|
|
39
|
-
subject.params["url"].should == "https://smersh.zendesk.com/api/v2"
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
context "with an https url" do
|
|
44
|
-
let(:path) { "https://smersh.zendesk.com/api/v2/users" }
|
|
45
|
-
|
|
46
|
-
it "should not change anything" do
|
|
47
|
-
coerced.should == "users"
|
|
48
|
-
subject.params["url"].should == "https://smersh.zendesk.com/api/v2"
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
context "with an http url" do
|
|
53
|
-
let(:path) { "http://smersh.zendesk.com/api/v2/users" }
|
|
54
|
-
|
|
55
|
-
it "should set the error" do
|
|
56
|
-
coerced.should == path
|
|
57
|
-
subject.instance_variable_get(:@error).should_not be_nil
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
context "execute request" do
|
|
63
|
-
before do
|
|
64
|
-
subject.params.merge!(:username => "me", :password => "2", :url => "https://somewhere.com")
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
it "should return error if invalid method" do
|
|
68
|
-
subject.instance_variable_set(:@method, "BLARGHL")
|
|
69
|
-
subject.execute_request
|
|
70
|
-
subject.instance_variable_get(:@error).should_not be_nil
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
context "valid request" do
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
context "map headers" do
|
|
78
|
-
it "should combine headers" do
|
|
79
|
-
subject.map_headers("accept-encoding" => "true", "hello" => "123").should ==
|
|
80
|
-
"Accept-Encoding: true\nHello: 123"
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
context "client" do
|
|
85
|
-
it "should set configuration options" do
|
|
86
|
-
subject.client(:username => "me", :password => "2", :url => "https://somewhere").should_not be_nil
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
it "should not allow http in production" do
|
|
90
|
-
app.stub(:development? => false)
|
|
91
|
-
|
|
92
|
-
expect do
|
|
93
|
-
subject.client(:url => "somewhere")
|
|
94
|
-
end.to raise_error ArgumentError
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
end
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
require 'server/spec_helper'
|
|
2
|
-
|
|
3
|
-
describe ZendeskAPI::Server::HtmlRenderer do
|
|
4
|
-
context "header" do
|
|
5
|
-
subject { described_class.render(markdown) }
|
|
6
|
-
|
|
7
|
-
before(:each) do
|
|
8
|
-
described_class.instance_variable_set(:@markdown, nil)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
context "h2" do
|
|
12
|
-
let(:markdown) { "## Hello" }
|
|
13
|
-
let(:id) { described_class.generate_id("Hello") }
|
|
14
|
-
|
|
15
|
-
it "should add icons" do
|
|
16
|
-
subject.should =~ /icon-plus/
|
|
17
|
-
subject.should =~ /icon-minus/
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it "should generate an id" do
|
|
21
|
-
subject.should =~ /h2 id="#{id}"/
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
it "should add the id to the headers" do
|
|
25
|
-
subject # Render
|
|
26
|
-
|
|
27
|
-
described_class.markdown.renderer.headers.should include id
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
context "h3" do
|
|
32
|
-
let(:markdown) { "### Hello" }
|
|
33
|
-
let(:id) { described_class.generate_id("Hello") }
|
|
34
|
-
|
|
35
|
-
it "should add icons" do
|
|
36
|
-
subject.should =~ /icon-plus/
|
|
37
|
-
subject.should =~ /icon-minus/
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
it "should generate an id" do
|
|
41
|
-
subject.should =~ /h3 id="#{described_class.generate_id(id)}"/
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
it "should add the id to the headers" do
|
|
45
|
-
subject # Render
|
|
46
|
-
|
|
47
|
-
described_class.markdown.renderer.headers.should include id
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
context "h1" do
|
|
52
|
-
let(:markdown) { "# Hello" }
|
|
53
|
-
let(:id) { described_class.generate_id("Hello") }
|
|
54
|
-
|
|
55
|
-
it "should not add icons" do
|
|
56
|
-
subject.should_not =~ /icon-plus/
|
|
57
|
-
subject.should_not =~ /icon-minus/
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
it "should generate an id" do
|
|
61
|
-
subject.should =~ /h1 id="#{described_class.generate_id(id)}"/
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
it "should not add the id to the headers" do
|
|
65
|
-
subject # Render
|
|
66
|
-
|
|
67
|
-
described_class.markdown.renderer.headers.should_not include id
|
|
68
|
-
end
|
|
69
|
-
end
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
context "code" do
|
|
73
|
-
subject { described_class.render(markdown) }
|
|
74
|
-
|
|
75
|
-
context "curl" do
|
|
76
|
-
let(:markdown) do
|
|
77
|
-
<<-END
|
|
78
|
-
```bash
|
|
79
|
-
curl -v -u someone@something.com https://{subdomain}.zendesk.com/api/v2/my_path.json?id={blah} \
|
|
80
|
-
-d '{"hello": {"goodbye": "see you later"}}' -X PUT
|
|
81
|
-
```
|
|
82
|
-
END
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
it "should have a button" do
|
|
86
|
-
subject.should =~ %r{<button.*</button>}m
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
it "should have a pre" do
|
|
90
|
-
subject.should =~ %r{<pre (.*)>curl .*</pre>}m
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
context "pre modifiers" do
|
|
94
|
-
let(:modifiers) do
|
|
95
|
-
subject =~ %r{<pre (.*)>curl .*</pre>}m && $1
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
it "should have a class" do
|
|
99
|
-
modifiers.should include "class='example'"
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
it "should have a data-url" do
|
|
103
|
-
modifiers.should include "data-url='https://{subdomain}.zendesk.com/api/v2/my_path.json?id={blah}'"
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
it "should have a data-json" do
|
|
107
|
-
modifiers.should include "data-json='{\"hello\": {\"goodbye\": \"see you later\"}}'"
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
it "should have a data-method" do
|
|
111
|
-
modifiers.should include "data-method='PUT'"
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
context "other" do
|
|
117
|
-
let(:markdown) do
|
|
118
|
-
<<-END
|
|
119
|
-
```json
|
|
120
|
-
{ "hello": "goodbye" }
|
|
121
|
-
```
|
|
122
|
-
END
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
it "should be wrapped in a pre" do
|
|
126
|
-
subject.should =~ %r{^<pre>.*</pre>$}m
|
|
127
|
-
end
|
|
128
|
-
end
|
|
129
|
-
end
|
|
130
|
-
end
|