embulk-input-zendesk_guide 0.1.1 → 0.1.2

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
  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