Add missing new-lines at end of file
diff --git a/src/ruby/bin/apis/google/protobuf/empty.rb b/src/ruby/bin/apis/google/protobuf/empty.rb
index 9aaa19b..2f6bbc9 100644
--- a/src/ruby/bin/apis/google/protobuf/empty.rb
+++ b/src/ruby/bin/apis/google/protobuf/empty.rb
@@ -41,4 +41,4 @@
   module Protobuf
     Empty = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.Empty").msgclass
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/bin/apis/pubsub_demo.rb b/src/ruby/bin/apis/pubsub_demo.rb
index cd31efd..6656a56 100755
--- a/src/ruby/bin/apis/pubsub_demo.rb
+++ b/src/ruby/bin/apis/pubsub_demo.rb
@@ -275,4 +275,4 @@
   NamedActions.new(pub, sub, args).method(args.action).call
 end
 
-main
\ No newline at end of file
+main
diff --git a/src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb b/src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb
index 63db5c3..d61431f 100644
--- a/src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb
+++ b/src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb
@@ -171,4 +171,4 @@
     AcknowledgeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.AcknowledgeRequest").msgclass
     NackRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.NackRequest").msgclass
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb b/src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb
index cb27ce6..43c5265 100644
--- a/src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb
+++ b/src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb
@@ -100,4 +100,4 @@
       Stub = Service.rpc_stub_class
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/bin/interop/interop_client.rb b/src/ruby/bin/interop/interop_client.rb
index 94d4ad6..ef31f68 100755
--- a/src/ruby/bin/interop/interop_client.rb
+++ b/src/ruby/bin/interop/interop_client.rb
@@ -348,4 +348,4 @@
   NamedTests.new(stub, opts).method(opts['test_case']).call
 end
 
-main
\ No newline at end of file
+main
diff --git a/src/ruby/bin/interop/interop_server.rb b/src/ruby/bin/interop/interop_server.rb
index 0e2b40b..b3b7d0c 100755
--- a/src/ruby/bin/interop/interop_server.rb
+++ b/src/ruby/bin/interop/interop_server.rb
@@ -189,4 +189,4 @@
   s.run
 end
 
-main
\ No newline at end of file
+main
diff --git a/src/ruby/bin/interop/test/cpp/interop/empty.rb b/src/ruby/bin/interop/test/cpp/interop/empty.rb
index 0dd4d21..3579fa5 100644
--- a/src/ruby/bin/interop/test/cpp/interop/empty.rb
+++ b/src/ruby/bin/interop/test/cpp/interop/empty.rb
@@ -41,4 +41,4 @@
   module Testing
     Empty = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.Empty").msgclass
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/bin/interop/test/cpp/interop/messages.rb b/src/ruby/bin/interop/test/cpp/interop/messages.rb
index 9e65b42..89c349b 100644
--- a/src/ruby/bin/interop/test/cpp/interop/messages.rb
+++ b/src/ruby/bin/interop/test/cpp/interop/messages.rb
@@ -86,4 +86,4 @@
     StreamingOutputCallResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.StreamingOutputCallResponse").msgclass
     PayloadType = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.PayloadType").enummodule
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/bin/interop/test/cpp/interop/test.rb b/src/ruby/bin/interop/test/cpp/interop/test.rb
index 0df3ec1..5948b50 100644
--- a/src/ruby/bin/interop/test/cpp/interop/test.rb
+++ b/src/ruby/bin/interop/test/cpp/interop/test.rb
@@ -40,4 +40,4 @@
 module Grpc
   module Testing
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/bin/interop/test/cpp/interop/test_services.rb b/src/ruby/bin/interop/test/cpp/interop/test_services.rb
index d50457f..5a3146c 100644
--- a/src/ruby/bin/interop/test/cpp/interop/test_services.rb
+++ b/src/ruby/bin/interop/test/cpp/interop/test_services.rb
@@ -57,4 +57,4 @@
       Stub = Service.rpc_stub_class
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/bin/math.rb b/src/ruby/bin/math.rb
index 7dc677b..323993e 100755
--- a/src/ruby/bin/math.rb
+++ b/src/ruby/bin/math.rb
@@ -58,4 +58,4 @@
   FibArgs = Google::Protobuf::DescriptorPool.generated_pool.lookup("math.FibArgs").msgclass
   Num = Google::Protobuf::DescriptorPool.generated_pool.lookup("math.Num").msgclass
   FibReply = Google::Protobuf::DescriptorPool.generated_pool.lookup("math.FibReply").msgclass
