Sha256: f31af6ebe83cfc12a65ae1f99d20c9bdf23dcd6212dbbfa8ca51c22b0e685961

Contents?: true

Size: 748 Bytes

Versions: 22

Compression:

Stored size: 748 Bytes

Contents

class CityGrid
  module Abstraction
    module Requestable
      def self.included base
        base.instance_eval do
          attr_reader :raw
        end
      end

      def api
        # set corresponding API here
      end

      def request opts = {}
        api.request opts
      end

      # Run request, preprocess, and update.
      # Write an update method if it doesn't already exist
      #
      # def update
      #
      # end
      
      def request_and_update opts = {}
        @raw = request opts
        update preprocess(@raw)
      end

      private

      # Preprocess request.
      # Overwrite this method to preprocess request before updating.
      def preprocess response
        response
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
citygrid_api-0.0.28 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.27 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.26 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.25 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.24 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.23 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.22 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.21 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.20 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.19 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.18 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.17 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.16 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.15 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.14 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.13 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.12 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.11 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.10 lib/citygrid/abstraction/requestable.rb
citygrid_api-0.0.9 lib/citygrid/abstraction/requestable.rb