Class: Eir::Request
- Inherits:
-
Object
- Object
- Eir::Request
- Defined in:
- lib/eir/request.rb
Instance Attribute Summary collapse
-
#server_url ⇒ Object
readonly
Returns the value of attribute server_url.
-
#uris ⇒ Object
Returns the value of attribute uris.
Instance Method Summary collapse
- #find_yaml ⇒ Object
- #get_http_response_code(uri) ⇒ Object
- #go ⇒ Object
-
#initialize ⇒ Request
constructor
A new instance of Request.
- #validate_yaml(path_to_yaml) ⇒ Object
Constructor Details
#initialize ⇒ Request
Returns a new instance of Request.
6 7 8 9 10 |
# File 'lib/eir/request.rb', line 6 def initialize path_to_yaml = find_yaml @uris = validate_yaml path_to_yaml @server_url = 'http://localhost:8700' end |
Instance Attribute Details
#server_url ⇒ Object (readonly)
Returns the value of attribute server_url.
3 4 5 |
# File 'lib/eir/request.rb', line 3 def server_url @server_url end |
#uris ⇒ Object
Returns the value of attribute uris.
4 5 6 |
# File 'lib/eir/request.rb', line 4 def uris @uris end |
Instance Method Details
#find_yaml ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/eir/request.rb', line 12 def find_yaml if File.exist?("#{Dir.pwd}/uris.yaml") uris_yaml_file = "#{Dir.pwd}/uris.yaml" puts "Found local YAML file: #{uris_yaml_file}" else uris_yaml_file = "#{File.dirname(__FILE__)}/default_uris.yaml" puts "No local YAML file found. Using default YAML file: #{uris_yaml_file}" end uris_yaml_file end |
#get_http_response_code(uri) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/eir/request.rb', line 31 def get_http_response_code(uri) Timeout.timeout(5) do request(uri).code end rescue false end |
#go ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/eir/request.rb', line 39 def go responses = {} @uris.each do |uri_name_hash| uri_name_hash.each do |uri, name| responses.merge!(name => get_http_response_code(uri)) end end responses end |
#validate_yaml(path_to_yaml) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/eir/request.rb', line 23 def validate_yaml(path_to_yaml) invalid_yaml_error = 'YAML structure incorrect. Please refer to the README.' yaml = YAML.load_file path_to_yaml fail(invalid_yaml_error) unless yaml.is_a? Array yaml.each { |hash| fail(invalid_yaml_error) unless hash.is_a? Hash } yaml end |