sogou-search-api 0.0.1 → 0.0.2
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/README.md +117 -0
- data/lib/sogou/search/api/core/regions.rb +7 -5
- data/lib/sogou/search/api/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0b4319eb56256bda906b575a99471628c16cb52
|
4
|
+
data.tar.gz: d782793fda116ba744b925f2ee86e513034d958b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0815c7bc00e9751202be2ff7f15a56ed610ebcfc55d9da8dbaef9ba074562183067fcc2becdeda5c26c388e349fe33ebb4ecedb8e6dd3750f1624965158e74b9'
|
7
|
+
data.tar.gz: 97ec1f5bc46fbe71520378396410617c08a60990cc464798be6a554d1bab58ccdb77b9f594fb1067c6b1738832b5ca91db7664c177eb797fffc6b8c2ac9d654e
|
data/README.md
CHANGED
@@ -6,3 +6,120 @@ A Client GEM for [Sogou Search API](http://apihome.sogou.com/document/ss/doc1-1.
|
|
6
6
|
|
7
7
|
This library is in Alpha. We will make an effort to support the library, but we reserve the right to make incompatible
|
8
8
|
changes when necessary.
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
Add this line to your application's Gemfile:
|
13
|
+
|
14
|
+
```ruby
|
15
|
+
gem 'sogou-search-api'
|
16
|
+
```
|
17
|
+
|
18
|
+
And then execute:
|
19
|
+
|
20
|
+
$ bundle
|
21
|
+
|
22
|
+
Or install it yourself as:
|
23
|
+
|
24
|
+
$ gem install sogou-search-api
|
25
|
+
|
26
|
+
## Usage
|
27
|
+
|
28
|
+
### Basic usage
|
29
|
+
|
30
|
+
To use an API, instantiate the service. For example to use the Campaign API:
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
require 'sogou/search/api/auth'
|
34
|
+
require 'sogou/search/api/service/account'
|
35
|
+
require 'sogou/search/api/service/plan'
|
36
|
+
|
37
|
+
#
|
38
|
+
# Set your Sogou api credentials to ENVs
|
39
|
+
#
|
40
|
+
# ENV['SOGOU_API_TOKEN'] = 'xxxx'
|
41
|
+
# ENV['SOGOU_USERNAME'] = 'xxxx'
|
42
|
+
# ENV['SOGOU_PASSWORD'] = 'xxxx'
|
43
|
+
|
44
|
+
include Sogou::Search::Api
|
45
|
+
|
46
|
+
account = Service::Account.new
|
47
|
+
account.authorization = Auth.get_application_default
|
48
|
+
account.get_account_info(convert_regions_to_string: true) do |result, err|
|
49
|
+
if err != nil
|
50
|
+
p err
|
51
|
+
else
|
52
|
+
p result
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
```
|
57
|
+
|
58
|
+
### Callbacks
|
59
|
+
|
60
|
+
A block can be specified when making calls. If present, the block will be called with the result or error, rather than
|
61
|
+
returning the result from the call or raising the error. Example:
|
62
|
+
|
63
|
+
```ruby
|
64
|
+
# Read account info
|
65
|
+
account.get_account_info(convert_regions_to_string: true) do |result, err|
|
66
|
+
if err
|
67
|
+
# Handle error
|
68
|
+
else
|
69
|
+
# Handle response
|
70
|
+
end
|
71
|
+
end
|
72
|
+
```
|
73
|
+
|
74
|
+
### Authorization using environment variables
|
75
|
+
|
76
|
+
The [Sogou Search API Auth](https://github.com/forward3d/sogou-search-api/blob/master/lib/sogou/search/api/auth.rb) also supports authorization via environment variables. Simply set the following variables
|
77
|
+
for your application:
|
78
|
+
|
79
|
+
```sh
|
80
|
+
SOGOU_API_TOKEN="YOUR SOGOU DEVELOPER API TOKEN"
|
81
|
+
SOGOU_USERNAME="YOUR SOGOU USERNAME"
|
82
|
+
SOGOU_PASSWORD="YOUR SOGOU PASSWORD"
|
83
|
+
```
|
84
|
+
|
85
|
+
## Logging
|
86
|
+
|
87
|
+
The client includes a `Logger` instance that can be used to capture debugging information.
|
88
|
+
|
89
|
+
To set the logging level for the client:
|
90
|
+
|
91
|
+
```ruby
|
92
|
+
Sogou::Search::Api.logger.level = Logger::DEBUG
|
93
|
+
```
|
94
|
+
|
95
|
+
When running in a Rails environment, the client will default to using `::Rails.logger`. If you
|
96
|
+
prefer to use a separate logger instance for API calls, this can be changed via one of two ways.
|
97
|
+
|
98
|
+
The first is to provide a new logger instance:
|
99
|
+
|
100
|
+
```ruby
|
101
|
+
Sogou::Search::Api.logger = Logger.new(STDERR)
|
102
|
+
```
|
103
|
+
|
104
|
+
## License
|
105
|
+
|
106
|
+
This library is licensed under Apache 2.0. Full license text is available in [LICENSE](LICENSE).
|
107
|
+
|
108
|
+
## Contributing
|
109
|
+
|
110
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/forward3d/sogou-search-api. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
111
|
+
|
112
|
+
We encourage contributors to follow [Bozhidar's ruby style guide](https://github.com/bbatsov/ruby-style-guide) in this project.
|
113
|
+
|
114
|
+
Pull requests (with tests) are appreciated. Please help with:
|
115
|
+
|
116
|
+
* Reporting bugs
|
117
|
+
* Suggesting features
|
118
|
+
* Writing or improving documentation
|
119
|
+
* Fixing typos
|
120
|
+
* Cleaning whitespace
|
121
|
+
* Refactoring code
|
122
|
+
* Adding tests
|
123
|
+
|
124
|
+
If you report a bug and don't include a fix, please include a failing test.
|
125
|
+
|
@@ -407,14 +407,16 @@ module Sogou
|
|
407
407
|
# can be either Interger[] or Integer from
|
408
408
|
# http://apihome.sogou.com/document/ss/doc9-1.jsp and
|
409
409
|
# http://apihome.sogou.com/document/ss/doc9-2.jsp,
|
410
|
-
# But "regions" value is returned always as integer value.
|
411
|
-
# Unless we find the case for integer[], below method will work.
|
412
410
|
#
|
413
411
|
def convert_regions_to_string(results)
|
414
412
|
if results.is_a?(Hash)
|
415
|
-
|
416
|
-
if
|
417
|
-
|
413
|
+
regions = results['regions']
|
414
|
+
if regions
|
415
|
+
if regions.is_a?(Array)
|
416
|
+
results['regions'] = regions.map { |r| REGIONS_CODE.fetch(r.to_i, r) }
|
417
|
+
else
|
418
|
+
results['regions'] = REGIONS_CODE.fetch(regions.to_i, regions)
|
419
|
+
end
|
418
420
|
end
|
419
421
|
elsif results.is_a?(Array)
|
420
422
|
results = results.map { |r| convert_regions_to_string(r) }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sogou-search-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Min Kim
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: savon
|