-end
\ No newline at end of file
+end
diff --git a/src/ruby/bin/math_client.rb b/src/ruby/bin/math_client.rb
index 9a0687f..cb085d4 100755
--- a/src/ruby/bin/math_client.rb
+++ b/src/ruby/bin/math_client.rb
@@ -144,4 +144,4 @@
   do_div_many(stub)
 end
 
-main
\ No newline at end of file
+main
diff --git a/src/ruby/bin/math_server.rb b/src/ruby/bin/math_server.rb
index ff38b2a..93277e3 100755
--- a/src/ruby/bin/math_server.rb
+++ b/src/ruby/bin/math_server.rb
@@ -187,4 +187,4 @@
   s.run
 end
 
-main
\ No newline at end of file
+main
diff --git a/src/ruby/bin/math_services.rb b/src/ruby/bin/math_services.rb
index c559ae0..cf58a53 100755
--- a/src/ruby/bin/math_services.rb
+++ b/src/ruby/bin/math_services.rb
@@ -53,4 +53,4 @@
 
     Stub = Service.rpc_stub_class
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/bin/noproto_client.rb b/src/ruby/bin/noproto_client.rb
index ec01e74..4471052 100755
--- a/src/ruby/bin/noproto_client.rb
+++ b/src/ruby/bin/noproto_client.rb
@@ -105,4 +105,4 @@
   logger.info("got a response: #{resp}")
 end
 
-main
\ No newline at end of file
+main
diff --git a/src/ruby/bin/noproto_server.rb b/src/ruby/bin/noproto_server.rb
index 208a91f..435f8f4 100755
--- a/src/ruby/bin/noproto_server.rb
+++ b/src/ruby/bin/noproto_server.rb
@@ -109,4 +109,4 @@
   s.run
 end
 
-main
\ No newline at end of file
+main
diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb
index c9f7d94..96c92e2 100644
--- a/src/ruby/ext/grpc/extconf.rb
+++ b/src/ruby/ext/grpc/extconf.rb
@@ -73,4 +73,4 @@
 crash('need grpc lib') unless have_library('grpc', 'grpc_channel_destroy')
 have_library('grpc', 'grpc_channel_destroy')
 crash('need gpr lib') unless have_library('gpr', 'gpr_now')
-create_makefile('grpc/grpc')
\ No newline at end of file
+create_makefile('grpc/grpc')
diff --git a/src/ruby/ext/grpc/rb_byte_buffer.c b/src/ruby/ext/grpc/rb_byte_buffer.c
index 605703f..ed9240a 100644
--- a/src/ruby/ext/grpc/rb_byte_buffer.c
+++ b/src/ruby/ext/grpc/rb_byte_buffer.c
@@ -238,4 +238,4 @@
   grpc_rb_byte_buffer *wrapper = NULL;
   Data_Get_Struct(v, grpc_rb_byte_buffer, wrapper);
   return wrapper->wrapped;
-}
\ No newline at end of file
+}
diff --git a/src/ruby/ext/grpc/rb_byte_buffer.h b/src/ruby/ext/grpc/rb_byte_buffer.h
index 935f206..c65f215 100644
--- a/src/ruby/ext/grpc/rb_byte_buffer.h
+++ b/src/ruby/ext/grpc/rb_byte_buffer.h
@@ -51,4 +51,4 @@
 /* Gets the wrapped byte_buffer from its ruby object. */
 grpc_byte_buffer* grpc_rb_get_wrapped_byte_buffer(VALUE v);
 
