Skip to content

Instantly share code, notes, and snippets.

@hiroyuki-sato
Created September 5, 2019 08:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hiroyuki-sato/d530463d00d3de3436bc8621935c86d3 to your computer and use it in GitHub Desktop.
Save hiroyuki-sato/d530463d00d3de3436bc8621935c86d3 to your computer and use it in GitHub Desktop.
embulk plugin list
---
embulk-input-mysql: https://github.com/embulk/embulk-input-jdbc
embulk-output-bigquery: https://github.com/embulk/embulk-output-bigquery
embulk-output-mysql: https://github.com/embulk/embulk-output-jdbc
embulk-input-s3: https://github.com/embulk/embulk-input-s3
embulk-filter-column: https://github.com/sonots/embulk-filter-column
embulk-output-td: https://github.com/treasure-data/embulk-output-td
embulk-input-jdbc: https://github.com/embulk/embulk-input-jdbc
embulk-output-postgresql: https://github.com/embulk/embulk-output-jdbc
embulk-output-redshift: https://github.com/embulk/embulk-output-jdbc
embulk-input-postgresql: https://github.com/embulk/embulk-input-jdbc
embulk-output-s3: https://github.com/llibra/embulk-output-s3
embulk-input-oracle: https://github.com/embulk/embulk-input-jdbc
embulk-input-sqlserver: https://github.com/embulk/embulk-input-jdbc
embulk-input-redshift: https://github.com/embulk/embulk-input-jdbc
embulk-input-gcs: https://github.com/embulk/embulk-input-gcs
embulk-filter-ruby_proc: https://github.com/joker1007/embulk-filter-ruby_proc
embulk-output-embulk_output_domo: https://github.com/alexopoulos7/embulk-output-embulk_output_domo
embulk-executor-mapreduce: https://github.com/embulk/embulk-executor-mapreduce
embulk-filter-add_time: https://github.com/treasure-data/embulk-filter-add_time
embulk-filter-expand_json: https://github.com/civitaspo/embulk-filter-expand_json
embulk-output-vertica: https://github.com/sonots/embulk-output-vertica
embulk-formatter-jsonl: https://github.com/takei-yuya/embulk-formatter-jsonl
embulk-output-oracle: https://github.com/embulk/embulk-output-jdbc
embulk-output-jdbc: https://github.com/embulk/embulk-output-jdbc
embulk-input-mongodb: https://github.com/hakobera/embulk-input-mongodb
embulk-filter-row: https://github.com/sonots/embulk-filter-row
embulk-output-command: https://github.com/embulk/embulk-output-command
embulk-parser-jsonl: https://github.com/shun0102/embulk-parser-jsonl
embulk-input-marketo: https://github.com/treasure-data/embulk-input-marketo
embulk-parser-none: https://github.com/sonots/embulk-parser-none
embulk-filter-hash: https://github.com/kamatama41/embulk-filter-hash
embulk-output-elasticsearch: https://github.com/embulk/embulk-output-elasticsearch
embulk-input-mixpanel: https://github.com/treasure-data/embulk-input-mixpanel
embulk-filter-typecast: https://github.com/sonots/embulk-filter-typecast
embulk-filter-timestamp_format: https://github.com/sonots/embulk-filter-timestamp_format
embulk-filter-eval: https://github.com/mgi166/embulk-filter-eval
embulk-input-http: https://github.com/takumakanari/embulk-input-http
embulk-input-td: https://github.com/muga/embulk-input-td
embulk-formatter-single_value: https://github.com/sonots/embulk-formatter-single_value
embulk-filter-mask: https://github.com/beniyama/embulk-filter-mask
embulk-input-google_analytics: https://github.com/treasure-data/embulk-input-google_analytics
embulk-output-sqlserver: https://github.com/embulk/embulk-output-jdbc
embulk-input-zendesk: https://github.com/treasure-data/embulk-input-zendesk
embulk-input-google_spreadsheets: https://github.com/medjed/embulk-input-google_spreadsheets
embulk-parser-json: https://github.com/takumakanari/embulk-parser-json
embulk-filter-insert: https://github.com/muziyoshiz/embulk-filter-insert
embulk-output-sftp: https://github.com/embulk/embulk-output-sftp
embulk-input-hdfs: https://github.com/civitaspo/embulk-input-hdfs
embulk-filter-to_json: https://github.com/civitaspo/embulk-filter-to_json
embulk-input-jira: https://github.com/treasure-data/embulk-input-jira
embulk-input-riak_cs: https://github.com/embulk/embulk-input-s3
embulk-input-remote: https://github.com/kamatama41/embulk-input-remote
embulk-output-mailchimp: https://github.com/treasure-data/embulk-output-mailchimp
embulk-decoder-commons-compress: https://github.com/hata/embulk-decoder-commons-compress
embulk-filter-flatten_json: https://github.com/civitaspo/embulk-filter-flatten_json
embulk-formatter-fast_jsonl: https://github.com/smdmts/embulk-formatter-fast_jsonl
embulk-parser-poi_excel: https://github.com/hishidama/embulk-parser-poi_excel
embulk-output-google_spreadsheets: https://github.com/kataring/embulk-output-google_spreadsheets
embulk-output-gcs: https://github.com/hakobera/embulk-output-gcs
embulk-input-sftp: https://github.com/embulk/embulk-input-sftp
embulk-parser-firebase_avro: https://github.com/smdmts/embulk-parser-firebase_avro
embulk-parser-avro: https://github.com/joker1007/embulk-parser-avro
embulk-filter-speedometer: https://github.com/hata/embulk-filter-speedometer
embulk-parser-query_string: https://github.com/treasure-data/embulk-parser-query_string
embulk-output-parquet: https://github.com/choplin/embulk-output-parquet
embulk-input-command: https://github.com/embulk/embulk-input-command
embulk-output-bigobject: https://github.com/bigobject-inc/embulk-output-bigobject
embulk-output-postgres-udf: https://github.com/kakusuke/embulk-output-postgres-udf
embulk-output-ftp: https://github.com/embulk/embulk-output-ftp
embulk-output-hdfs: https://github.com/civitaspo/embulk-output-hdfs
embulk-filter-kuromoji: https://github.com/toyama0919/embulk-filter-kuromoji
embulk-input-presto: https://github.com/toyama0919/embulk-input-presto
embulk-parser-xml: https://github.com/takumakanari/embulk-parser-xml
embulk-output-db2: https://github.com/embulk/embulk-output-jdbc
embulk-filter-distinct: https://github.com/civitaspo/embulk-filter-distinct
embulk-formatter-avro: https://github.com/joker1007/embulk-formatter-avro
embulk-output-aerospike: https://github.com/tkrs/embulk-output-aerospike
embulk-input-bigquery: https://github.com/medjed/embulk-input-bigquery
embulk-input-elasticsearch: https://github.com/toyama0919/embulk-input-elasticsearch
embulk-filter-script_ruby: https://github.com/shinjiikeda/embulk-filter-script_ruby
embulk-parser-jsonpath: https://github.com/hiroyuki-sato/embulk-parser-jsonpath
embulk-input-ftp: https://github.com/embulk/embulk-input-ftp
embulk-input-dynamodb: https://github.com/lulichn/embulk-input-dynamodb
embulk-parser-msgpack: https://github.com/frsyuki/embulk-parser-msgpack
embulk-filter-woothee: https://github.com/toyama0919/embulk-filter-woothee
embulk-parser-regex: https://github.com/mokemokechicken/embulk-parser-regex
embulk-input-pcapng-files: https://github.com/enukane/embulk-input-pcapng-files
embulk-output-dynamodb: https://github.com/sakama/embulk-output-dynamodb
embulk-output-salesforce: https://github.com/tzmfreedom/embulk-output-salesforce
embulk-input-db2: https://github.com/embulk/embulk-input-jdbc
embulk-filter-query_string: https://github.com/mwed/embulk-filter-query_string
embulk-encoder-commons-compress: https://github.com/hata/embulk-encoder-commons-compress
embulk-parser-ltsv: https://github.com/toyama0919/embulk-parser-ltsv
embulk-filter-icu4j: https://github.com/toyama0919/embulk-filter-icu4j
embulk-output-elasticsearch5: https://github.com/tristanls/embulk-output-elasticsearch
embulk-filter-rename_with_gsub: https://github.com/sesame/embulk-filter-rename_with_gsub
embulk-output-orc: https://github.com/yuokada/embulk-output-orc
embulk-parser-regexp: https://github.com/sesame/embulk-parser-regexp
embulk-filter-key_in_redis: https://github.com/smdmts/embulk-filter-key_in_redis
embulk-filter-base58: https://github.com/kfitzgerald/embulk-filter-base58
embulk-input-filesplit: https://github.com/hito4t/embulk-input-filesplit
embulk-output-elasticsearch_ruby: https://github.com/toyama0919/embulk-output-elasticsearch_ruby
embulk-input-lkqd: https://github.com/liuming/embulk-input-lkqd
embulk-input-randomj: https://github.com/yuokada/embulk-input-randomj
embulk-filter-to_csv: https://github.com/civitaspo/embulk-filter-to_csv
embulk-parser-grok: https://github.com/arielnetworks/embulk-parser-grok
embulk-parser-xpath2: https://github.com/maji-KY/embulk-parser-xpath2
embulk-filter-mysql: https://github.com/toyama0919/embulk-filter-mysql
embulk-filter-calcite: https://github.com/muga/embulk-filter-calcite
embulk-input-vertica: https://github.com/sonots/embulk-input-vertica
embulk-filter-split_column: https://github.com/yskn67/embulk-filter-split_column
embulk-filter-crawler: https://github.com/toyama0919/embulk-filter-crawler
embulk-output-s3_per_record: https://github.com/tomykaira/embulk-output-s3_per_record
embulk-formatter-poi_excel: https://github.com/hishidama/embulk-formatter-poi_excel
embulk-input-yelp: https://github.com/dmikurube/embulk-input-yelp
embulk-filter-join_file: https://github.com/civitaspo/embulk-filter-join_file
embulk-parser-csv_guessable: https://github.com/koooge/embulk-parser-csv_guessable
embulk-output-influxdb: https://github.com/joker1007/embulk-output-influxdb
embulk-input-athena: https://github.com/shinji19/embulk-input-athena
embulk-filter-timestamp_hs: https://github.com/arenahito/embulk-filter-timestamp_hs
embulk-input-aster: https://github.com/ebyhr/embulk-input-aster
embulk-filter-json_key: https://github.com/civitaspo/embulk-filter-json_key
embulk-filter-null_string: https://github.com/hiroyuki-sato/embulk-filter-null_string
embulk-input-slack-history: https://github.com/yaggytter/embulk-input-slack-history
embulk-filter-json_key_joiner: https://github.com/smdmts/embulk-filter-json_key_joiner
embulk-input-azure_blob_storage: https://github.com/embulk/embulk-input-azure_blob_storage
embulk-filter-encrypt: https://github.com/embulk/embulk-filter-encrypt
embulk-filter-stdout: https://github.com/sonots/embulk-filter-stdout
embulk-filter-rearrange: https://github.com/okanotor/embulk-filter-rearrange
embulk-input-datastore: https://github.com/syucream/embulk-input-datastore
embulk-output-larges3: https://github.com/alexopoulos7/embulk-output-larges3
embulk-filter-base64: https://github.com/ysk24ok/embulk-filter-base64
embulk-input-random: https://github.com/kumagi/embulk-input-random
embulk-input-healthplanet: https://github.com/muziyoshiz/embulk-input-healthplanet
embulk-parser-apache-log: https://github.com/hiroyuki-sato/embulk-parser-apache-log
embulk-encoder-encrypted_zip: https://github.com/mokemokechicken/embulk-encoder-encrypted_zip
embulk-output-redis: https://github.com/komamitsu/embulk-output-redis
embulk-filter-expand_json_array: https://github.com/ainoya/embulk-filter-expand_json_array
embulk-filter-calc: https://github.com/hiroyuki-sato/embulk-filter-calc
embulk-input-swift: https://github.com/yuuzi41/embulk-input-swift
embulk-filter-amazon_rekognition: https://github.com/toyama0919/embulk-filter-amazon_rekognition
embulk-input-rediskeys: https://github.com/dokuma/embulk-input-rediskeys
embulk-executor-remoteserver: https://github.com/kamatama41/embulk-executor-remoteserver
embulk-output-swift: https://github.com/yuuzi41/embulk-output-swift
embulk-output-teradata: https://github.com/ebyhr/embulk-output-teradata
embulk-input-redash: https://github.com/ariarijp/embulk-input-redash
embulk-output-cassandra: https://github.com/joker1007/embulk-output-cassandra
embulk-output-influxdb08: https://github.com/atsaki/embulk-output-influxdb08.git
embulk-output-azure_blob_storage: https://github.com/embulk/embulk-output-azure_blob_storage
embulk-input-twitterarchive: https://github.com/nazo/embulk-input-twitterarchive
embulk-output-analytics_cloud: https://github.com/tzmfreedom/embulk-output-analytics_cloud
embulk-filter-unique: https://github.com/naota/embulk-filter-unique
embulk-parser-roo-excel: https://github.com/hiroyuki-sato/embulk-parser-roo-excel
embulk-filter-script: https://github.com/SNakano/embulk-filter-script
embulk-input-sql: https://github.com/kakusuke/embulk-input-sql
embulk-parser-sisimai: https://github.com/hiroyuki-sato/embulk-parser-sisimai
embulk-output-aster: https://github.com/ebyhr/embulk-output-aster
embulk-output-groonga: https://github.com/hiroyuki-sato/embulk-output-groonga
embulk-output-sqlite3: https://github.com/takady/embulk-output-sqlite3
embulk-output-zendesk_users: https://github.com/toru-takahashi/embulk-output-zendesk_users
embulk-input-salesforce_bulk: https://github.com/mikoto2000/embulk-input-salesforce_bulk
embulk-filter-query_string_ruby: https://github.com/ymurata/embulk-filter-query_string_ruby
embulk-filter-copy: https://github.com/civitaspo/embulk-filter-copy
embulk-output-postgres-json: https://github.com/frsyuki/embulk-output-postgres-json
embulk-parser-pcapng: https://github.com/enukane/embulk-parser-pcapng
embulk-input-redis: https://github.com/komamitsu/embulk-input-redis
embulk-parser-forcepoint: https://github.com/sesame/embulk-parser-forcepoint
embulk-input-jstat: https://github.com/ykubota/embulk-input-jstat
embulk-filter-url_encode: https://github.com/mwed/embulk-filter-url_encode
embulk-output-trafodion: https://github.com/AlexPeng19/embulk-output-trafodion
embulk-parser-unpack: https://github.com/kakoni/embulk-parser-unpack
embulk-output-documentdb: https://github.com/yokawasa/embulk-output-documentdb
embulk-decoder-remove_nonstandard_utf8_bytes: https://github.com/smdmts/embulk-decoder-remove_nonstandard_utf8_bytes
embulk-encoder-xz: https://github.com/frsyuki/embulk-encoder-xz
embulk-output-rediskeys: https://github.com/dokuma/embulk-output-rediskeys
embulk-output-azuresearch: https://github.com/yokawasa/embulk-output-azuresearch
embulk-output-mongodb_nest: https://github.com/focuschange/embulk-output-mongodb_nest
embulk-input-teradata: https://github.com/ebyhr/embulk-input-teradata
embulk-input-parquet_hadoop: https://github.com/CyberAgent/embulk-input-parquet_hadoop
embulk-output-utf8parquet: https://github.com/alexopoulos7/embulk-output-utf8parquet
embulk-filter-gsub: https://github.com/cesare/embulk-filter-gsub
embulk-input-inline: https://github.com/toyama0919/embulk-input-inline
embulk-input-adebis: https://github.com/GRIPHONEinc/embulk-input-adebis
embulk-output-multi: https://github.com/kamatama41/embulk-output-multi
embulk-output-s3_parquet: https://github.com/civitaspo/embulk-output-s3_parquet
embulk-parser-xpath: https://github.com/matobat/embulk-parser-xpath
embulk-formatter-markdown_table: https://github.com/yuemori/embulk-formatter-markdown_table
embulk-formatter-html_table: https://github.com/yuemori/embulk-formatter-html_table
embulk-formatter-geojson: https://github.com/lewuathe/embulk-formatter-geojson
embulk-parser-apache-custom-log: https://github.com/jami-i/embulk-parser-apache-custom-log
embulk-input-slack_message: https://github.com/yuemori/embulk-input-slack_message
embulk-encoder-pgp_encryption: https://github.com/k_morishita/embulk-encoder-pgp_encryption
embulk-decoder-lzo: https://github.com/ntkes3/embulk-decoder-lzo
embulk-filter-pherialize: https://github.com/cynipe/embulk-filter-pherialize
embulk-formatter-sprintf: https://github.com/toyama0919/embulk-formatter-sprintf
embulk-input-sequence: https://github.com/tomykaira/embulk-input-sequence
embulk-output-elasticsearch_1.x: https://github.com/shinjiikeda/embulk-output-elasticsearch
embulk-filter-protobuf: https://github.com/ysk24ok/embulk-filter-protobuf
embulk-filter-forcepoint_converter: https://github.com/sesame/embulk-filter-forcepoint_converter
embulk-parser-mysqldump_tab: https://github.com/inouet/embulk-parser-mysqldump_tab
embulk-output-mongodb: https://github.com/motomizuki/embulk-output-mongodb
embulk-filter-jsoncolumn: https://github.com/dokuma/embulk-filter-jsoncolumn
embulk-input-bigquery_extract_files: https://github.com/jo8937/embulk-input-bigquery_extract_files
embulk-parser-fixed: https://github.com/kakoni/embulk-parser-fixed
embulk-filter-reverse_geocoding: https://github.com/oqrusk/embulk-filter-reverse_geocoding
embulk-input-yahoo_ads: https://github.com/principle-c/embulk-input-yahoo_ads
embulk-parser-jsonline: https://github.com/3-shake/embulk-parser-jsonline
embulk-decoder-command: https://github.com/ksss/embulk-decoder-command
embulk-filter-google_translate_api: https://github.com/toyama0919/embulk-filter-google_translate_api
embulk-input-soracom_harvest: https://github.com/sakama/embulk-input-soracom_harvest
embulk-filter-google_vision_api: https://github.com/toyama0919/embulk-filter-google_vision_api
embulk-decoder-lz4: https://github.com/yuuzi41/embulk-decoder-lz4
embulk-encoder-lz4: https://github.com/yuuzi41/embulk-encoder-lz4
embulk-output-fluentd: https://github.com/smdmts/embulk-output-fluentd
embulk-input-spotx: https://github.com/liuming/embulk-input-spotx
embulk-filter-affix: https://github.com/imura81gt/embulk-filter-affix
embulk-output-elasticsearch_using_url: https://github.com/ymurata/embulk-output-elasticsearch_using_url
embulk-input-intersystems_cache: https://github.com/kakoni/embulk-input-intersystems_cache
embulk-parser-joni_regexp: https://github.com/hiroyuki-sato/embulk-parser-joni_regexp
embulk-parser-twitter_ads_stats: https://github.com/septeni-original/embulk-parser-twitter_ads_stats
embulk-input-search_analytics: https://github.com/sem-technology/embulk-input-search_analytics
embulk-parser-apache_error_log: https://github.com/tmitz/embulk-parser-apache_error_log
embulk-parser-mahout: https://github.com/kihengk/embulk-parser-mahout
embulk-executor-mapreduce_2_6: https://github.com/embulk/embulk-executor-mapreduce
embulk-input-clickhouse: https://github.com/tac0x2a/embulk-input-clickhouse
embulk-decoder-exec: https://github.com/ksss/embulk-decoder-exec
embulk-executor-mapreduce_2_7: https://github.com/embulk/embulk-executor-mapreduce
embulk-parser-fluent-s3-log: https://github.com/y-matsuwitter/embulk-parser-fluent-s3-log
embulk-output-google_analytics: https://github.com/sem-technology/embulk-output-google_analytics
embulk-input-sitemap: https://github.com/sem-technology/embulk-input-sitemap
embulk-input-apache-dummy-log: https://github.com/hiroyuki-sato/embulk-input-apache-dummy-log
embulk-parser-jdbc-schema-csv: https://github.com/hito4t/embulk-parser-jdbc-schema-csv
embulk-parser-fluentd_out_file: https://github.com/muga/embulk-parser-fluentd_out_file
embulk-output-slack_file_upload: https://github.com/chemtrails.t/embulk-output-slack_file_upload
embulk-encoder-command: https://github.com/ksss/embulk-encoder-command
embulk-filter-azure_text_analytics: https://github.com/toyama0919/embulk-filter-azure_text_analytics
embulk-filter-azure_computer_vision_api: https://github.com/toyama0919/embulk-filter-azure_computer_vision_api
embulk-filter-strip_html_tags: https://github.com/cesare/embulk-filter-strip_html_tags
embulk-output-amazon_cloudsearch: https://github.com/kenchan/embulk-output-amazon_cloudsearch
embulk-input-gmail: https://github.com/mikoto2000/embulk-input-gmail
embulk-filter-azure_translator_api: https://github.com/toyama0919/embulk-filter-azure_translator_api
embulk-output-pixela: https://github.com/torutakahashi.ayashi/embulk-output-pixela
embulk-formatter-mysql_xml: https://github.com/shio.phys/embulk-formatter-mysql_xml
embulk-filter-google_natural_language_api: https://github.com/toyama0919/embulk-filter-google_natural_language_api
embulk-parser-csv_with_schema_file: https://github.com/jo8937/embulk-parser-csv_with_schema_file
embulk-output-google_sheets_ruby: https://github.com/ariarijp/embulk-output-google_sheets_ruby
embulk-parser-csv_with_default_value: https://github.com/kazup0n/embulk-parser-csv_with_default_value
embulk-input-druginfo_interview_form: https://github.com/AkiyukiKamiura/embulk-input-druginfo_interview_form
require 'logger'
require 'faraday'
require 'httpclient'
require 'oj'
require 'parallel'
require 'yaml'

