Sha256: 7cbd126f8fd91e096dc6dd1fcc1a78226ccea06d32e392e2275e05c3e0efd2b2

Contents?: true

Size: 656 Bytes

Versions: 73

Compression:

Stored size: 656 Bytes

Contents

module SparkApi
  class PrimaryArray < Array
    
    def primary
      find_primary
    end

    private 
    
    # This is a very simplistic but reliable implementation.
    def find_primary
      self.each do |arg|
        if arg.primary?
          return arg
        end
      end
      nil
    end
  end
  
  #=== Primary: interface to implement for elements that are added to a "PrimaryArray" collection
  module Primary
    # Return true if the element is the primary resource in a collection.
    # Default implementation looks for a "Primary" attribute
    def primary?
      @attributes.key?("Primary") && self.Primary == true
    end
  end
end

Version data entries

73 entries across 73 versions & 1 rubygems

Version Path
spark_api-1.3.6 lib/spark_api/primary_array.rb
spark_api-1.3.3 lib/spark_api/primary_array.rb
spark_api-1.3.1 lib/spark_api/primary_array.rb
spark_api-1.3.0 lib/spark_api/primary_array.rb
spark_api-1.2.1 lib/spark_api/primary_array.rb
spark_api-1.2.0 lib/spark_api/primary_array.rb
spark_api-1.1.2 lib/spark_api/primary_array.rb
spark_api-1.1.1 lib/spark_api/primary_array.rb
spark_api-1.1.0 lib/spark_api/primary_array.rb
spark_api-1.0.4 lib/spark_api/primary_array.rb
spark_api-1.0.2 lib/spark_api/primary_array.rb
spark_api-1.0.1 lib/spark_api/primary_array.rb
spark_api-1.0.0 lib/spark_api/primary_array.rb