-#endif /* GRPC_RB_BYTE_BUFFER_H_ */
\ No newline at end of file
+#endif /* GRPC_RB_BYTE_BUFFER_H_ */
diff --git a/src/ruby/ext/grpc/rb_call.c b/src/ruby/ext/grpc/rb_call.c
index 9576075..12cf3bc 100644
--- a/src/ruby/ext/grpc/rb_call.c
+++ b/src/ruby/ext/grpc/rb_call.c
@@ -566,4 +566,4 @@
                  UINT2NUM(NUM2UINT(obj) + 1));
   }
   return Data_Wrap_Struct(rb_cCall, GC_NOT_MARKED, grpc_rb_call_destroy, c);
-}
\ No newline at end of file
+}
diff --git a/src/ruby/ext/grpc/rb_call.h b/src/ruby/ext/grpc/rb_call.h
index f2a3f3e..ade6046 100644
--- a/src/ruby/ext/grpc/rb_call.h
+++ b/src/ruby/ext/grpc/rb_call.h
@@ -56,4 +56,4 @@
 /* Initializes the Call class. */
 void Init_google_rpc_call();
 
-#endif /* GRPC_RB_CALL_H_ */
\ No newline at end of file
+#endif /* GRPC_RB_CALL_H_ */
diff --git a/src/ruby/ext/grpc/rb_channel.c b/src/ruby/ext/grpc/rb_channel.c
index 116e774..3dbfb9d 100644
--- a/src/ruby/ext/grpc/rb_channel.c
+++ b/src/ruby/ext/grpc/rb_channel.c
@@ -261,4 +261,4 @@
   grpc_rb_channel *wrapper = NULL;
   Data_Get_Struct(v, grpc_rb_channel, wrapper);
   return wrapper->wrapped;
-}
\ No newline at end of file
+}
diff --git a/src/ruby/ext/grpc/rb_channel.h b/src/ruby/ext/grpc/rb_channel.h
index 696f77e..bf77d77 100644
--- a/src/ruby/ext/grpc/rb_channel.h
+++ b/src/ruby/ext/grpc/rb_channel.h
@@ -46,4 +46,4 @@
 /* Gets the wrapped channel from the ruby wrapper */
 grpc_channel* grpc_rb_get_wrapped_channel(VALUE v);
 
-#endif /* GRPC_RB_CHANNEL_H_ */
\ No newline at end of file
+#endif /* GRPC_RB_CHANNEL_H_ */
diff --git a/src/ruby/ext/grpc/rb_channel_args.c b/src/ruby/ext/grpc/rb_channel_args.c
index 4249db7..532ee5e 100644
--- a/src/ruby/ext/grpc/rb_channel_args.c
+++ b/src/ruby/ext/grpc/rb_channel_args.c
@@ -151,4 +151,4 @@
     }
     rb_jump_tag(status);
   }
-}
\ No newline at end of file
+}
diff --git a/src/ruby/ext/grpc/rb_channel_args.h b/src/ruby/ext/grpc/rb_channel_args.h
index ff12e90..78a333b 100644
--- a/src/ruby/ext/grpc/rb_channel_args.h
+++ b/src/ruby/ext/grpc/rb_channel_args.h
@@ -49,4 +49,4 @@
 void grpc_rb_hash_convert_to_channel_args(VALUE src_hash,
                                           grpc_channel_args* dst);
 