class PluginListRenderer
  def initialize(log)
    @log = log
    Faraday.default_adapter = :httpclient
  end

  GEM_COPY_KEYS = [:name, :authors, :version, :licenses, :downloads, :info]
  GEM_URL_KEYS = [:project_uri, :source_code_uri, :homepage_uri, :documentation_uri]

  GITHUB_COPY_KEYS = [:stargazers_count]
  GITHUB_OWNER_KEYS = [:avatar_url]

  CATEGORIES = %w[input output filter guess parser decoder formatter encoder executor]
  FOR_FILE_CATEGORIES = %w[parser decoder formatter encoder]

  def search_gems
    @log.info "Searching embulk gems..."

    gems = []
    used = {}

    rubygems_org = Faraday.new('https://rubygems.org')
    (1..100).each do |i|
      res = rubygems_org.get("/api/v1/search.json?query=embulk-&page=#{i}")
      raise "RubyGems.org search failed #{res.status} #{res.body}" if res.status != 200

      json = Oj.load(res.body)
      json.each do |gem_json|
        next if used[gem_json["name"]]

        gem = {}

        gem[:url] = gem_json["homepage_uri"]
        next unless gem[:url].to_s =~ /^http/

        GEM_COPY_KEYS.each {|key| gem[key] = gem_json[key.to_s] }
        GEM_URL_KEYS.each do |k|
          if url = gem_json[k.to_s]
            gem[:github_url] = url if url =~ /https?\:\/\/github.com/ && url.count("/") == 4
          end
        end
        gem_name = gem[:gem_name] = gem[:name]

        m = gem_name.match(/^embulk-(input|output|filter|guess|encoder|decoder|formatter|parser|executor)-(.*)$/)
        next unless m
        gem[:category] = m[1]
        gem[:name] = m[2]

        used[gem_json["name"]] = true

        gems << gem
      end

      break if json.empty? || json.size < 10
    end

    return gems
  end

  def add_github_keys(gems)
    Parallel.each(gems, in_threads: 2) do |gem|
      url = gem[:github_url]
      next unless url

      m = url.match(/github.com\/([^\/]+)\/([^\/]+)/)
      next unless m

      owner, repo = m[1], m[2]
      gem[:owner] = owner
      gem[:repo] = repo

      github_com = (Thread.current[:http] ||= Faraday.new('https://api.github.com'))
      res = github_com.get("/repos/#{owner}/#{repo}")
      next if res.status != 200  # TODO don't ignore if the cause is rate limit

      json = Oj.load(res.body)
      GITHUB_COPY_KEYS.each {|key| gem[key] = json[key.to_s] }

      owner_json = (json['owner'] || {})
      GITHUB_OWNER_KEYS.each {|key| gem[key] = owner_json[key.to_s] }
    end

    gems
  end

  def fetch
# {:url=>
#   "https://github.com/AkiyukiKamiura/embulk-input-druginfo_interview_form",
#  :name=>"druginfo_interview_form",
#  :authors=>"AkiyukiKamiura",
#  :version=>"0.1.0",
#  :licenses=>["MIT"],
#  :downloads=>301,
#  :info=>"Loads records from Druginfo Interview Form.",
#  :github_url=>
#   "https://github.com/AkiyukiKamiura/embulk-input-druginfo_interview_form",
#  :gem_name=>"embulk-input-druginfo_interview_form",
#  :category=>"input"}]
    gems = search_gems

    plugins = {}
    gems.each{ |gem| plugins[gem[:gem_name]] = gem[:github_url] if gem[:github_url] }

    print plugins.to_yaml

  end
end

def update_index(log)
  PluginListRenderer.new(log).fetch
end

update_index(Logger.new(STDOUT)) if __FILE__ == $0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment