| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  | require "wisper" | 
					
						
							| 
									
										
										
										
											2014-05-08 15:34:26 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | $:.push File.dirname(__FILE__) | 
					
						
							|  |  |  | require "db/exceptions/invalid_record" | 
					
						
							|  |  |  | require "db/exceptions/record_not_found" | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  | require "exceptions/dependency_error" | 
					
						
							| 
									
										
										
										
											2014-11-26 16:59:46 +03:00
										 |  |  | require "db/validators/all" | 
					
						
							| 
									
										
										
										
											2014-11-26 18:46:04 +03:00
										 |  |  | require "db/mongo/mongo_connector" | 
					
						
							| 
									
										
										
										
											2014-05-08 15:34:26 +04:00
										 |  |  | require "providers/provider_factory" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  | require "loader" | 
					
						
							| 
									
										
										
										
											2015-02-06 17:21:13 +03:00
										 |  |  | require "devops_db" | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-26 15:02:58 +03:00
										 |  |  | require "sidekiq/web" | 
					
						
							| 
									
										
										
										
											2015-02-12 13:30:49 +03:00
										 |  |  | require "fog" | 
					
						
							| 
									
										
										
										
											2014-12-12 17:00:06 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-26 15:02:58 +03:00
										 |  |  | require_relative "routes/v2.0" | 
					
						
							|  |  |  | require_relative "client" | 
					
						
							|  |  |  | require_relative "report" | 
					
						
							|  |  |  | require_relative "version" | 
					
						
							| 
									
										
										
										
											2014-05-08 15:34:26 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-18 13:15:25 +03:00
										 |  |  | require_relative "sinatra/methods_with_headers" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-26 15:02:58 +03:00
										 |  |  | class DevopsService | 
					
						
							| 
									
										
										
										
											2014-12-15 14:26:54 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  |   include Wisper::Publisher | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-26 15:02:58 +03:00
										 |  |  |   class << self | 
					
						
							| 
									
										
										
										
											2014-12-15 14:26:54 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-06 17:21:13 +03:00
										 |  |  |     def routes | 
					
						
							|  |  |  |       config = DevopsConfig.config | 
					
						
							|  |  |  |       Devops::Routes.preffix = config[:url_prefix] | 
					
						
							| 
									
										
										
										
											2015-01-26 15:02:58 +03:00
										 |  |  |       Devops::Routes.route "/version", DevopsVersion | 
					
						
							|  |  |  |       Devops::Routes.route "/v2.0", Devops::Version2_0::Application | 
					
						
							|  |  |  |       Devops::Routes.route "/client", Client.new(config) | 
					
						
							|  |  |  |       Devops::Routes.route "/v2.0/report", ReportRoutes.new(config, "v2") | 
					
						
							|  |  |  |       Devops::Routes.route "/sidekiq", Sidekiq::Web | 
					
						
							| 
									
										
										
										
											2014-05-08 15:34:26 +04:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-03 12:46:35 +03:00
										 |  |  |     # steps: | 
					
						
							|  |  |  |     # 1. init db | 
					
						
							|  |  |  |     # 2. load application handlers | 
					
						
							|  |  |  |     # 3. load plugins | 
					
						
							|  |  |  |     # 4. load application routes | 
					
						
							|  |  |  |     # 5. add plugins routes | 
					
						
							|  |  |  |     # 6. init all routes classes | 
					
						
							|  |  |  |     # 7. register routes for all classes | 
					
						
							| 
									
										
										
										
											2015-02-06 17:21:13 +03:00
										 |  |  |     def init | 
					
						
							|  |  |  |       # init database | 
					
						
							|  |  |  |       Devops::Db.init | 
					
						
							|  |  |  |       # init plugins | 
					
						
							|  |  |  |       Devops::Loader.init_plugins | 
					
						
							|  |  |  |       # init routes classes | 
					
						
							|  |  |  |       Devops::Version2_0::Application.init | 
					
						
							|  |  |  |       Devops::Version2_0::Application.register_routes | 
					
						
							|  |  |  |       # init routes paths | 
					
						
							|  |  |  |       routes | 
					
						
							|  |  |  |       # add plugins routes | 
					
						
							|  |  |  |       Devops::Loader.routes | 
					
						
							| 
									
										
										
										
											2014-05-08 15:34:26 +04:00
										 |  |  |     end | 
					
						
							| 
									
										
										
										
											2015-02-12 13:30:49 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def debug? | 
					
						
							|  |  |  |       DevopsConfig.config[:debug] | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2014-05-08 15:34:26 +04:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  |   def self.create_method name, &block | 
					
						
							|  |  |  |     send(:generate_method, name, &block) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-08 15:34:26 +04:00
										 |  |  | end | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | require "wisper_fix" |