-#endif /* GRPC_RB_CHANNEL_ARGS_H_ */
\ No newline at end of file
+#endif /* GRPC_RB_CHANNEL_ARGS_H_ */
diff --git a/src/ruby/ext/grpc/rb_completion_queue.c b/src/ruby/ext/grpc/rb_completion_queue.c
index 7ed586f..60a28ce 100644
--- a/src/ruby/ext/grpc/rb_completion_queue.c
+++ b/src/ruby/ext/grpc/rb_completion_queue.c
@@ -182,4 +182,4 @@
   grpc_completion_queue *cq = NULL;
   Data_Get_Struct(v, grpc_completion_queue, cq);
   return cq;
-}
\ No newline at end of file
+}
diff --git a/src/ruby/ext/grpc/rb_completion_queue.h b/src/ruby/ext/grpc/rb_completion_queue.h
index 61b27ab..1f618f5 100644
--- a/src/ruby/ext/grpc/rb_completion_queue.h
+++ b/src/ruby/ext/grpc/rb_completion_queue.h
@@ -47,4 +47,4 @@
 /* Initializes the CompletionQueue class. */
 void Init_google_rpc_completion_queue();
 
-#endif /* GRPC_RB_COMPLETION_QUEUE_H_ */
\ No newline at end of file
+#endif /* GRPC_RB_COMPLETION_QUEUE_H_ */
diff --git a/src/ruby/ext/grpc/rb_credentials.c b/src/ruby/ext/grpc/rb_credentials.c
index 9df58e2..4e51276 100644
--- a/src/ruby/ext/grpc/rb_credentials.c
+++ b/src/ruby/ext/grpc/rb_credentials.c
@@ -278,4 +278,4 @@
   grpc_rb_credentials *wrapper = NULL;
   Data_Get_Struct(v, grpc_rb_credentials, wrapper);
   return wrapper->wrapped;
-}
\ No newline at end of file
+}
diff --git a/src/ruby/ext/grpc/rb_credentials.h b/src/ruby/ext/grpc/rb_credentials.h
index 838d2ab..be5574c 100644
--- a/src/ruby/ext/grpc/rb_credentials.h
+++ b/src/ruby/ext/grpc/rb_credentials.h
@@ -47,4 +47,4 @@
 /* Gets the wrapped credentials from the ruby wrapper */
 grpc_credentials* grpc_rb_get_wrapped_credentials(VALUE v);
 
-#endif /* GRPC_RB_CREDENTIALS_H_ */
\ No newline at end of file
+#endif /* GRPC_RB_CREDENTIALS_H_ */
diff --git a/src/ruby/ext/grpc/rb_event.c b/src/ruby/ext/grpc/rb_event.c
index 7014734..3579f20 100644
--- a/src/ruby/ext/grpc/rb_event.c
+++ b/src/ruby/ext/grpc/rb_event.c
@@ -358,4 +358,4 @@
   wrapper->mark = Qnil;
   return Data_Wrap_Struct(rb_cEvent, grpc_rb_event_mark, grpc_rb_event_free,
                           wrapper);
-}
\ No newline at end of file
+}
diff --git a/src/ruby/ext/grpc/rb_event.h b/src/ruby/ext/grpc/rb_event.h
index ee75231..12f1286 100644
--- a/src/ruby/ext/grpc/rb_event.h
+++ b/src/ruby/ext/grpc/rb_event.h
@@ -50,4 +50,4 @@
 /* Initializes the Event and EventError classes. */
 void Init_google_rpc_event();
 
-#endif /* GRPC_RB_EVENT_H_ */
\ No newline at end of file
+#endif /* GRPC_RB_EVENT_H_ */
diff --git a/src/ruby/ext/grpc/rb_grpc.c b/src/ruby/ext/grpc/rb_grpc.c
index 2ec4ee5..61b7ea2 100644
--- a/src/ruby/ext/grpc/rb_grpc.c
+++ b/src/ruby/ext/grpc/rb_grpc.c
@@ -273,4 +273,4 @@
   Init_google_rpc_server_credentials();
   Init_google_status_codes();
   Init_google_time_consts();
