Sha256: ce88c691f5b5af96adb096157ea6888aaf04f5de5731cbc608bf79fc10c9f697

Contents?: true

Size: 472 Bytes

Versions: 15

Compression:

Stored size: 472 Bytes

Contents

module PassiveRecord
  class Identifier < Struct.new(:value)
    def self.generate(klass)
      new(generate_id_value_for(klass))
    end

    def self.generate_id_value_for(klass)
      klass.count+1
    end

    def ==(other_id)
      self.value == other_id.value rescue self.value == other_id
    end

    def inspect
      value
    end
  end

  class SecureRandomIdentifier < Identifier
    def self.generate_id_value_for(*)
      SecureRandom.uuid
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
passive_record-0.3.9 lib/passive_record/core/identifier.rb
passive_record-0.3.8 lib/passive_record/core/identifier.rb
passive_record-0.3.7 lib/passive_record/core/identifier.rb
passive_record-0.3.6 lib/passive_record/core/identifier.rb
passive_record-0.3.5 lib/passive_record/core/identifier.rb
passive_record-0.3.4 lib/passive_record/core/identifier.rb
passive_record-0.3.3 lib/passive_record/core/identifier.rb
passive_record-0.3.2 lib/passive_record/core/identifier.rb
passive_record-0.3.1 lib/passive_record/core/identifier.rb
passive_record-0.3.0 lib/passive_record/core/identifier.rb
passive_record-0.2.3 lib/passive_record/core/identifier.rb
passive_record-0.2.2 lib/passive_record/core/identifier.rb
passive_record-0.2.1 lib/passive_record/core/identifier.rb
passive_record-0.2.0 lib/passive_record/core/identifier.rb
passive_record-0.1.8 lib/passive_record/core/identifier.rb