Sha256: 01c3608726c9021a95f08d69cf694e57be497d38fa8bef6087a6ded20aa7d1ad

Contents?: true

Size: 757 Bytes

Versions: 10

Compression:

Stored size: 757 Bytes

Contents

module Loquor
  class HttpAction::Get < HttpAction
    def self.get(url, deps)
      new(url, deps).get
    end

    def initialize(url, deps)
      super
    end

    def get
      @config.logger.info "GET: #{full_url}"
      response = @should_cache ? JSON.parse(execute_against_cache) : JSON.parse(execute)
      @config.logger.info "Response: #{response}"
      response
    end
      
    def execute_against_cache
      cache = @config.cache
      if cache
        val = cache.get(request.url)
        unless val
          val = execute
          cache.set(request.url, val)
        end
        val
      else
        execute
      end 
    end

    private
    def request
      RestClient::Request.new(url: full_url, method: :get)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
loquor-1.2.1 lib/loquor/http_actions/get.rb
loquor-1.2.0 lib/loquor/http_actions/get.rb
loquor-1.1.1 lib/loquor/http_actions/get.rb
loquor-1.1.0 lib/loquor/http_actions/get.rb
loquor-1.0.0 lib/loquor/http_actions/get.rb
loquor-0.9.0 lib/loquor/http_actions/get.rb
loquor-0.8.0 lib/loquor/http_actions/get.rb
loquor-0.7.0 lib/loquor/http_actions/get.rb
loquor-0.6.0 lib/loquor/http_actions/get.rb
loquor-0.5.4 lib/loquor/http_actions/get.rb