-}
\ No newline at end of file
+}
diff --git a/src/ruby/ext/grpc/rb_grpc.h b/src/ruby/ext/grpc/rb_grpc.h
index 0cd79ea..7c7ef88 100644
--- a/src/ruby/ext/grpc/rb_grpc.h
+++ b/src/ruby/ext/grpc/rb_grpc.h
@@ -74,4 +74,4 @@
 /* grpc_rb_time_timeval creates a gpr_timespec from a ruby time object. */
 gpr_timespec grpc_rb_time_timeval(VALUE time, int interval);
 
-#endif /* GRPC_RB_H_ */
\ No newline at end of file
+#endif /* GRPC_RB_H_ */
diff --git a/src/ruby/ext/grpc/rb_metadata.c b/src/ruby/ext/grpc/rb_metadata.c
index f054ae9..312cbf9 100644
--- a/src/ruby/ext/grpc/rb_metadata.c
+++ b/src/ruby/ext/grpc/rb_metadata.c
@@ -212,4 +212,4 @@
   grpc_rb_metadata *wrapper = NULL;
   Data_Get_Struct(v, grpc_rb_metadata, wrapper);
   return wrapper->wrapped;
-}
\ No newline at end of file
+}
diff --git a/src/ruby/ext/grpc/rb_metadata.h b/src/ruby/ext/grpc/rb_metadata.h
index 5873ca5..6c0f252 100644
--- a/src/ruby/ext/grpc/rb_metadata.h
+++ b/src/ruby/ext/grpc/rb_metadata.h
@@ -50,4 +50,4 @@
 /* Initializes the Metadata class. */
 void Init_google_rpc_metadata();
 
-#endif /* GRPC_RB_METADATA_H_ */
\ No newline at end of file
+#endif /* GRPC_RB_METADATA_H_ */
diff --git a/src/ruby/ext/grpc/rb_server.c b/src/ruby/ext/grpc/rb_server.c
index 4789f2e..ee30419 100644
--- a/src/ruby/ext/grpc/rb_server.c
+++ b/src/ruby/ext/grpc/rb_server.c
@@ -275,4 +275,4 @@
   grpc_rb_server *wrapper = NULL;
   Data_Get_Struct(v, grpc_rb_server, wrapper);
   return wrapper->wrapped;
-}
\ No newline at end of file
+}
diff --git a/src/ruby/ext/grpc/rb_server.h b/src/ruby/ext/grpc/rb_server.h
index 7226359..6418db2 100644
--- a/src/ruby/ext/grpc/rb_server.h
+++ b/src/ruby/ext/grpc/rb_server.h
@@ -47,4 +47,4 @@
 /* Gets the wrapped server from the ruby wrapper */
 grpc_server* grpc_rb_get_wrapped_server(VALUE v);
 
-#endif /* GRPC_RB_SERVER_H_ */
\ No newline at end of file
+#endif /* GRPC_RB_SERVER_H_ */
diff --git a/src/ruby/ext/grpc/rb_server_credentials.c b/src/ruby/ext/grpc/rb_server_credentials.c
index 41c0a95..5217562 100644
--- a/src/ruby/ext/grpc/rb_server_credentials.c
+++ b/src/ruby/ext/grpc/rb_server_credentials.c
@@ -207,4 +207,4 @@
   grpc_rb_server_credentials *wrapper = NULL;
   Data_Get_Struct(v, grpc_rb_server_credentials, wrapper);
   return wrapper->wrapped;
-}
\ No newline at end of file
+}
diff --git a/src/ruby/ext/grpc/rb_server_credentials.h b/src/ruby/ext/grpc/rb_server_credentials.h
index a2193cd..f73d2b1 100644
--- a/src/ruby/ext/grpc/rb_server_credentials.h
+++ b/src/ruby/ext/grpc/rb_server_credentials.h
@@ -47,4 +47,4 @@
 /* Gets the wrapped server_credentials from the ruby wrapper */
 grpc_server_credentials* grpc_rb_get_wrapped_server_credentials(VALUE v);
 
