@@ -596,6 +596,15 @@ void t_rb_generator::generate_rb_struct(t_rb_ofstream& out,
596
596
out.indent () << " NAME = '" << tstruct->get_name () << " '.freeze" << endl;
597
597
out.indent () << " NAMESPACE = '" << tstruct->get_program ()->get_namespace (" *" ) << " '.freeze" << endl << endl;
598
598
599
+ out.indent () << " LEGACY_NAMES = [" << endl;
600
+ std::vector<t_name*> legacy_names = tstruct->get_legacy_names ();
601
+ out.indent_up ();
602
+ for (std::vector<t_name*>::iterator it = legacy_names.begin (); it != legacy_names.end (); ++it) {
603
+ out.indent () << " { namespace: '" << (*it)->get_namespace () << " ', name: '" << (*it)->get_name () << " ' }," << endl;
604
+ }
605
+ out.indent_down ();
606
+ out.indent () << " ].freeze" << endl << endl;
607
+
599
608
generate_field_constants (out, tstruct);
600
609
generate_field_defns (out, tstruct);
601
610
generate_rb_struct_required_validator (out, tstruct);
@@ -623,6 +632,15 @@ void t_rb_generator::generate_rb_union(t_rb_ofstream& out,
623
632
out.indent () << " NAME = '" << tstruct->get_name () << " '.freeze" << endl;
624
633
out.indent () << " NAMESPACE = '" << tstruct->get_program ()->get_namespace (" *" ) << " '.freeze" << endl << endl;
625
634
635
+ out.indent () << " LEGACY_NAMES = [" << endl;
636
+ std::vector<t_name*> legacy_names = tstruct->get_legacy_names ();
637
+ out.indent_up ();
638
+ for (std::vector<t_name*>::iterator it = legacy_names.begin (); it != legacy_names.end (); ++it) {
639
+ out.indent () << " { namespace: '" << (*it)->get_namespace () << " ', name: '" << (*it)->get_name () << " ' }," << endl;
640
+ }
641
+ out.indent_down ();
642
+ out.indent () << " ].freeze" << endl << endl;
643
+
626
644
generate_field_constructors (out, tstruct);
627
645
628
646
generate_field_constants (out, tstruct);
@@ -825,6 +843,15 @@ void t_rb_generator::generate_service(t_service* tservice) {
825
843
f_service_.indent () << " SERVICE = '" << tservice->get_name () << " '.freeze" << endl;
826
844
f_service_.indent () << " NAMESPACE = '" << tservice->get_program ()->get_namespace (" *" ) << " '.freeze" << endl << endl;
827
845
846
+ f_service_.indent () << " LEGACY_NAMES = [" << endl;
847
+ std::vector<t_name*> legacy_names = tservice->get_legacy_names ();
848
+ f_service_.indent_up ();
849
+ for (std::vector<t_name*>::iterator it = legacy_names.begin (); it != legacy_names.end (); ++it) {
850
+ f_service_.indent () << " { namespace: '" << (*it)->get_namespace () << " ', service: '" << (*it)->get_name () << " ' }," << endl;
851
+ }
852
+ f_service_.indent_down ();
853
+ f_service_.indent () << " ].freeze" << endl << endl;
854
+
828
855
// Generate the three main parts of the service (well, two for now in PHP)
829
856
generate_service_helpers (tservice);
830
857
generate_service_client (tservice);
@@ -904,7 +931,7 @@ void t_rb_generator::generate_service_client(t_service* tservice) {
904
931
905
932
f_service_.indent () << " def self.from_provider(provider)" << endl;
906
933
f_service_.indent_up ();
907
- f_service_.indent () << " Client.new(provider.build(NAMESPACE, SERVICE ))" << endl;
934
+ f_service_.indent () << " Client.new(::Thrift.build_client_from_provider( " << full_type_name (tservice) << " , provider ))" << endl;
908
935
f_service_.indent_down ();
909
936
f_service_.indent () << " end" << endl << endl;
910
937
@@ -1015,7 +1042,7 @@ void t_rb_generator::generate_service_server(t_service* tservice) {
1015
1042
1016
1043
f_service_.indent () << " def self.from_provider(handler, provider)" << endl;
1017
1044
f_service_.indent_up ();
1018
- f_service_.indent () << " provider.build(NAMESPACE, SERVICE, Processor , handler)" << endl;
1045
+ f_service_.indent () << " ::Thrift.build_processor_from_provider( " << full_type_name (tservice) << " , provider , handler)" << endl;
1019
1046
f_service_.indent_down ();
1020
1047
f_service_.indent () << " end" << endl << endl;
1021
1048
0 commit comments