onesky-ruby 0.0.1 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 07702d69f7f7c3651594e79cf6dbd6e3bdf35205
4
- data.tar.gz: f4bfd6c6a08a1b2ad6747d317bd676bd175989e7
2
+ SHA256:
3
+ metadata.gz: f38e7f85eb9e38ba614092251ba723cea23ecc27eac541d5d7dd2555c716d8be
4
+ data.tar.gz: 30d5e75bfe20bb3900afc8a9ab25ac7ebf40adc92e27aecbcefa62d916b85c04
5
5
  SHA512:
6
- metadata.gz: 6f995fba3cc6aa9486a467474ed9b041fb4132a1222c3a787699ed0da7a718aa74e6bb1d8a3aa4869036a8cfbc0c47579dcdb9327a11351cdb7f4abcab1bdffa
7
- data.tar.gz: 182b75526c85377c628084bf88920d605aff30af196e90fd1514b89c5835e531a6f5f4f4bb18f41022933b34e0d7e1162a3ca8180eaed6b42f1e41f8ed9b296b
6
+ metadata.gz: e4d40c63d8a041309345ded871861a4ae99ccbaa79e63ef22bd006d2edeb66aa197bd71139b393595f9f27b88080723a97bf0c960c38c258d829506422f5acaf
7
+ data.tar.gz: 9bfd0a9901fdc78b67163f0228e5e3a7adc2da2787b5f18784c405bb315edeb64a640ecb0e9e67fac604f58fefcb5d3f54e072150f609da9844b41462878381c
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 3.0
data/CHANGELOG.md ADDED
@@ -0,0 +1,24 @@
1
+ ### 0.0.1 - 23-OCT-2014
2
+
3
+ * Add client for non-project resources
4
+ * project group
5
+ * project type
6
+ * locales
7
+ * project (partially)
8
+
9
+ * Add project for project based resources
10
+ * project
11
+ * file
12
+ * translation
13
+ * import task
14
+ * order
15
+ * quotation
16
+
17
+ ### 1.0.0 - 31-DEC-2014
18
+
19
+ * Add custom header for OneSky
20
+ * Set as stable version
21
+
22
+ ### 1.0.1 - 9-JUN-2015
23
+
24
+ * Update rest-client version
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # OneSky - Ruby client
2
2
 