-#endif /* GRPC_RB_SERVER_CREDENTIALS_H_ */
\ No newline at end of file
+#endif /* GRPC_RB_SERVER_CREDENTIALS_H_ */
diff --git a/src/ruby/lib/grpc.rb b/src/ruby/lib/grpc.rb
index 8836afd..3905226 100644
--- a/src/ruby/lib/grpc.rb
+++ b/src/ruby/lib/grpc.rb
@@ -41,4 +41,4 @@
 require 'grpc/generic/rpc_server'
 
 # alias GRPC
-GRPC = Google::RPC
\ No newline at end of file
+GRPC = Google::RPC
diff --git a/src/ruby/lib/grpc/core/event.rb b/src/ruby/lib/grpc/core/event.rb
index bfde5df..9beb4d1 100644
--- a/src/ruby/lib/grpc/core/event.rb
+++ b/src/ruby/lib/grpc/core/event.rb
@@ -40,4 +40,4 @@
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/lib/grpc/core/time_consts.rb b/src/ruby/lib/grpc/core/time_consts.rb
index 0b7c22d..cfc2a7a 100644
--- a/src/ruby/lib/grpc/core/time_consts.rb
+++ b/src/ruby/lib/grpc/core/time_consts.rb
@@ -69,4 +69,4 @@
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/lib/grpc/errors.rb b/src/ruby/lib/grpc/errors.rb
index d562f05..7e8753e 100644
--- a/src/ruby/lib/grpc/errors.rb
+++ b/src/ruby/lib/grpc/errors.rb
@@ -60,4 +60,4 @@
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/lib/grpc/generic/active_call.rb b/src/ruby/lib/grpc/generic/active_call.rb
index 22218bd..67e019f 100644
--- a/src/ruby/lib/grpc/generic/active_call.rb
+++ b/src/ruby/lib/grpc/generic/active_call.rb
@@ -535,4 +535,4 @@
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/lib/grpc/generic/bidi_call.rb b/src/ruby/lib/grpc/generic/bidi_call.rb
index 2e47034..18b0d68 100644
--- a/src/ruby/lib/grpc/generic/bidi_call.rb
+++ b/src/ruby/lib/grpc/generic/bidi_call.rb
@@ -220,4 +220,4 @@
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/lib/grpc/generic/client_stub.rb b/src/ruby/lib/grpc/generic/client_stub.rb
index 10405a9..a35fae1 100644
--- a/src/ruby/lib/grpc/generic/client_stub.rb
+++ b/src/ruby/lib/grpc/generic/client_stub.rb
@@ -407,4 +407,4 @@
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/lib/grpc/generic/rpc_desc.rb b/src/ruby/lib/grpc/generic/rpc_desc.rb
index ea6abbc..51f7d79 100644
--- a/src/ruby/lib/grpc/generic/rpc_desc.rb
+++ b/src/ruby/lib/grpc/generic/rpc_desc.rb
@@ -148,4 +148,4 @@
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/lib/grpc/generic/rpc_server.rb b/src/ruby/lib/grpc/generic/rpc_server.rb
index 1ea9cfb..438aa9a 100644
--- a/src/ruby/lib/grpc/generic/rpc_server.rb
+++ b/src/ruby/lib/grpc/generic/rpc_server.rb
@@ -403,4 +403,4 @@
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/lib/grpc/generic/service.rb b/src/ruby/lib/grpc/generic/service.rb
index 77f0021..09ae6be 100644
--- a/src/ruby/lib/grpc/generic/service.rb
+++ b/src/ruby/lib/grpc/generic/service.rb
@@ -234,4 +234,4 @@
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/lib/grpc/logconfig.rb b/src/ruby/lib/grpc/logconfig.rb
index 24c0913..47e0c5b 100644
--- a/src/ruby/lib/grpc/logconfig.rb
+++ b/src/ruby/lib/grpc/logconfig.rb
@@ -37,4 +37,4 @@
 # TODO: provide command-line configuration for logging
 Logging.logger['Google::RPC'].level = :debug
 Logging.logger['Google::RPC::ActiveCall'].level = :info
