embulk-input-zendesk_guide 0.1.1 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6412741acd3d0a2ea44116b6e2b61eadd7dafa0f
4
- data.tar.gz: a9d064039b1ebc16c982b98c4d96f2b7fa55f497
3
+ metadata.gz: 3ffc91d115806cc19b4ede2bb61fb96a8e0d9708
4
+ data.tar.gz: 20ce08318d8712f57e661162d1701cbcae709506
5
5
  SHA512:
6
- metadata.gz: 2d0ca6bf2c9fbebb5afd039fa09fa1e65c8a0cf623b3a23638ddd0acac524b40cff2433d2e12c8ee690f8d73884b441d3eacdb47d62d01a3244c4e110167fa1c
7
- data.tar.gz: 65b6df99a4581ff4859798cc7106414852834dccd0f4bf52dc7691af0d2472e36a7556cbfa1259768f88f0bb77eae448cd2c246ca366708ca8592b4b488d3d06
6
+ metadata.gz: 7f8a252addc2005fc832c06ac40df24ba5af0af8ac4185f44a60a99723e4141cc1b3e4690e37a24a17923cd29dbd56c35642c5b89648a23df94fddf2356108db
7
+ data.tar.gz: 751dccf79e40a16d096e408706c345fef98036fb2d9ff312b702bd26fa03c1813e412733feea10d85c98a9a76bacdbffadacf66fb5f554ad3eee8bec3eb4d94f
@@ -0,0 +1,6 @@
1
+ versions:
2
+ - rubocop-rails
3
+ - rubocop-performance: '1.5.1'
4
+ - rubocop-minitest: 'latest'
5
+ - rubocop-rspec: '1.37.0'
6
+ rubocop_fail_level: 'warning'
@@ -0,0 +1,14 @@
1
+ name: ruby linter
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ check_ruby_scripts_format:
7
+ name: check format of ruby scripts
8
+ runs-on: ubuntu-16.04
9
+ steps:
10
+ - uses: actions/checkout@v2
11
+ - name: Rubocop Linter Action
12
+ uses: andrewmcodes/rubocop-linter-action@v3.0.0
13
+ env:
14
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
data/Gemfile CHANGED
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org/'
2
4
  gemspec
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Zendesk Guide input plugin for Embulk
2
2
 
