Sha256: ea9ba84c6699c45920d99482926b166408c3cec1a656d5f7982ae5304258e46e

Contents?: true

Size: 802 Bytes

Versions: 40

Compression:

Stored size: 802 Bytes

Contents

module SparkApi
  module Models
    module Defaultable

      DEFAULT_ID = "default"

      extend Finders

      def self.included(base)

        class << base
          alias original_find find
        end

        base.extend(ClassMethods)

      end
  
      module ClassMethods

        def default(options = {})
          response = connection.get("/#{element_name}/default", options).first
          unless response.nil?
            response["Id"] = DEFAULT_ID if response["Id"].nil?
            new(response)
          end
        end

        def find(*arguments)
          if arguments.first == DEFAULT_ID
            options = arguments.slice!(1) || {}
            default(options)
          else
            original_find(*arguments)
          end
        end

      end

    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
spark_api-2.0.0 lib/spark_api/models/defaultable.rb
spark_api-1.6.3 lib/spark_api/models/defaultable.rb
spark_api-1.6.2 lib/spark_api/models/defaultable.rb
spark_api-1.6.1 lib/spark_api/models/defaultable.rb
spark_api-1.5.7 lib/spark_api/models/defaultable.rb
spark_api-1.6.0 lib/spark_api/models/defaultable.rb
spark_api-1.5.6 lib/spark_api/models/defaultable.rb
spark_api-1.5.5 lib/spark_api/models/defaultable.rb
spark_api-1.5.4 lib/spark_api/models/defaultable.rb
spark_api-1.5.3 lib/spark_api/models/defaultable.rb
spark_api-1.5.2 lib/spark_api/models/defaultable.rb
spark_api-1.5.1 lib/spark_api/models/defaultable.rb
spark_api-1.5.0 lib/spark_api/models/defaultable.rb
spark_api-1.4.34 lib/spark_api/models/defaultable.rb
spark_api-1.4.32 lib/spark_api/models/defaultable.rb
spark_api-1.4.31 lib/spark_api/models/defaultable.rb
spark_api-1.4.29 lib/spark_api/models/defaultable.rb
spark_api-1.4.28 lib/spark_api/models/defaultable.rb
spark_api-1.4.27 lib/spark_api/models/defaultable.rb
spark_api-1.4.26 lib/spark_api/models/defaultable.rb