-Logging.logger['Google::RPC::BidiCall'].level = :info
\ No newline at end of file
+Logging.logger['Google::RPC::BidiCall'].level = :info
diff --git a/src/ruby/lib/grpc/version.rb b/src/ruby/lib/grpc/version.rb
index de7ef5f..fb8356e 100644
--- a/src/ruby/lib/grpc/version.rb
+++ b/src/ruby/lib/grpc/version.rb
@@ -32,4 +32,4 @@
   module RPC
     VERSION = '0.0.1'
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/alloc_spec.rb b/src/ruby/spec/alloc_spec.rb
index 1bd0e09..88e7e2b 100644
--- a/src/ruby/spec/alloc_spec.rb
+++ b/src/ruby/spec/alloc_spec.rb
@@ -41,4 +41,4 @@
       expect { GRPC::Core::Event.new }.to raise_error(TypeError)
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/byte_buffer_spec.rb b/src/ruby/spec/byte_buffer_spec.rb
index 76e3fae..e1833eb 100644
--- a/src/ruby/spec/byte_buffer_spec.rb
+++ b/src/ruby/spec/byte_buffer_spec.rb
@@ -64,4 +64,4 @@
       expect(a_copy.dup.to_s).to eq('#dup')
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/call_spec.rb b/src/ruby/spec/call_spec.rb
index 2a47eac..2617564 100644
--- a/src/ruby/spec/call_spec.rb
+++ b/src/ruby/spec/call_spec.rb
@@ -160,4 +160,4 @@
   def deadline
     Time.now + 2  # in 2 seconds; arbitrary
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/channel_spec.rb b/src/ruby/spec/channel_spec.rb
index 8e51441..af73294 100644
--- a/src/ruby/spec/channel_spec.rb
+++ b/src/ruby/spec/channel_spec.rb
@@ -178,4 +178,4 @@
       expect(&blk).to_not raise_error
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/client_server_spec.rb b/src/ruby/spec/client_server_spec.rb
index 734b651..52c9857 100644
--- a/src/ruby/spec/client_server_spec.rb
+++ b/src/ruby/spec/client_server_spec.rb
@@ -369,4 +369,4 @@
   # TODO: uncomment after updating the to the new c api
   # it_behaves_like 'GRPC metadata delivery works OK' do
   # end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/completion_queue_spec.rb b/src/ruby/spec/completion_queue_spec.rb
