sogou-search-api 0.0.2 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f0b4319eb56256bda906b575a99471628c16cb52
4
- data.tar.gz: d782793fda116ba744b925f2ee86e513034d958b
3
+ metadata.gz: 212e0b4f9985d050cfea03fab33a37fc5afeebd8
4
+ data.tar.gz: a93c9352ce35f492c48ab48c695e3e2d15d4997d
5
5
  SHA512:
6
- metadata.gz: '0815c7bc00e9751202be2ff7f15a56ed610ebcfc55d9da8dbaef9ba074562183067fcc2becdeda5c26c388e349fe33ebb4ecedb8e6dd3750f1624965158e74b9'
7
- data.tar.gz: 97ec1f5bc46fbe71520378396410617c08a60990cc464798be6a554d1bab58ccdb77b9f594fb1067c6b1738832b5ca91db7664c177eb797fffc6b8c2ac9d654e
6
+ metadata.gz: d10c831226a9f614729525e78cc61ff9debc9f30aab980b6464af7885beee853a70fb9dda12c0dc7bd90f7bba4860175ac3c8ad4ce31c81321da6771d6f1e9da
7
+ data.tar.gz: f7d0e47364f63f6409244a0f0f57f71acc0fac2e1b06cc5f37296509d433e41fb377b329488366b73cd879830335beaf17f64caca7f07aef31d8cb7544dc0316
data/README.md CHANGED
@@ -45,7 +45,7 @@ include Sogou::Search::Api
45
45
 
46
46
  account = Service::Account.new
47
47
  account.authorization = Auth.get_application_default
48
- account.get_account_info(convert_regions_to_string: true) do |result, err|
48
+ account.get_account_info(options: { convert_regions_to_string: true }) do |result, err|
49
49
  if err != nil
50
50
  p err
51
51
  else
@@ -62,7 +62,7 @@ returning the result from the call or raising the error. Example:
62
62
 