3
- Ruby client for [OneSky](http://www.oneskyapp.com) [Platform API](/onesky/api-documentation-platform)
3
+ [![Build Status](https://travis-ci.org/onesky/onesky-ruby.svg)](https://travis-ci.org/onesky/onesky-ruby)
4
+
5
+ Ruby client for [OneSky](http://www.oneskyapp.com) [Platform API](https://github.com/onesky/api-documentation-platform)
4
6
 
5
7
  ## Installation
6
8
 
@@ -45,7 +47,7 @@ p resp['data']
45
47
 
46
48
  # show project details
47
49
  project_id = 3
48
- project = client.porject(project_id)
50
+ project = client.project(project_id)
49
51
  resp = JSON.parse(project.show)
50
52
  p resp['data']
51
53
 
@@ -60,7 +62,7 @@ File.open('path/to/target/file', 'w') { |file| file.write(resp)}
60
62
 
61
63
  ## Contributing
62
64
 
63
- 1. Fork it ( http://github.com/<my-github-username>/onesky-ruby/fork )
65
+ 1. Fork it ( http://github.com/onesky/onesky-ruby/fork )
64
66
  2. Create your feature branch (`git checkout -b my-new-feature`)
65
67
  3. Commit your changes (`git commit -am 'Add some feature'`)
66
68
  4. Push to the branch (`git push origin my-new-feature`)
data/Rakefile CHANGED
@@ -1 +1,9 @@
1
- require "bundler/gem_tasks"
1
+ begin
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec) { |t| t.verbose = false }
5
+
6
+ task :default => :spec
7
+ rescue LoadError
8
+ p "no rspec available"
9
+ end
data/lib/onesky.rb CHANGED
@@ -1,4 +1,3 @@
1
1
  require 'onesky/version'
2
2
  require 'onesky/client'
3
3
  require 'onesky/errors'
4
- require 'onesky/restclient'
data/lib/onesky/client.rb CHANGED
@@ -15,11 +15,14 @@ module Onesky
15
15
  include Resources::Project
16
16
  include Helpers::Request
17
17
 
18
- attr_accessor :api_key, :api_secret, :project_id
18
+ attr_accessor :api_key, :api_secret, :project_id, :plugin_code
19
19
 
20
20
  def initialize(key, secret)
21
21
  @api_key = key
22
22
  @api_secret = secret
23
+
24
+ # Plugin code for custom header
25
+ @plugin_code = 'ruby-wrapper'
23
26
  end
24
27
 
25
28
  def auth_hash
@@ -10,35 +10,57 @@ module Helpers
10
10
 
11
11
  def get(path, params = {})
12
12
  uri = uri_prefix + path
13
- RestClient.get(uri, params: auth_hash.merge(params)) do |resp, req, result|
13
+ params = {
14
+ content_type: :json,
15
+ params: auth_hash.merge(params),
16
+ }.merge(custom_header)
17
+
18
+ RestClient.get(uri, params) do |resp, req, result|
14
19
  handle_error(resp)
15
20
  end
16
21
  end
17
22
 
18
23
  def post(path, body_hash)
19
24
  uri = uri_prefix + path
20
- RestClient.post(uri, body_hash.to_json, content_type: :json, params: auth_hash) do |resp, req, result|
25
+ params = {
26
+ content_type: :json,
27
+ params: auth_hash,
28
+ }.merge(custom_header)
29
+
30
+ RestClient.post(uri, body_hash.to_json, params) do |resp, req, result|
21
31
  handle_error(resp)
22
32
  end
23
33
  end
24
34
 
25
35
  def post_multipart(path, body_hash)
26
36
  uri = uri_prefix + path
27
- RestClient.post(uri, body_hash.merge({multipart: true}), params: auth_hash) do |resp, req, result|
37
+ params = {params: auth_hash}.merge(custom_header)
38
+
39
+ RestClient.post(uri, body_hash.merge({multipart: true}), params) do |resp, req, result|
28
40
  handle_error(resp)
29
41
  end
30
42
  end
31
43
 
32
44
  def put(path, body_hash)
33
45
  uri = uri_prefix + path
34
- RestClient.put(uri, body_hash.to_json, content_type: :json, params: auth_hash) do |resp, req, result|
46
+ params = {
47
+ content_type: :json,
48
+ params: auth_hash,
49
+ }.merge(custom_header)
50
+
51
+ RestClient.put(uri, body_hash.to_json, params) do |resp, req, result|
35
52
  handle_error(resp)
36
53
  end
37
54
  end
38
55
 
39
56
  def delete(path, params = {})
40
57
  uri = uri_prefix + path
41
- RestClient.delete(uri, params: auth_hash.merge(params)) do |resp, req, result|
58
+ params = {
59
+ content_type: :json,
60
+ params: auth_hash.merge(params)
61
+ }.merge(custom_header)
62
+
63
+ RestClient.delete(uri, params) do |resp, req, result|
42
64
  handle_error(resp)
43
65
  end
44
66
  end
@@ -78,5 +100,9 @@ module Helpers
78
100
  ''
79
101
  end
80
102
 
103
+ def custom_header
104
+ {'Onesky-Plugin' => @plugin_code}
105
+ end
106
+
81
107
  end
82
108
  end
@@ -22,6 +22,8 @@ module Onesky
22
22
  def initialize(client, id)
23
23
  @client = client
24
24
  @project_id = id
25
+
26
+ @plugin_code = client.plugin_code
25
27
  end
26
28
 
27
29
  private
@@ -1,3 +1,3 @@
1
1
  module Onesky
2
- VERSION = "0.0.1"
2
+ VERSION = "1.3.1"
3
3
  end
data/onesky-ruby.gemspec CHANGED
@@ -13,15 +13,17 @@ Gem::Specification.new do |spec|
13
13
  spec.homepage = "http://github.com/onesky/onesky-ruby"
14
14
  spec.license = "MIT"
15
15
 
16
+ spec.required_ruby_version = '>= 3.0'
17
+
16
18
  spec.files = `git ls-files -z`.split("\x0")
17
19
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
20
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
21
  spec.require_paths = ["lib"]
20
22
 
21
- spec.add_dependency 'rest-client', '~> 1.7'
23
+ spec.add_dependency 'rest-client', '~> 2.0'
22
24
 
23
- spec.add_development_dependency "bundler", "~> 1.5"
24
- spec.add_development_dependency "rake", "~> 10.3"
25
- spec.add_development_dependency "rspec", "~> 3.1"
26
- spec.add_development_dependency "webmock", "~> 1.19"
25
+ spec.add_development_dependency "bundler", "~> 2.2"
26
+ spec.add_development_dependency "rake", "~> 12.3"
27
+ spec.add_development_dependency "rspec", "~> 3.5.0"
28
+ spec.add_development_dependency "webmock", "~> 3.0"
27
29
  end
@@ -7,8 +7,16 @@ describe 'Helpers::Request' do
7
7
  let(:client) {Onesky::Client.new(api_key, api_secret)}
8
8
  let(:project_id) {1}
9
9
  let(:project) {client.project(project_id)}
10
+ let(:http_header) {{'Content-Type' => 'application/json', 'Onesky-Plugin' => 'ruby-wrapper'}}
10
11
 
11
12
  describe '#get' do
13
+ it 'should initial request with required headers' do
14
+ stub_request(:get, full_path_with_auth_hash("/locales", api_key, api_secret))
15
+ .with(headers: http_header)
16
+ .to_return(body: "{}")
17
+ expect(client.list_locale).to be_an_instance_of(RestClient::Response)
18
+ end
19
+
12
20
  it 'should raise error for error response code' do
13
21
  stub_request(:get, full_path_with_auth_hash("/locales", api_key, api_secret))
14
22
  .to_return(status: 400, body: {meta: {code: 400, message: 'error message'}}.to_json)
@@ -17,6 +25,13 @@ describe 'Helpers::Request' do
17
25
  end
18
26
 
19
27
  describe '#post' do
28
+ it 'should initial request with required headers' do
29
+ stub_request(:post, full_path_with_auth_hash("/project-groups", api_key, api_secret))
30
+ .with(headers: http_header)
31
+ .to_return(body: "{}")
32
+ expect(client.create_project_group({name: 'TEST'})).to be_an_instance_of(RestClient::Response)
33
+ end
34
+
20
35
  it 'should return response on error' do
21
36
  stub_request(:post, full_path_with_auth_hash("/project-groups", api_key, api_secret))
22
37
  .to_return(status: 400, body: {meta: {code: 400, message: 'error message'}}.to_json)
@@ -25,14 +40,28 @@ describe 'Helpers::Request' do
25
40
  end
26
41
 
27
42
  describe '#post_multipart' do
43
+ it 'should initial request with required headers' do
44
+ stub_request(:post, full_path_with_auth_hash("/projects/#{project_id}/files", api_key, api_secret))
45
+ .with(headers: {'Onesky-Plugin' => 'ruby-wrapper'})
46
+ .to_return(body: "{}")
47
+ expect(project.upload_file({file: 'spec/fixture/en.yml', file_format: 'RUBY_YAML'})).to be_an_instance_of(RestClient::Response)
48
+ end
49
+
28
50
  it 'should return response on error' do
29
51
  stub_request(:post, full_path_with_auth_hash("/projects/#{project_id}/files", api_key, api_secret))
30
- .to_return(status: 400, body: {meta: {code: 400, message: 'error message'}}.to_json)
52
+ .to_return(status: 400, body: {meta: {code: 400, message: 'error message'}}.to_json.to_s)
31
53
  expect {project.upload_file({file: 'spec/fixture/en.yml', file_format: 'RUBY_YAML'})}.to raise_error(Onesky::Errors::BadRequestError, '400 Bad Request - error message')
32
54
  end
33
55
  end
34
56
 
35
57
  describe '#put' do
58
+ it 'should initial request with required headers' do
59
+ stub_request(:put, full_path_with_auth_hash("/projects/#{project_id}", api_key, api_secret))
60
+ .with(headers: http_header)
61
+ .to_return(body: "{}")
62
+ expect(project.update({name: 'NEW NAME'})).to be_an_instance_of(RestClient::Response)
63
+ end
64
+
36
65
  it 'should return response on error' do
37
66
  stub_request(:put, full_path_with_auth_hash("/projects/#{project_id}", api_key, api_secret))
38
67
  .to_return(status: 400, body: {meta: {code: 400, message: 'error message'}}.to_json)
@@ -41,6 +70,13 @@ describe 'Helpers::Request' do
41
70
  end
42
71
 
43
72
  describe '#delete' do
73
+ it 'should initial request with required headers' do
74
+ stub_request(:delete, full_path_with_auth_hash("/projects/#{project_id}", api_key, api_secret))
75
+ .with(headers: http_header)
76
+ .to_return(body: "{}")
77
+ expect(project.remove).to be_an_instance_of(RestClient::Response)
78
+ end
79
+
44
80
  it 'should return response on error' do
45
81
  stub_request(:delete, full_path_with_auth_hash("/projects/#{project_id}", api_key, api_secret))
46
82
  .to_return(status: 400, body: {meta: {code: 400, message: 'error message'}}.to_json)
@@ -9,9 +9,9 @@ describe 'Locale' do
9
9
  describe 'list_locale' do
10
10
  it 'should list all available locales' do
11
11
  stub_request(:get, full_path_with_auth_hash('/locales', api_key, api_secret))
12
- .to_return(body: {})
12
+ .to_return(body: "{}")
13
13
  response = client.list_locale
14
- expect(response).to be_an_instance_of(Hash)
14
+ expect(response).to be_an_instance_of(RestClient::Response)
15
15
  end
16
16
  end
17
17
 
@@ -11,9 +11,9 @@ describe 'Project::Base' do
11
11
  describe 'show' do
12
12
  it 'should show project information' do
13
13
  stub_request(:get, full_path_with_auth_hash("/projects/#{project_id}", api_key, api_secret))
14
- .to_return(body: {})
14
+ .to_return(body: "{}")
15
15
  response = project.show
16
- expect(response).to be_an_instance_of(Hash)
16
+ expect(response).to be_an_instance_of(RestClient::Response)
17
17
  end
18
18
  end
19
19
 
@@ -40,9 +40,9 @@ describe 'Project::Base' do
40
40
  describe 'list_language' do
41
41
  it 'should list languages of project' do
42
42
  stub_request(:get, full_path_with_auth_hash("/projects/#{project_id}/languages", api_key, api_secret))
43
- .to_return(body: {})
43
+ .to_return(body: "{}")
44
44
  response = project.list_language
45
- expect(response).to be_an_instance_of(Hash)
45
+ expect(response).to be_an_instance_of(RestClient::Response)
46
46
  end
47
47
  end
48
48
 
@@ -11,9 +11,9 @@ describe 'Project::File' do
11
11
  describe 'list_file' do
12
12
  it 'should list files in project' do
13
13
  stub_request(:get, full_path_with_auth_hash("/projects/#{project_id}/files", api_key, api_secret))
14
- .to_return(body: {})
14
+ .to_return(body: "{}")
15
15
  response = project.list_file
16
- expect(response).to be_an_instance_of(Hash)
16
+ expect(response).to be_an_instance_of(RestClient::Response)
17
17
  end
18
18
  end
19
19
 
@@ -22,9 +22,9 @@ describe 'Project::File' do
22
22
 
23
23
  it 'should upload file to project' do
24
24
  stub_request(:post, full_path_with_auth_hash("/projects/#{project_id}/files", api_key, api_secret))
25
- .to_return(body: {})
25
+ .to_return(body: "{}")
26
26
  response = project.upload_file(params)
27
- expect(response).to be_an_instance_of(Hash)
27
+ expect(response).to be_an_instance_of(RestClient::Response)
28
28
  end
29
29
 
30
30
  it 'should raise error when file does not exist' do
@@ -38,9 +38,9 @@ describe 'Project::File' do
38
38
 
39
39
  it 'should delete file from project' do
40
40
  stub_request(:delete, full_path_with_auth_hash("/projects/#{project_id}/files", api_key, api_secret) + params_as_query_string)
41
- .to_return(body: {})
41
+ .to_return(body: "{}")
42
42
  response = project.delete_file(params)
43
- expect(response).to be_an_instance_of(Hash)
43
+ expect(response).to be_an_instance_of(RestClient::Response)
44
44
  end
45
45
  end
46
46
 
@@ -11,9 +11,9 @@ describe 'Project::ImportTask' do
11
11
  describe 'list_import_task' do
12
12
  it 'should list import tasks of the project' do
13
13
  stub_request(:get, full_path_with_auth_hash("/projects/#{project_id}/import-tasks", api_key, api_secret))
14
- .to_return(body: {})
14
+ .to_return(body: "{}")
15
15
  response = project.list_import_task
16
- expect(response).to be_an_instance_of(Hash)
16
+ expect(response).to be_an_instance_of(RestClient::Response)
17
17
  end
18
18
  end
19
19
 
@@ -22,9 +22,9 @@ describe 'Project::ImportTask' do
22
22
 
23
23
  it 'should show an import task details' do
24
24
  stub_request(:get, full_path_with_auth_hash("/projects/#{project_id}/import-tasks/#{import_task_id}", api_key, api_secret))
25
- .to_return(body: {})
25
+ .to_return(body: "{}")
26
26
  response = project.show_import_task(import_task_id)
27
- expect(response).to be_an_instance_of(Hash)
27
+ expect(response).to be_an_instance_of(RestClient::Response)
28
28
  end
29
29
  end
30
30
 
@@ -11,9 +11,9 @@ describe 'Project::Order' do
11
11
  describe 'list_order' do
12
12
  it 'should list orders in project' do
13
13
  stub_request(:get, full_path_with_auth_hash("/projects/#{project_id}/orders", api_key, api_secret))
14
- .to_return(status: 200, body: {})
14
+ .to_return(status: 200, body: "{}")
15
15
  response = project.list_order
16
- expect(response).to be_an_instance_of(Hash)
16
+ expect(response).to be_an_instance_of(RestClient::Response)
17
17
  end
18
18
  end
19
19
 
@@ -22,9 +22,9 @@ describe 'Project::Order' do
22
22
 
23
23
  it 'should show an order details' do
24
24
  stub_request(:get, full_path_with_auth_hash("/projects/#{project_id}/orders/#{order_id}", api_key, api_secret))
25
- .to_return(status: 200, body: {})
25
+ .to_return(status: 200, body: "{}")
26
26
  response = project.show_order(order_id)
27
- expect(response).to be_an_instance_of(Hash)
27
+ expect(response).to be_an_instance_of(RestClient::Response)
28
28
  end
29
29
  end
30
30
 
@@ -36,9 +36,9 @@ describe 'Project::Order' do
36
36
  it 'should create an order' do
37
37
  stub_request(:post, full_path_with_auth_hash("/projects/#{project_id}/orders", api_key, api_secret))
38
38
  .with(body: params.to_json, headers: {'Content_Type' => 'application/json'})
39
- .to_return(status: 200, body: {})
39
+ .to_return(status: 200, body: "{}")
40
40
  response = project.create_order(params)
41
- expect(response).to be_an_instance_of(Hash)
41
+ expect(response).to be_an_instance_of(RestClient::Response)
42
42
  end
43
43
  end
44
44
 
@@ -50,9 +50,9 @@ describe 'Project::Translation' do
50
50
 
51
51
  it 'should show translation status' do
52
52
  stub_request(:get, full_path_with_auth_hash("/projects/#{project_id}/translations/status", api_key, api_secret) + params_as_query_string)
53
- .to_return(body: {})
53
+ .to_return(body: "{}")
54
54
  response = project.get_translation_status(params)
55
- expect(response).to be_an_instance_of(Hash)
55
+ expect(response).to be_an_instance_of(RestClient::Response)
56
56
  end
57
57
  end
58
58
 
@@ -9,9 +9,9 @@ describe 'Project Group' do
9
9
  describe 'list_project_group' do
10
10
  it 'should list all available project group' do
11
11
  stub_request(:get, full_path_with_auth_hash('/project-groups', api_key, api_secret))
12
- .to_return(body: {})
12
+ .to_return(body: "{}")
13
13
  response = client.list_project_group
14
- expect(response).to be_an_instance_of(Hash)
14
+ expect(response).to be_an_instance_of(RestClient::Response)
15
15
  end
16
16
  end
17
17
 
@@ -20,9 +20,9 @@ describe 'Project Group' do
20
20
 
21
21
  it 'should show a project group information' do
22
22
  stub_request(:get, full_path_with_auth_hash("/project-groups/#{project_group_id}", api_key, api_secret))
23
- .to_return(body: {})
23
+ .to_return(body: "{}")
24
24
  response = client.show_project_group(project_group_id)
25
- expect(response).to be_an_instance_of(Hash)
25
+ expect(response).to be_an_instance_of(RestClient::Response)
26
26
  end
27
27
  end
28
28
 
@@ -32,9 +32,9 @@ describe 'Project Group' do
32
32
  it 'should create a project group' do
33
33
  stub_request(:post, full_path_with_auth_hash('/project-groups', api_key, api_secret))
34
34
  .with(body: params.to_json, headers: {'Content_Type' => 'application/json'})
35
- .to_return(body: {})
35
+ .to_return(body: "{}")
36
36
  response = client.create_project_group(params)
37
- expect(response).to be_an_instance_of(Hash)
37
+ expect(response).to be_an_instance_of(RestClient::Response)
38
38
  end
39
39
  end
40
40
 
@@ -43,9 +43,9 @@ describe 'Project Group' do
43
43
 
44
44
  it 'should delete a project group' do
45
45
  stub_request(:delete, full_path_with_auth_hash("/project-groups/#{project_group_id}", api_key, api_secret))
46
- .to_return(body: {})
46
+ .to_return(body: "{}")
47
47
  response = client.delete_project_group(project_group_id)
48
- expect(response).to be_an_instance_of(Hash)
48
+ expect(response).to be_an_instance_of(RestClient::Response)
49
49
  end
50
50
  end
51
51
 
@@ -54,9 +54,9 @@ describe 'Project Group' do
54
54
 
55
55
  it 'should list languages activated of a project group' do
56
56
  stub_request(:get, full_path_with_auth_hash("/project-groups/#{project_group_id}/languages", api_key, api_secret))
57
- .to_return(body: {})
57
+ .to_return(body: "{}")
58
58
  response = client.list_project_group_languages(project_group_id)
59
- expect(response).to be_an_instance_of(Hash)
59
+ expect(response).to be_an_instance_of(RestClient::Response)
60
60
  end
61
61
  end
62
62
 
@@ -11,9 +11,9 @@ describe 'Project' do
11
11
 
12
12
  it 'should list all projects of a project group' do
13
13
  stub_request(:get, full_path_with_auth_hash("/project-groups/#{project_group_id}/projects", api_key, api_secret))
14
- .to_return(body: {})
14
+ .to_return(body: "{}")
15
15
  response = client.list_project(project_group_id)
16
- expect(response).to be_an_instance_of(Hash)
16
+ expect(response).to be_an_instance_of(RestClient::Response)
17
17
  end
18
18
  end
19
19
 
@@ -24,9 +24,9 @@ describe 'Project' do
24
24
  it 'should list all projects of a project group' do
25
25
  stub_request(:post, full_path_with_auth_hash("/project-groups/#{project_group_id}/projects", api_key, api_secret))
26
26
  .with(body: params.to_json, headers: {'Content_Type' => 'application/json'})
27
- .to_return(body: {})
27
+ .to_return(body: "{}")
28
28
  response = client.create_project(project_group_id, params)
29
- expect(response).to be_an_instance_of(Hash)
29
+ expect(response).to be_an_instance_of(RestClient::Response)
30
30
  end
31
31
  end
32
32
 
@@ -9,9 +9,9 @@ describe 'Project Type' do
9
9
  describe 'list_project_type' do
10
10
  it 'should list all available project type' do
11
11
  stub_request(:get, full_path_with_auth_hash('/project-types', api_key, api_secret))
12
- .to_return(body: {})
12
+ .to_return(body: "{}")
13
13
  response = client.list_project_type
14
- expect(response).to be_an_instance_of(Hash)
14
+ expect(response).to be_an_instance_of(RestClient::Response)
15
15
  end
16
16
  end
17
17
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onesky-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Lam
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-23 00:00:00.000000000 Z
11
+ date: 2021-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -16,70 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.7'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.5'
33
+ version: '2.2'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.5'
40
+ version: '2.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.3'
47
+ version: '12.3'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '10.3'
54
+ version: '12.3'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.1'
61
+ version: 3.5.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.1'
68
+ version: 3.5.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: webmock
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.19'
75
+ version: '3.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.19'
82
+ version: '3.0'
83
83
  description: Ruby wrapper for OneSky API
84
84
  email:
85
85
  - victorebox@yahoo.com.hk
@@ -89,6 +89,8 @@ extra_rdoc_files: []
89
89
  files:
90
90
  - ".gitignore"
91
91
  - ".rspec"
92
+ - ".travis.yml"
93
+ - CHANGELOG.md
92
94
  - Gemfile
93
95
  - LICENSE.txt
94
96
  - README.md
@@ -108,7 +110,6 @@ files:
108
110
  - lib/onesky/resources/project/translation.rb
109
111
  - lib/onesky/resources/project_group.rb
110
112
  - lib/onesky/resources/project_type.rb
111
- - lib/onesky/restclient.rb
112
113
  - lib/onesky/version.rb
113
114
  - onesky-ruby.gemspec
114
115
  - spec/fixture/en.yml
@@ -137,15 +138,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
137
138
  requirements:
138
139
  - - ">="
139
140
  - !ruby/object:Gem::Version
140
- version: '0'
141
+ version: '3.0'
141
142
  required_rubygems_version: !ruby/object:Gem::Requirement
142
143
  requirements:
143
144
  - - ">="
144
145
  - !ruby/object:Gem::Version
145
146
  version: '0'
146
147
  requirements: []
147
- rubyforge_project:
148
- rubygems_version: 2.2.2
148
+ rubygems_version: 3.2.19
149
149
  signing_key:
150
150
  specification_version: 4
151
151
  summary: To interact with OneSky Platform API
@@ -164,4 +164,3 @@ test_files:
164
164
  - spec/onesky/resources/project_spec.rb
165
165
  - spec/onesky/resources/project_type_spec.rb
166
166
  - spec/spec_helper.rb
167
- has_rdoc:
@@ -1,38 +0,0 @@
1
- # Monkey patching RestClient::Request.process_url_params
2
- # To support array in URL params
3
- # RestClient.get('http://www.example.com', params: {weekday: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']})
4
- # => GET http://www.example.com?weekday[]=Mon&weekday[]=Tue&weekday[]=Wed&weekday[]=Thu&weekday[]=Fri
5
-
6
- module RestClient
7
- class Request
8
-
9
- def process_url_params url, headers
10
- url_params = {}
11
- headers.delete_if do |key, value|
12
- if 'params' == key.to_s.downcase && value.is_a?(Hash)
13
- url_params.merge! value
14
- true
15
- else
16
- false
17
- end
18
- end
19
- unless url_params.empty?
20
- query_string = url_params.collect { |k, v| build_url_params(k, v) }.join('&')
21
- url + "?#{query_string}"
22
- else
23
- url
24
- end
25
- end
26
-
27
- private
28
-
29
- def build_url_params key, value
30
- if value.is_a?(Array)
31
- value.map { |v| "#{key.to_s}[]=#{CGI::escape(v.to_s)}" }.join('&')
32
- else
33
- "#{key.to_s}=#{CGI::escape(value.to_s)}"
34
- end
35
- end
36
-
37
- end
38
- end