index 89b4185..11d4e99 100644
--- a/src/ruby/spec/completion_queue_spec.rb
+++ b/src/ruby/spec/completion_queue_spec.rb
@@ -71,4 +71,4 @@
       expect { @cq.pluck(tag, a_time) }.not_to raise_error
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/credentials_spec.rb b/src/ruby/spec/credentials_spec.rb
index 62a58ff..001fecd 100644
--- a/src/ruby/spec/credentials_spec.rb
+++ b/src/ruby/spec/credentials_spec.rb
@@ -74,4 +74,4 @@
       expect { Credentials.default }.to raise_error RuntimeError
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/event_spec.rb b/src/ruby/spec/event_spec.rb
index e2b76a5..7d92fcd 100644
--- a/src/ruby/spec/event_spec.rb
+++ b/src/ruby/spec/event_spec.rb
@@ -50,4 +50,4 @@
     blk = proc { Hash[mod.constants.collect { |c| [c, mod.const_get(c)] }] }
     expect(blk.call).to eq(@known_types)
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/generic/active_call_spec.rb b/src/ruby/spec/generic/active_call_spec.rb
index 3e54c1f..84bb7b4 100644
--- a/src/ruby/spec/generic/active_call_spec.rb
+++ b/src/ruby/spec/generic/active_call_spec.rb
@@ -370,4 +370,4 @@
   def deadline
     Time.now + 1  # in 1 second; arbitrary
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/generic/client_stub_spec.rb b/src/ruby/spec/generic/client_stub_spec.rb
index 1609534..297a133 100644
--- a/src/ruby/spec/generic/client_stub_spec.rb
+++ b/src/ruby/spec/generic/client_stub_spec.rb
@@ -516,4 +516,4 @@
                          INFINITE_FUTURE,
                          finished_tag: finished_tag)
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/generic/rpc_desc_spec.rb b/src/ruby/spec/generic/rpc_desc_spec.rb
index 791395b..8bff2a9 100644
--- a/src/ruby/spec/generic/rpc_desc_spec.rb
+++ b/src/ruby/spec/generic/rpc_desc_spec.rb
@@ -354,4 +354,4 @@
   def other_error_alt(_call)
     fail(ArgumentError, 'other error')
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/generic/rpc_server_pool_spec.rb b/src/ruby/spec/generic/rpc_server_pool_spec.rb
index 6ffde32..8383dc1 100644
--- a/src/ruby/spec/generic/rpc_server_pool_spec.rb
+++ b/src/ruby/spec/generic/rpc_server_pool_spec.rb
@@ -136,4 +136,4 @@
       p.stop
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/generic/rpc_server_spec.rb b/src/ruby/spec/generic/rpc_server_spec.rb
index f8484d7..e8c7060 100644
--- a/src/ruby/spec/generic/rpc_server_spec.rb
+++ b/src/ruby/spec/generic/rpc_server_spec.rb
@@ -401,4 +401,4 @@
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/generic/service_spec.rb b/src/ruby/spec/generic/service_spec.rb
index 21e4bd7..e7f5a65 100644
--- a/src/ruby/spec/generic/service_spec.rb
+++ b/src/ruby/spec/generic/service_spec.rb
@@ -339,4 +339,4 @@
       expect(c.include?(GenericService)).to be(true)
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/metadata_spec.rb b/src/ruby/spec/metadata_spec.rb
index 3c47914..2472866 100644
--- a/src/ruby/spec/metadata_spec.rb
+++ b/src/ruby/spec/metadata_spec.rb
@@ -61,4 +61,4 @@
       expect(md.dup.value).to eq('a value')
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/server_credentials_spec.rb b/src/ruby/spec/server_credentials_spec.rb
index a641a65..55598bc 100644
--- a/src/ruby/spec/server_credentials_spec.rb
+++ b/src/ruby/spec/server_credentials_spec.rb
@@ -66,4 +66,4 @@
       expect(&blk).to_not raise_error
     end
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/server_spec.rb b/src/ruby/spec/server_spec.rb
index 123e645..5b81f19 100644
--- a/src/ruby/spec/server_spec.rb
+++ b/src/ruby/spec/server_spec.rb
@@ -209,4 +209,4 @@
     s.start
     s
   end
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/spec_helper.rb b/src/ruby/spec/spec_helper.rb
index 3838181..837d2fc 100644
--- a/src/ruby/spec/spec_helper.rb
+++ b/src/ruby/spec/spec_helper.rb
@@ -48,4 +48,4 @@
 RSpec.configure do |config|
   include RSpec::LoggingHelper
   config.capture_log_messages
-end
\ No newline at end of file
+end
diff --git a/src/ruby/spec/time_consts_spec.rb b/src/ruby/spec/time_consts_spec.rb
index d090e71..871e0e2 100644
--- a/src/ruby/spec/time_consts_spec.rb
+++ b/src/ruby/spec/time_consts_spec.rb
@@ -86,4 +86,4 @@
       expect(abs.to_f).to be_within(epsilon).of(want.to_f)
     end
   end
-end
\ No newline at end of file
+end