elastic-site-search 2.0.0 → 2.1.0

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
2
  SHA256:
3
- metadata.gz: 783fde51a3b94285bcc1516c0305807d1298ca1430cefc878c9503faeb516b11
4
- data.tar.gz: bd640f5a1896286dae00d682143b33d312ded42e88497515af1f969b6d6c806f
3
+ metadata.gz: 382515c8c38a1933e31fd980bc0951a3f366c66097553283d4de306f5b134cd4
4
+ data.tar.gz: 670a1f44b00fed5ee5ba3bfb9611ed2657a3f50ef7299bbd32c89efecb1c7206
5
5
  SHA512:
6
- metadata.gz: 8488aea312a337ce19a5ec5908da0a1ce6b96a047a435bca29b79ea770495038be508dec2202365cfd1374a6bb536b1a1a2fc413927a66aa7ccfd93e586c2fcc
7
- data.tar.gz: d5a5a8094eb77c15f59421b0401e19f259a630c0ee747625a3e7ae49c27b1c1f9340eaa14dd730a405a2ebfe06059c4facd011ecdaf3951a5431927df84e3b82
6
+ metadata.gz: 183d39ff3f62f43c3c695a96b74daeac3d99627b90e0ff18b355fdc45b9456cfbd7ecc5bfa3ac39e721e835b5d83e32c680bd8667729c855c09619eda187462c
7
+ data.tar.gz: d5f41d5165c203221a13123cff1621e6e7f62d7a3425926c9ab1095f34bb6654331bf357308e1a7160efda636cacccff6063c9d2db42378aba928035a67aaa8c
@@ -2,17 +2,20 @@
2
2
  #
3
3
  # Check https://circleci.com/docs/2.0/language-ruby/ for more details
4
4
  #
5
- version: 2
5
+ version: 2.1
6
+
7
+ executors:
8
+ ruby-24: { docker: [{ image: "ruby:2.4" }] }
9
+ ruby-25: { docker: [{ image: "ruby:2.5" }] }
10
+ ruby-26: { docker: [{ image: "ruby:2.6" }] }
11
+ jruby-92: { docker: [{ image: "jruby:9.2.7-jdk" }] }
12
+
6
13
  jobs:
7
14
  build:
8
- docker:
9
- # specify the version you desire here
10
- - image: circleci/ruby:2.4.1-node-browsers
11
-
12
- # Specify service dependencies here if necessary
13
- # CircleCI maintains a library of pre-built images
14
- # documented at https://circleci.com/docs/2.0/circleci-images/
15
- # - image: circleci/postgres:9.4
15
+ parameters:
16
+ executor:
17
+ type: executor
18
+ executor: << parameters.executor >>
16
19
 
17
20
  working_directory: ~/repo
18
21
 
@@ -56,3 +59,11 @@ jobs:
56
59
  - store_artifacts:
57
60
  path: /tmp/test-results
58
61
  destination: test-results
62
+
63
+ workflows:
64
+ run-tests:
65
+ jobs:
66
+ - build: { name: run-tests-ruby-2.4, executor: ruby-24 }
67
+ - build: { name: run-tests-ruby-2.5, executor: ruby-25 }
68
+ - build: { name: run-tests-ruby-2.6, executor: ruby-26 }
69
+ - build: { name: run-tests-jruby-92, executor: jruby-92 }
data/README.md CHANGED
@@ -46,7 +46,7 @@ To install the gem, execute:
46
46
 
47
47
  gem install elastic-site-search
48
48
 
49
- Or place `gem 'elastic-site-search', '~> 2.0.0` in your `Gemfile` and run `bundle install`.
49
+ Or place `gem 'elastic-site-search', '~> 2.1.0` in your `Gemfile` and run `bundle install`.
50
50
 
