desk_api 0.5.8 → 0.6.0

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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +2 -2
  3. data/README.md +274 -120
  4. data/lib/desk_api.rb +2 -2
  5. data/lib/desk_api/client.rb +6 -1
  6. data/lib/desk_api/configuration.rb +34 -26
  7. data/lib/desk_api/request/encode_json.rb +11 -0
  8. data/lib/desk_api/request/oauth.rb +20 -0
  9. data/lib/desk_api/request/retry.rb +37 -42
  10. data/lib/desk_api/resource.rb +86 -22
  11. data/lib/desk_api/response/parse_dates.rb +28 -0
  12. data/lib/desk_api/response/parse_json.rb +9 -0
  13. data/lib/desk_api/response/raise_error.rb +11 -16
  14. data/lib/desk_api/version.rb +1 -1
  15. data/spec/cassettes/DeskApi_Resource/_all/iterates_over_each_resource_on_each_page.yml +1953 -0
  16. data/spec/cassettes/DeskApi_Resource/_each_page/iterates_over_each_page.yml +1953 -0
  17. data/spec/cassettes/DeskApi_Resource/_each_page/raises_NoMethodError_is_called_on_non-page_resources.yml +207 -0
  18. data/spec/cassettes/DeskApi_Resource/_each_page/uses_a_default_per_page_of_1000.yml +1953 -0
  19. data/spec/cassettes/DeskApi_Resource/_load/loads_the_resource_if_not_already_loaded.yml +205 -0
  20. data/spec/cassettes/DeskApi_Resource/_loaded_/returns_true_if_the_resource_is_loaded.yml +205 -0
  21. data/spec/cassettes/DeskApi_Resource/_next_/changes__definition_to_next_page.yml +407 -0
  22. data/spec/cassettes/DeskApi_Resource/_next_/returns_nil_on_the_last_page.yml +315 -0
  23. data/spec/cassettes/DeskApi_Resource/_request/sends_request_through_a_client_and_returns_Faraday_Response.yml +207 -0
  24. data/spec/cassettes/DeskApi_Resource/_reset_/sets__links__embedded__changed_and__loaded_to_default_values.yml +253 -0
  25. data/spec/cassettes/DeskApi_Resource/_to_hash/converts_embedded_resources_to_hashes.yml +251 -0
  26. data/spec/cassettes/DeskApi_Resource/_to_hash/returns_a_hash_for_a_desk_resource.yml +66 -0
  27. data/spec/cassettes/DeskApi_Resource/_update/can_handle_action_params.yml +427 -0
  28. data/spec/desk_api/client_spec.rb +23 -17
  29. data/spec/desk_api/configuration_spec.rb +49 -41
  30. data/spec/desk_api/default_spec.rb +3 -3
  31. data/spec/desk_api/error_spec.rb +9 -7
  32. data/spec/desk_api/rate_limit_spec.rb +1 -1
  33. data/spec/desk_api/request/encode_json_spec.rb +33 -0
  34. data/spec/desk_api/request/oauth_spec.rb +31 -0
  35. data/spec/desk_api/request/retry_spec.rb +4 -4
  36. data/spec/desk_api/resource_spec.rb +247 -71
  37. data/spec/desk_api/response/parse_dates_spec.rb +34 -0
  38. data/spec/desk_api/response/parse_json_spec.rb +34 -0
  39. data/spec/desk_api/response/raise_error_spec.rb +31 -0
  40. data/spec/desk_api_spec.rb +6 -6
  41. data/spec/spec_helper.rb +2 -2
  42. data/spec/stubs/article.json +51 -0
  43. data/spec/stubs/to_hash_embed.json +1 -0
  44. metadata +78 -28
  45. data/.coveralls.yml +0 -1
  46. data/.gitignore +0 -23
  47. data/.rspec +0 -1
  48. data/.travis.yml +0 -4
  49. data/.yardopts +0 -3
  50. data/Gemfile +0 -10
  51. data/Guardfile +0 -5
  52. data/Rakefile +0 -32
  53. data/desk_api.gemspec +0 -32