63
63
  ```ruby
64
64
  # Read account info
65
- account.get_account_info(convert_regions_to_string: true) do |result, err|
65
+ account.get_account_info(options: { convert_regions_to_string: true }) do |result, err|
66
66
  if err
67
67
  # Handle error
68
68
  else
@@ -13,7 +13,7 @@ include Sogou::Search::Api
13
13
 
14
14
  account = Service::Account.new
15
15
  account.authorization = Auth.get_application_default
16
- account.get_account_info(convert_regions_to_string: true) do |result, err|
16
+ account.get_account_info(options: {convert_regions_to_string: true}) do |result, err|
17
17
  if err != nil
18
18
  p err
19
19
  else
@@ -1,6 +1,6 @@
1
1
  require 'sogou/search/api/auth'
2
2
  require 'sogou/search/api/service/plan'
3
- require 'sogou/search/api/service/promotion_group'
3
+ require 'sogou/search/api/service/group'
4
4
 
5
5
  #
6
6
  # Set your Sogou api credentials to ENVs
@@ -15,7 +15,7 @@ plan = Service::Plan.new
15
15
  plan.authorization = Auth.get_application_default
16
16
  plan_ids = plan.get_all_cpc_plan_id.slice(0, 2)
17
17
 
18
- group = Service::PromotionGroup.new
18
+ group = Service::Group.new
19
19
  group.authorization = Auth.get_application_default
20
20
  group.get_cpc_grp_by_cpc_plan_id(plan_ids) do |result, err|
21
21
  if err != nil
@@ -1,6 +1,6 @@
1
1
  require 'sogou/search/api/auth'
2
2
  require 'sogou/search/api/service/plan'
3
- require 'sogou/search/api/service/promotion_group'
3
+ require 'sogou/search/api/service/group'
4
4
  require 'sogou/search/api/service/keyword'
5
5
 
6
6
  #
@@ -16,7 +16,7 @@ plan = Service::Plan.new
16
16
  plan.authorization = Auth.get_application_default
17
17
  plan_ids = plan.get_all_cpc_plan_id.slice(0, 2)
18
18
 
19
- group = Service::PromotionGroup.new
19
+ group = Service::Group.new
20
20
  group.authorization = Auth.get_application_default
21
21
  group_ids = group.get_cpc_grp_id_by_cpc_plan_id(plan_ids).
22
22
  map { |id| id['cpc_grp_ids'] }.flatten.slice(0, 2)
@@ -12,7 +12,7 @@ include Sogou::Search::Api
12
12
 
13
13
  plan = Service::Plan.new
14
14
  plan.authorization = Auth.get_application_default
15
- plan.get_all_cpc_plan(convert_regions_to_string: true) do |result, err|
15
+ plan.get_all_cpc_plan(options: {convert_regions_to_string: true}) do |result, err|
16
16
  if err != nil
17
17
  p err
18
18
  else
@@ -12,12 +12,15 @@ include Sogou::Search::Api
12
12
 
13
13
  report = Service::Report.new
14
14
  report.authorization = Auth.get_application_default
15
- report_id = report.get_report_id(
16
- '2018-02-20T00:00:00',
17
- '2018-02-20T23:59:59',
18
- 1,
19
- ['cost', 'cpc', 'click', 'ctr', 'position']
20
- )
15
+
16
+ request = Service::ReportRequest.new
17
+ request.fields = %w[cost cpc click ctr impression position]
18
+ request.start_date = '2018-02-20T00:00:00'
19
+ request.end_date = '2018-02-20T23:59:59'
20
+ request.type = 2
21
+ request.platform = 2
22
+
23
+ report_id = report.get_report_id(request)
21
24
 
22
25
  state = '0'
23
26
  max_try = 10
@@ -9,7 +9,7 @@ module Sogou
9
9
  super('AccountService')
10
10
  end
11
11
 
12
- def get_account_info(options = {}, &block)
12
+ def get_account_info(options: {}, &block)
13
13
  command = make_command(:get_account_info, options: options)
14
14
  execute_command(command, &block)
15
15
  end
@@ -4,12 +4,12 @@ module Sogou
4
4
  module Search
5
5
  module Api
6
6
  module Service
7
- class PromotionGroup < Core::BaseService
7
+ class Group < Core::BaseService
8
8
  def initialize
9
9
  super('CpcGrpService')
10
10
  end
11
11
 
12
- def get_cpc_grp_by_cpc_plan_id(plan_ids, options = {}, &block)
12
+ def get_cpc_grp_by_cpc_plan_id(plan_ids, options: {}, &block)
13
13
  command = make_command(
14
14
  :get_cpc_grp_by_cpc_plan_id,
15
15
  params: { cpc_plan_ids: plan_ids },
@@ -18,7 +18,7 @@ module Sogou
18
18
  execute_command(command, &block)
19
19
  end
20
20
 
21
- def get_cpc_grp_id_by_cpc_plan_id(plan_ids, options = {}, &block)
21
+ def get_cpc_grp_id_by_cpc_plan_id(plan_ids, options: {}, &block)
22
22
  command = make_command(
23
23
  :get_cpc_grp_id_by_cpc_plan_id,
24
24
  params: { cpc_plan_ids: plan_ids },
@@ -9,7 +9,7 @@ module Sogou
9
9
  super('CpcService')
10
10
  end
11
11
 
12
- def get_cpc_by_cpc_grp_id(grp_ids, valid_keyword_only = true, options = {}, &block)
12
+ def get_cpc_by_cpc_grp_id(grp_ids, valid_keyword_only: true, options: {}, &block)
13
13
  command = make_command(
14
14
  :get_cpc_by_cpc_grp_id,
15
15
  params: {
@@ -21,7 +21,7 @@ module Sogou
21
21
  execute_command(command, &block)
22
22
  end
23
23
 
24
- def get_cpc_id_by_cpc_grp_id(grp_ids, valid_keyword_only = true, options = {}, &block)
24
+ def get_cpc_id_by_cpc_grp_id(grp_ids, valid_keyword_only: true, options: {}, &block)
25
25
  command = make_command(
26
26
  :get_cpc_id_by_cpc_grp_id,
27
27
  params: {
@@ -9,12 +9,12 @@ module Sogou
9
9
  super('CpcPlanService')
10
10
  end
11
11
 
12
- def get_all_cpc_plan_id(options = {}, &block)
12
+ def get_all_cpc_plan_id(options: {}, &block)
13
13
  command = make_command(:get_all_cpc_plan_id, options: options)
14
14
  execute_command(command, &block)
15
15
  end
16
16
 
17
- def get_all_cpc_plan(options = {}, &block)
17
+ def get_all_cpc_plan(options: {}, &block)
18
18
  command = make_command(:get_all_cpc_plan, options: options)
19
19
  execute_command(command, &block)
20
20
  end
@@ -4,28 +4,45 @@ module Sogou
4
4
  module Search
5
5
  module Api
6
6
  module Service
7
+ ReportRequest = Struct.new(
8
+ :fields,
9
+ :start_date,
10
+ :end_date,
11
+ :type,
12
+ :platform,
13
+ :stat_range,
14
+ :format
15
+ )
16
+
7
17
  class Report < Core::BaseService
8
18
  def initialize
9
19
  super('ReportService')
10
20
  end
11
21
 
12
- def get_report_id(start_date, end_date, type, fields, options = {}, &block)
22
+ def get_report_id(request, options: {}, &block)
23
+ unless request.fields && request.start_date && request.end_date && request.type
24
+ raise ArgumentError, 'fields, start_date, end_date, and type cannot be nil'
25
+ end
26
+
27
+ report_request = {
28
+ performance_data: request.fields,
29
+ start_date: request.start_date,
30
+ end_date: request.end_date,
31
+ report_type: request.type,
32
+ }
33
+ report_request.merge!(platform: request.platform) if request.platform
34
+ report_request.merge!(format: request.format) if request.format
35
+ report_request.merge!(stat_range: request.stat_range) if request.stat_range
36
+
13
37
  command = make_command(
14
38
  :get_report_id,
15
- params: {
16
- report_request_type: {
17
- performance_data: fields,
18
- start_date: start_date,
19
- end_date: end_date,
20
- report_type: type
21
- }
22
- },
39
+ params: { report_request_type: report_request },
23
40
  options: options
24
41
  )
25
42
  execute_command(command, &block)
26
43
  end
27
44
 
28
- def get_report_state(report_id, options = {}, &block)
45
+ def get_report_state(report_id, options: {}, &block)
29
46
  command = make_command(
30
47
  :get_report_state,
31
48
  params: { report_id: report_id },
@@ -34,7 +51,7 @@ module Sogou
34
51
  execute_command(command, &block)
35
52
  end
36
53
 
37
- def get_report_path(report_id, options = {}, &block)
54
+ def get_report_path(report_id, options: {}, &block)
38
55
  command = make_command(
39
56
  :get_report_path,
40
57
  params: { report_id: report_id },
@@ -1,7 +1,7 @@
1
1
  module Sogou
2
2
  module Search
3
3
  module Api
4
- VERSION = '0.0.2'
4
+ VERSION = '1.0.0'
5
5
 
6
6
  OS_VERSION = begin
7
7
  if RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/
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.2
4
+ version: 1.0.0
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-05 00:00:00.000000000 Z
11
+ date: 2018-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: savon
@@ -96,9 +96,9 @@ files:
96
96
  - bin/console
97
97
  - bin/setup
98
98
  - examples/account.rb
99
+ - examples/group.rb
99
100
  - examples/keyword.rb
100
101
  - examples/plan.rb
101
- - examples/promotion_group.rb
102
102
  - examples/report.rb
103
103
  - lib/sogou/search/api.rb
104
104
  - lib/sogou/search/api/auth.rb
@@ -109,9 +109,9 @@ files:
109
109
  - lib/sogou/search/api/errors.rb
110
110
  - lib/sogou/search/api/options.rb
111
111
  - lib/sogou/search/api/service/account.rb
112
+ - lib/sogou/search/api/service/group.rb
112
113
  - lib/sogou/search/api/service/keyword.rb
113
114
  - lib/sogou/search/api/service/plan.rb
114
- - lib/sogou/search/api/service/promotion_group.rb
115
115
  - lib/sogou/search/api/service/report.rb
116
116
  - lib/sogou/search/api/version.rb
117
117
  - sogou-search-api.gemspec
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
135
  version: '0'
136
136
  requirements: []
137
137
  rubyforge_project:
138
- rubygems_version: 2.6.14
138
+ rubygems_version: 2.6.10
139
139
  signing_key:
140
140
  specification_version: 4
141
141
  summary: Sogou Search API ruby client