51
51
  > **Note:** This client has been developed for the [Elastic Site Search](https://www.elastic.co/products/site-search/service) API endpoints only.
52
52
 
@@ -0,0 +1 @@
1
+ require 'elastic/site-search'
@@ -7,5 +7,11 @@ module Elastic
7
7
  class BadRequest < ClientException; end
8
8
  class Forbidden < ClientException; end
9
9
  class UnexpectedHTTPException < ClientException; end
10
+
11
+ class ServerException < StandardError; end
12
+ class InternalServerError < ServerException; end
13
+ class BadGateway < ServerException; end
14
+ class ServiceUnavailable < ServerException; end
15
+ class GatewayTimeout < ServerException; end
10
16
  end
11
17
  end
@@ -93,21 +93,29 @@ module Elastic
93
93
  case response
94
94
  when Net::HTTPSuccess
95
95
  response
96
- when Net::HTTPUnauthorized
97
- raise Elastic::SiteSearch::InvalidCredentials, error_message_from_response(response)
98
- when Net::HTTPNotFound
99
- raise Elastic::SiteSearch::NonExistentRecord, error_message_from_response(response)
100
- when Net::HTTPConflict
101
- raise Elastic::SiteSearch::RecordAlreadyExists, error_message_from_response(response)
102
- when Net::HTTPBadRequest
103
- raise Elastic::SiteSearch::BadRequest, error_message_from_response(response)
104
- when Net::HTTPForbidden
105
- raise Elastic::SiteSearch::Forbidden, error_message_from_response(response)
106
96
  else
97
+ EXCEPTION_MAP.each do |response_class, exception_class|
98
+ if response.is_a?(response_class)
99
+ raise exception_class, error_message_from_response(response)
100
+ end
101
+ end
102
+
107
103
  raise Elastic::SiteSearch::UnexpectedHTTPException, "#{response.code} #{response.body}"
108
104
  end
109
105
  end
110
106
 
107
+ EXCEPTION_MAP = {
108
+ Net::HTTPUnauthorized => Elastic::SiteSearch::InvalidCredentials,
109
+ Net::HTTPNotFound => Elastic::SiteSearch::NonExistentRecord,
110
+ Net::HTTPConflict => Elastic::SiteSearch::RecordAlreadyExists,
111
+ Net::HTTPBadRequest => Elastic::SiteSearch::BadRequest,
112
+ Net::HTTPForbidden => Elastic::SiteSearch::Forbidden,
113
+ Net::HTTPInternalServerError => Elastic::SiteSearch::InternalServerError,
114
+ Net::HTTPBadGateway => Elastic::SiteSearch::BadGateway,
115
+ Net::HTTPServiceUnavailable => Elastic::SiteSearch::ServiceUnavailable,
116
+ Net::HTTPGatewayTimeOut => Elastic::SiteSearch::GatewayTimeout
117
+ }.freeze
118
+
111
119
  def error_message_from_response(response)
112
120
  body = response.body
113
121
  json = JSON.parse(body) if body && body.strip != ''
@@ -1,5 +1,5 @@
1
1
  module Elastic
2
2
  module SiteSearch
3
- VERSION = "2.0.0"
3
+ VERSION = "2.1.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastic-site-search
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Quin Hoxie
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-08-08 00:00:00.000000000 Z
12
+ date: 2019-09-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -77,7 +77,6 @@ extra_rdoc_files: []
77
77
  files:
78
78
  - ".circleci/config.yml"
79
79
  - ".gitignore"
80
- - ".travis.yml"
81
80
  - Gemfile
82
81
  - LICENSE.txt
83
82
  - NOTICE.txt
@@ -85,6 +84,7 @@ files:
85
84
  - Rakefile
86
85
  - elastic-site-search.gemspec
87
86
  - lib/data/ca-bundle.crt
87
+ - lib/elastic-site-search.rb
88
88
  - lib/elastic/site-search.rb
89
89
  - lib/elastic/site-search/client.rb
90
90
  - lib/elastic/site-search/configuration.rb
@@ -193,7 +193,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  requirements: []
196
- rubygems_version: 3.0.4
196
+ rubyforge_project:
197
+ rubygems_version: 2.7.6
197
198
  signing_key:
198
199
  specification_version: 4
199
200
  summary: Official gem for accessing the Elastic Site Search API
@@ -1,13 +0,0 @@
1
- language: ruby
2
- script: rspec
3
- rvm:
4
- - 2.0
5
- - 2.1
6
- - 2.2
7
- - jruby
8
- jdk:
9
- - oraclejdk8
10
-
11
- before_install:
12
- - gem --version
13
- - gem update bundler