data/.coveralls.yml DELETED
@@ -1 +0,0 @@
1
- service_name: travis-ci
data/.gitignore DELETED
@@ -1,23 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- coverage
6
- InstalledFiles
7
- lib/bundler/man
8
- pkg
9
- rdoc
10
- spec/reports
11
- test/tmp
12
- test/version_tmp
13
- tmp
14
- .DS_Store
15
- # YARD artifacts
16
- .yardoc
17
- _yardoc
18
- doc/
19
- Gemfile.lock
20
- .rvmrc
21
- *~
22
- backup
23
- config.rb
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color --order rand --format documentation
data/.travis.yml DELETED
@@ -1,4 +0,0 @@
1
- rvm:
2
- - 1.9.3
3
- - 2.0.0
4
- - jruby-19mode # JRuby in 1.9 mode
data/.yardopts DELETED
@@ -1,3 +0,0 @@
1
- --readme README.md
2
- --title "desk.rb Documentation"
3
- --no-private
data/Gemfile DELETED
@@ -1,10 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- group :development, :test do |variable|
4
- # Testing infrastructure
5
- gem 'pry'
6
- gem 'guard'
7
- gem 'guard-rspec'
8
- end
9
-
10
- gemspec
data/Guardfile DELETED
@@ -1,5 +0,0 @@
1
- guard 'rspec', :version => 2 do
2
- watch(%r{^spec/.+_spec\.rb$})
3
- watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
4
- watch('spec/spec_helper.rb') { "spec" }
5
- end
data/Rakefile DELETED
@@ -1,32 +0,0 @@
1
- require 'rake'
2
-
3
- begin
4
- require 'bundler/setup'
5
- Bundler::GemHelper.install_tasks
6
- rescue
7
- puts 'although not required, bundler is recommened for running the tests'
8
- end
9
-
10
- desc 'starts a console with the spec helpers preloaded'
11
- task :console do
12
- begin
13
- require_relative './spec/spec_helper'
14
- DeskApi.configure do |config|
15
- DeskApi::CONFIG.each do |key, value|
16
- config.send "#{key}=", value
17
- end
18
- end
19
- VCR.turn_off!
20
- require 'pry'
21
- Pry.start binding, quiet: true
22
- rescue LoadError
23
- puts "Looks like pry is not installed or loaded."
24
- end
25
- end
26
-
27
- task default: :spec
28
-
29
- require 'rspec/core/rake_task'
30
- RSpec::Core::RakeTask.new do |t|
31
- t.rspec_opts = ["--color", '--format doc']
32
- end
data/desk_api.gemspec DELETED
@@ -1,32 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
3
- require 'desk_api/version'
4
-
5
- Gem::Specification.new do |gem|
6
- gem.name = 'desk_api'
7
- gem.summary = 'A lightweight, flexible wrapper for the desk.com REST API.'
8
- gem.description = 'This is a lightweight, flexible ruby gem to interact with the desk.com REST API. It allows to create, read and delete resources available through the API endpoints. It can be used either with OAuth or HTTP Basic Authentication.'
9
- gem.homepage = 'http://github.com/tstachl/desk'
10
- gem.version = DeskApi::VERSION
11
-
12
- gem.authors = ['Thomas Stachl']
13
- gem.email = 'thomas@desk.com'
14
-
15
- gem.require_paths = ['lib']
16
- gem.files = `git ls-files`.split("\n")
17
- gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
- gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
-
20
- gem.extra_rdoc_files = ['README.md']
21
- gem.rdoc_options = ['--line-numbers', '--inline--source', '--title', 'desk.rb']
22
-
23
- gem.add_runtime_dependency('faraday_middleware', '~> 0.8.0')
24
- gem.add_runtime_dependency('simple_oauth', '~> 0.1')
25
- gem.add_runtime_dependency('addressable', '~> 2.3')
26
-
27
- gem.add_development_dependency('rake', '~> 10.1.1')
28
- gem.add_development_dependency('rspec', '~> 2.6')
29
- gem.add_development_dependency('vcr', '~> 2.0')
30
- gem.add_development_dependency('simplecov', '~> 0.7')
31
- gem.add_development_dependency('coveralls', '~> 0.6')
32
- end