resat 0.7.5 → 0.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/api_request.rb +26 -8
 - data/lib/resat.rb +1 -1
 - metadata +2 -2
 
    
        data/lib/api_request.rb
    CHANGED
    
    | 
         @@ -114,11 +114,7 @@ module Resat 
     | 
|
| 
       114 
114 
     | 
    
         | 
| 
       115 
115 
     | 
    
         
             
                # Does response include given header or body field? 
         
     | 
| 
       116 
116 
     | 
    
         
             
                def has_response_field?(field, target)
         
     | 
| 
       117 
     | 
    
         
            -
                   
     | 
| 
       118 
     | 
    
         
            -
                  return @response.key?(field) if target == 'header'
         
     | 
| 
       119 
     | 
    
         
            -
                  return true if field.nil? || field.empty?
         
     | 
| 
       120 
     | 
    
         
            -
                  doc = REXML::Document.new(@response.body) rescue nil
         
     | 
| 
       121 
     | 
    
         
            -
                  return doc && !doc.elements[field].nil?
         
     | 
| 
      
 117 
     | 
    
         
            +
                  !!get_response_field(field, target)
         
     | 
| 
       122 
118 
     | 
    
         
             
                end
         
     | 
| 
       123 
119 
     | 
    
         | 
| 
       124 
120 
     | 
    
         
             
                # Get value of response header or body field
         
     | 
| 
         @@ -126,13 +122,35 @@ module Resat 
     | 
|
| 
       126 
122 
     | 
    
         
             
                  return unless @response
         
     | 
| 
       127 
123 
     | 
    
         
             
                  return @response[field] if target == 'header'
         
     | 
| 
       128 
124 
     | 
    
         
             
                  return @response.body if field.nil? || field.empty?
         
     | 
| 
       129 
     | 
    
         
            -
                   
     | 
| 
       130 
     | 
    
         
            -
                   
     | 
| 
       131 
     | 
    
         
            -
                   
     | 
| 
      
 125 
     | 
    
         
            +
                  json = JSON.load(@response.body) rescue nil
         
     | 
| 
      
 126 
     | 
    
         
            +
                  field = nil
         
     | 
| 
      
 127 
     | 
    
         
            +
                  if json
         
     | 
| 
      
 128 
     | 
    
         
            +
                    field = json_field(json, field)
         
     | 
| 
      
 129 
     | 
    
         
            +
                  else
         
     | 
| 
      
 130 
     | 
    
         
            +
                    doc = REXML::Document.new(@response.body)
         
     | 
| 
      
 131 
     | 
    
         
            +
                    elem = doc.elements[field]
         
     | 
| 
      
 132 
     | 
    
         
            +
                    field = elem.get_text.to_s if elem
         
     | 
| 
      
 133 
     | 
    
         
            +
                  end
         
     | 
| 
      
 134 
     | 
    
         
            +
                  field
         
     | 
| 
       132 
135 
     | 
    
         
             
                end
         
     | 
| 
       133 
136 
     | 
    
         | 
| 
       134 
137 
     | 
    
         
             
                protected
         
     | 
| 
       135 
138 
     | 
    
         | 
| 
      
 139 
     | 
    
         
            +
                # Retrieve JSON body field
         
     | 
| 
      
 140 
     | 
    
         
            +
                def json_field(json, field)
         
     | 
| 
      
 141 
     | 
    
         
            +
                  return nil unless json
         
     | 
| 
      
 142 
     | 
    
         
            +
                  fields = field.split('/')
         
     | 
| 
      
 143 
     | 
    
         
            +
                  fields.each do |field|
         
     | 
| 
      
 144 
     | 
    
         
            +
                    if json.is_a?(Array)
         
     | 
| 
      
 145 
     | 
    
         
            +
                      json = json[field.to_i]
         
     | 
| 
      
 146 
     | 
    
         
            +
                    else
         
     | 
| 
      
 147 
     | 
    
         
            +
                      json = json[field]
         
     | 
| 
      
 148 
     | 
    
         
            +
                    end
         
     | 
| 
      
 149 
     | 
    
         
            +
                    return nil unless json
         
     | 
| 
      
 150 
     | 
    
         
            +
                  end
         
     | 
| 
      
 151 
     | 
    
         
            +
                  json
         
     | 
| 
      
 152 
     | 
    
         
            +
                end
         
     | 
| 
      
 153 
     | 
    
         
            +
             
     | 
| 
       136 
154 
     | 
    
         
             
                # Calculate number of seconds to wait before sending request
         
     | 
| 
       137 
155 
     | 
    
         
             
                def delay_seconds
         
     | 
| 
       138 
156 
     | 
    
         
             
                  seconds = nil
         
     | 
    
        data/lib/resat.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: resat
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.7. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.7.6
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Raphael Simon
         
     | 
| 
         @@ -9,7 +9,7 @@ autorequire: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            date: 2010- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2010-06-07 00:00:00 -07:00
         
     | 
| 
       13 
13 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     |