class Twirp::ClientsGenerator

Public Instance Methods

check_requirements() click to toggle source
# File lib/twirp_rails/generators/twirp/clients/clients_generator.rb, line 7
def check_requirements
  protoc.check_requirements do |msg|
    abort msg
  end
end
generate_twirp_files() click to toggle source
# File lib/twirp_rails/generators/twirp/clients/clients_generator.rb, line 26
def generate_twirp_files
  in_root do
    FileUtils.mkdir_p dst_path

    protos_mask = File.join src_path, '**/*.proto'
    proto_files = Dir.glob protos_mask

    proto_files.each do |file|
      cmd = protoc.cmd(file, false)

      `#{cmd}`

      abort "protoc failure: #{cmd}" unless $?.success?
    end
  end
end
rm_old_twirp_files() click to toggle source
# File lib/twirp_rails/generators/twirp/clients/clients_generator.rb, line 13
def rm_old_twirp_files
  return unless cfg.purge_old_twirp_code

  in_root do
    removed_files = protoc.rm_old_twirp_files

    if removed_files
      msg = "#{removed_files.size} twirp and pb files purged from #{dst_path}"
      say_status :protoc, msg, :green
    end
  end
end

Private Instance Methods

abort(msg) click to toggle source
# File lib/twirp_rails/generators/twirp/clients/clients_generator.rb, line 49
def abort(msg)
  raise Thor::InvocationError, msg
end
cfg() click to toggle source
# File lib/twirp_rails/generators/twirp/clients/clients_generator.rb, line 45
def cfg
  TwirpRails.configuration
end
dst_path() click to toggle source
# File lib/twirp_rails/generators/twirp/clients/clients_generator.rb, line 61
def dst_path
  cfg.clients_twirp_code_path
end
protoc() click to toggle source
# File lib/twirp_rails/generators/twirp/clients/clients_generator.rb, line 53
def protoc
  @protoc ||= ProtocAdapter.new(src_path, dst_path)
end
src_path() click to toggle source
# File lib/twirp_rails/generators/twirp/clients/clients_generator.rb, line 57
def src_path
  cfg.clients_proto_path
end