Initial ruby project structure
This commit is contained in:
		
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| Copyright (c) <year> <owner>  | ||||
| Copyright (c) 2022 Metaunix.net | ||||
|  | ||||
| Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								data/defaults.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								data/defaults.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| vulture: | ||||
|   run_interval: 1 | ||||
							
								
								
									
										20
									
								
								lib/config.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								lib/config.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| require 'yaml' | ||||
|  | ||||
| class Config | ||||
|  | ||||
|   def initialize(config_path) | ||||
|     @data = YAML::load_file(config_path) | ||||
|   end | ||||
|  | ||||
|   def get(key, depth = 0) | ||||
|     bits = key.split('.') | ||||
|     value = @data | ||||
|  | ||||
|     bits.each do |bit| | ||||
|       value = value[bit] | ||||
|     end | ||||
|  | ||||
|     return value | ||||
|   end | ||||
|  | ||||
| end | ||||
							
								
								
									
										21
									
								
								vulture.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								vulture.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| #!/usr/bin/env ruby | ||||
|  | ||||
| require 'logger' | ||||
|  | ||||
| require_relative 'lib/config.rb' | ||||
|  | ||||
| # Load configuration | ||||
| conf = Config.new(File.join(__dir__, 'data/defaults.yaml')) | ||||
|  | ||||
| # Initialize logging | ||||
| logger = Logger.new(STDOUT) | ||||
| logger.level = Logger::INFO | ||||
|  | ||||
| # Main program loop | ||||
| while true | ||||
|   # Let the user know something is going on | ||||
|   logger.info('Checking for new social media posts to make public...') | ||||
|  | ||||
|   # Wait for the specified wait period | ||||
|   sleep(conf.get('vulture.run_interval') * 60) | ||||
| end | ||||
		Reference in New Issue
	
	Block a user