3
- Embulk input plugin of [Zendesk Guide](https://developer.zendesk.com/rest_api/docs/help_center/introduction) (Help Center).
3
+ Embulk input plugin of [Zendesk Guide](https://developer.zendesk.com/rest_api/docs/help_center/introduction) (Help Center). You can load following records from Zendesk Guide:
4
+
5
+ - [Articles](https://developer.zendesk.com/rest_api/docs/help_center/articles#list-articles)
4
6
 
5
7
  ## Overview
6
8
 
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
- require "bundler/gem_tasks"
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
2
4
 
3
5
  task default: :build
@@ -1,20 +1,21 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  Gem::Specification.new do |spec|
3
- spec.name = "embulk-input-zendesk_guide"
4
- spec.version = "0.1.1"
5
- spec.authors = ["Yasuhisa Yoshida"]
6
- spec.summary = "Zendesk Guide input plugin for Embulk"
7
- spec.description = "Loads records from Zendesk Guide."
8
- spec.email = ["syou6162@gmail.com"]
9
- spec.licenses = ["MIT"]
10
- spec.homepage = "https://github.com/syou6162/embulk-input-zendesk_guide"
4
+ spec.name = 'embulk-input-zendesk_guide'
5
+ spec.version = '0.1.2'
6
+ spec.authors = ['Yasuhisa Yoshida']
7
+ spec.summary = 'Zendesk Guide input plugin for Embulk'
8
+ spec.description = 'Loads records from Zendesk Guide.'
9
+ spec.email = ['syou6162@gmail.com']
10
+ spec.licenses = ['MIT']
11
+ spec.homepage = 'https://github.com/syou6162/embulk-input-zendesk_guide'
11
12
 
12
- spec.files = `git ls-files`.split("\n") + Dir["classpath/*.jar"]
13
+ spec.files = `git ls-files`.split("\n") + Dir['classpath/*.jar']
13
14
  spec.test_files = spec.files.grep(%r{^(test|spec)/})
14
- spec.require_paths = ["lib"]
15
+ spec.require_paths = ['lib']
15
16
 
16
- #spec.add_dependency 'YOUR_GEM_DEPENDENCY', ['~> YOUR_GEM_DEPENDENCY_VERSION']
17
- spec.add_development_dependency 'embulk', ['>= 0.9.23']
17
+ # spec.add_dependency 'YOUR_GEM_DEPENDENCY', ['~> YOUR_GEM_DEPENDENCY_VERSION']
18
18
  spec.add_development_dependency 'bundler', ['>= 1.10.6']
19
+ spec.add_development_dependency 'embulk', ['>= 0.9.23']
19
20
  spec.add_development_dependency 'rake', ['>= 10.0']
20
21
  end
@@ -1,4 +1,6 @@
1
- require "net/http"
1
+ # frozen_string_literal: true
2
+
3
+ require 'net/http'
2
4
  require 'date'
3
5
  require 'json'
4
6
 
@@ -7,24 +9,24 @@ require_relative 'zendesk_guide/articles'
7
9
  module Embulk
8
10
  module Input
9
11
  class ZendeskGuide < InputPlugin
10
- Plugin.register_input("zendesk_guide", self)
12
+ Plugin.register_input('zendesk_guide', self)
11
13
 
12
14
  def self.transaction(config, &control)
13
15
  # configuration code:
14
16
  task = {
15
- "url" => config.param("url", :string),
16
- "username" => config.param("username", :string),
17
- "token" => config.param("token", :string),
17
+ 'url' => config.param('url', :string),
18
+ 'username' => config.param('username', :string),
19
+ 'token' => config.param('token', :string)
18
20
  }
19
21
  columns = Articles.columns
20
22
  resume(task, columns, 1, &control)
21
23
  end
22
24
 
23
- def self.resume(task, columns, count, &control)
24
- task_reports = yield(task, columns, count)
25
+ def self.resume(task, columns, count)
26
+ yield(task, columns, count)
25
27
 
26
28
  next_config_diff = {}
27
- return next_config_diff
29
+ next_config_diff
28
30
  end
29
31
 
30
32
  # TODO
@@ -38,20 +40,19 @@ module Embulk
38
40
  # end
39
41
 
40
42
  def init
41
- @articles = Articles.new(task["url"], task["username"], task["token"])
43
+ @articles = Articles.new(task['url'], task['username'], task['token'])
42
44
  end
43
45
 
44
46
  def run
45
- @articles.get.each {|article|
47
+ @articles.get.each do |article|
46
48
  page_builder.add(article)
47
- }
49
+ end
48
50
 
49
51
  page_builder.finish
50
52
 
51
53
  task_report = {}
52
- return task_report
54
+ task_report
53
55
  end
54
56
  end
55
-
56
57
  end
57
58
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'embulk/column'
2
4
 
3
5
  class Articles
@@ -6,82 +8,84 @@ class Articles
6
8
  @username = username
7
9
  @token = token
8
10
  end
9
-
11
+
10
12
  def self.columns
11
13
  [
12
- Embulk::Column.new(0, "id", :long),
13
- Embulk::Column.new(1, "url", :string),
14
- Embulk::Column.new(2, "html_url", :string),
15
- Embulk::Column.new(3, "title", :string),
16
- Embulk::Column.new(4, "body", :string),
17
- Embulk::Column.new(5, "locale", :string),
18
- Embulk::Column.new(6, "source_locale", :string),
19
- Embulk::Column.new(7, "author_id", :long),
20
- Embulk::Column.new(8, "comments_disabled", :boolean),
21
- Embulk::Column.new(9, "outdated_locales", :string),
22
- Embulk::Column.new(10, "outdated", :boolean),
23
- Embulk::Column.new(11, "label_names", :string),
24
- Embulk::Column.new(12, "draft", :boolean),
25
- Embulk::Column.new(13, "promoted", :boolean),
26
- Embulk::Column.new(14, "position", :long),
27
- Embulk::Column.new(15, "vote_sum", :long),
28
- Embulk::Column.new(16, "vote_count", :long),
29
- Embulk::Column.new(17, "section_id", :long),
30
- Embulk::Column.new(18, "user_segment_id", :long),
31
- Embulk::Column.new(19, "permission_group_id", :long),
32
- Embulk::Column.new(20, "created_at", :timestamp),
33
- Embulk::Column.new(21, "edited_at", :timestamp),
34
- Embulk::Column.new(22, "updated_at", :timestamp),
14
+ Embulk::Column.new(0, 'id', :long),
15
+ Embulk::Column.new(1, 'url', :string),
16
+ Embulk::Column.new(2, 'html_url', :string),
17
+ Embulk::Column.new(3, 'title', :string),
18
+ Embulk::Column.new(4, 'body', :string),
19
+ Embulk::Column.new(5, 'locale', :string),
20
+ Embulk::Column.new(6, 'source_locale', :string),
21
+ Embulk::Column.new(7, 'author_id', :long),
22
+ Embulk::Column.new(8, 'comments_disabled', :boolean),
23
+ Embulk::Column.new(9, 'outdated_locales', :string),
24
+ Embulk::Column.new(10, 'outdated', :boolean),
25
+ Embulk::Column.new(11, 'label_names', :string),
26
+ Embulk::Column.new(12, 'draft', :boolean),
27
+ Embulk::Column.new(13, 'promoted', :boolean),
28
+ Embulk::Column.new(14, 'position', :long),
29
+ Embulk::Column.new(15, 'vote_sum', :long),
30
+ Embulk::Column.new(16, 'vote_count', :long),
31
+ Embulk::Column.new(17, 'section_id', :long),
32
+ Embulk::Column.new(18, 'user_segment_id', :long),
33
+ Embulk::Column.new(19, 'permission_group_id', :long),
34
+ Embulk::Column.new(20, 'created_at', :timestamp),
35
+ Embulk::Column.new(21, 'edited_at', :timestamp),
36
+ Embulk::Column.new(22, 'updated_at', :timestamp)
35
37
  ]
36
38
  end
37
39
 
38
40
  def get
39
41
  result = []
40
- next_url = "#@url/help_center/ja/articles.json"
41
- while !next_url.nil? do
42
+ next_url = "#{@url}/help_center/ja/articles.json"
43
+ until next_url.nil?
42
44
  tmp, next_url = get_from_url(next_url)
43
45
  result.concat(tmp)
44
46
  return result if next_url.nil?
47
+
45
48
  sleep 1
46
49
  end
47
50
  end
48
51
 
49
52
  private
53
+
50
54
  def get_from_url(url)
51
55
  uri = URI.parse(url)
52
56
  http = Net::HTTP.new(uri.host, uri.port)
53
- http.use_ssl = uri.scheme === "https"
57
+ http.use_ssl = uri.scheme === 'https'
54
58
 
55
59
  req = Net::HTTP::Get.new(uri.to_s)
56
60
  req.basic_auth(@username, @token)
57
61
  response = JSON.parse(http.request(req).body)
58
62
 
59
- return response["articles"].map {|article|
63
+ [response['articles'].map do |article|
60
64
  [
61
- article["id"],
62
- article["url"],
63
- article["html_url"],
64
- article["title"],
65
- article["body"],
66
- article["locale"],
67
- article["source_locale"],
68
- article["author_id"],
69
- article["comments_disabled"],
70
- article["outdated_locales"],
71
- article["outdated"],
72
- article["label_names"],
73
- article["draft"],
74
- article["promoted"],
75
- article["position"],
76
- article["vote_sum"],
77
- article["vote_count"],
78
- article["section_id"],
79
- article["user_segment_id"],
80
- article["permission_group_id"],
81
- Date.parse(article["created_at"]).to_time,
82
- Date.parse(article["edited_at"]).to_time,
83
- Date.parse(article["updated_at"]).to_time,
65
+ article['id'],
66
+ article['url'],
67
+ article['html_url'],
68
+ article['title'],
69
+ article['body'],
70
+ article['locale'],
71
+ article['source_locale'],
72
+ article['author_id'],
73
+ article['comments_disabled'],
74
+ article['outdated_locales'],
75
+ article['outdated'],
76
+ article['label_names'],
77
+ article['draft'],
78
+ article['promoted'],
79
+ article['position'],
80
+ article['vote_sum'],
81
+ article['vote_count'],
82
+ article['section_id'],
83
+ article['user_segment_id'],
84
+ article['permission_group_id'],
85
+ Date.parse(article['created_at']).to_time,
86
+ Date.parse(article['edited_at']).to_time,
87
+ Date.parse(article['updated_at']).to_time
84
88
  ]
85
- }, response["next_page"]
89
+ end, response['next_page']]
86
90
  end
87
91
  end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-input-zendesk_guide
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yasuhisa Yoshida
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-30 00:00:00.000000000 Z
11
+ date: 2020-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 0.9.23
19
- name: embulk
18
+ version: 1.10.6
19
+ name: bundler
20
20
  prerelease: false
21
21
  type: :development
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.9.23
26
+ version: 1.10.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.10.6
33
- name: bundler
32
+ version: 0.9.23
33
+ name: embulk
34
34
  prerelease: false
35
35
  type: :development
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 1.10.6
40
+ version: 0.9.23
41
41
  - !ruby/object:Gem::Dependency
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
@@ -59,6 +59,9 @@ executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
+ - ".dependabot/config.yml"
63
+ - ".github/config/rubocop_linter_action.yml"
64
+ - ".github/workflows/rubocop.yml"
62
65
  - ".gitignore"
63
66
  - Gemfile
64
67
  - LICENSE.txt