lib/tasks/web.rake in slack-ruby-client-0.14.4 vs lib/tasks/web.rake in slack-ruby-client-0.14.5
- old
+ new
@@ -1,5 +1,6 @@
+# frozen_string_literal: true
# largely from https://github.com/aki017/slack-ruby-gem
require 'json-schema'
require 'erubis'
require 'active_support'
require 'active_support/core_ext'
@@ -8,11 +9,12 @@
namespace :web do
namespace :api do
desc 'Update API.'
task update: [:git_update] do
group_schema = JSON.parse(File.read('lib/slack/web/api/schema/group.json'))
- groups = Dir.glob('lib/slack/web/api/slack-api-ref/groups/**/*.json').each_with_object({}) do |path, result|
+ dirglob = 'lib/slack/web/api/slack-api-ref/groups/**/*.json'
+ groups = Dir.glob(dirglob).each_with_object({}) do |path, result|
name = File.basename(path, '.json')
parsed = JSON.parse(File.read(path))
parsed['undocumented'] = true if path =~ /undocumented/
JSON::Validator.validate(group_schema, parsed, insert_defaults: true)
result[name] = parsed
@@ -32,19 +34,21 @@
JSON::Validator.validate(method_schema, parsed, insert_defaults: true)
result[prefix][name] = parsed
end
method_template = Erubis::Eruby.new(File.read('lib/slack/web/api/templates/method.erb'))
- method_spec_template = Erubis::Eruby.new(File.read('lib/slack/web/api/templates/method_spec.erb'))
+ method_spec_template =
+ Erubis::Eruby.new(File.read('lib/slack/web/api/templates/method_spec.erb'))
command_template = Erubis::Eruby.new(File.read('lib/slack/web/api/templates/command.erb'))
data.each_with_index do |(group, names), index|
printf "%2d/%2d %10s %s\n", index, data.size, group, names.keys
# method
snaked_group = group.tr('.', '_')
rendered_method = method_template.result(group: group, names: names)
File.write "lib/slack/web/api/endpoints/#{snaked_group}.rb", rendered_method
- custom_spec_exists = File.exist?("spec/slack/web/api/endpoints/custom_specs/#{group}_spec.rb")
+ custom_spec_exists =
+ File.exist?("spec/slack/web/api/endpoints/custom_specs/#{group}_spec.rb")
unless custom_spec_exists
rendered_method_spec = method_spec_template.result(group: group, names: names)
File.write "spec/slack/web/api/endpoints/#{snaked_group}_spec.rb", rendered_method_spec
end
Dir.glob("lib/slack/web/api/patches/#{group}*.patch").sort.each do |patch|
@@ -56,14 +60,21 @@
rendered_command = command_template.result(group: groups[group], names: names)
File.write "bin/commands/#{snaked_group}.rb", rendered_command
end
- endpoints_template = Erubis::Eruby.new(File.read('lib/slack/web/api/templates/endpoints.erb'))
- File.write 'lib/slack/web/api/endpoints.rb', endpoints_template.result(files: data.keys.map { |key| key.tr('.', '_') })
+ endpoints_template =
+ Erubis::Eruby.new(File.read('lib/slack/web/api/templates/endpoints.erb'))
+ File.write(
+ 'lib/slack/web/api/endpoints.rb',
+ endpoints_template.result(files: data.keys.map { |key| key.tr('.', '_') })
+ )
commands_template = Erubis::Eruby.new(File.read('lib/slack/web/api/templates/commands.erb'))
- File.write 'bin/commands.rb', commands_template.result(files: data.keys.map { |key| key.tr('.', '_') })
+ File.write(
+ 'bin/commands.rb',
+ commands_template.result(files: data.keys.map { |key| key.tr('.', '_') })
+ )
end
end
end
end