Sha256: bc496f9058411a34147be5a416f2bd931756b282a32f83b4dc358e3953b5f9e5

Contents?: true

Size: 1.29 KB

Versions: 13

Compression:

Stored size: 1.29 KB

Contents

module SparkApi
  module Models
    class IdxLink < Base
      self.element_name="idxlinks"
      
      LINK_TYPES = ["QuickSearch", "SavedSearch", "MyListings", "Roster"]

      #TODO Work all below into common base class
      def self.find(*arguments)
        scope = arguments.slice!(0)
        options = arguments.slice!(0) || {}
        
        case scope
          when :all   then find_every(options)
          when :first then find_every(options).first
          when :last  then find_every(options).last
          when :one   then find_one(options)
          else             find_single(scope, options)
        end
      end
      
      def self.first(*arguments)
        find(:first, *arguments)
      end

      def self.last(*arguments)
        find(:last, *arguments)
      end

      def self.default(options = {})
        response = connection.get("/#{self.element_name}/default", options).first
        response.nil? ? nil : new(response)
      end

      private

      def self.find_every(options)
        raise NotImplementedError # TODO
      end

      def self.find_one(options)
        raise NotImplementedError # TODO
      end

      def self.find_single(scope, options)
        resp = SparkApi.client.get("/idxlinks/#{scope}", options)
        new(resp.first)
      end

    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
spark_api-1.3.24 lib/spark_api/models/idx_link.rb
spark_api-1.3.23 lib/spark_api/models/idx_link.rb
spark_api-1.3.21 lib/spark_api/models/idx_link.rb
spark_api-1.3.20 lib/spark_api/models/idx_link.rb
spark_api-1.3.19 lib/spark_api/models/idx_link.rb
spark_api-1.3.18 lib/spark_api/models/idx_link.rb
spark_api-1.3.17 lib/spark_api/models/idx_link.rb
spark_api-1.3.16 lib/spark_api/models/idx_link.rb
spark_api-1.3.15 lib/spark_api/models/idx_link.rb
spark_api-1.3.14 lib/spark_api/models/idx_link.rb
spark_api-1.3.13 lib/spark_api/models/idx_link.rb
spark_api-1.3.10 lib/spark_api/models/idx_link.rb
spark_api-1.3.9 lib/spark_api/models/idx_link.rb