Sha256: d72431097a8d260b880f9476377f97ab56288edd4999725340428f3070445b4d

Contents?: true

Size: 448 Bytes

Versions: 32

Compression:

Stored size: 448 Bytes

Contents

module Ddr
  module Embargoable
    extend ActiveSupport::Concern

    def embargo
      result = available.present? ? available : parent&.available
      normalize(result)
    end

    def embargoed?
      !embargo.nil? && embargo > DateTime.now
    end

    private

    def normalize(value)
      case value
      when ::Time
        value.to_datetime
      when ::Array
        value.first
      else
        value
      end
    end

  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
ddr-core-1.17.0 app/models/concerns/ddr/embargoable.rb
ddr-core-1.16.0 app/models/concerns/ddr/embargoable.rb
ddr-core-1.15.0 app/models/concerns/ddr/embargoable.rb
ddr-core-1.14.0 app/models/concerns/ddr/embargoable.rb
ddr-core-1.13.2 app/models/concerns/ddr/embargoable.rb
ddr-core-1.13.1 app/models/concerns/ddr/embargoable.rb
ddr-core-1.13.0 app/models/concerns/ddr/embargoable.rb
ddr-core-1.12.2 app/models/concerns/ddr/embargoable.rb
ddr-core-1.12.1 app/models/concerns/ddr/embargoable.rb
ddr-core-1.12.0 app/models/concerns/ddr/embargoable.rb
ddr-core-1.11.0 app/models/concerns/ddr/embargoable.rb
ddr-core-1.10.0 app/models/concerns/ddr/embargoable.rb
ddr-core-1.9.0 app/models/concerns/ddr/embargoable.rb
ddr-core-1.8.0 app/models/concerns/ddr/embargoable.rb
ddr-core-1.7.0 app/models/concerns/ddr/embargoable.rb
ddr-core-1.6.6 app/models/concerns/ddr/embargoable.rb
ddr-core-1.6.5 app/models/concerns/ddr/embargoable.rb
ddr-core-1.6.4 app/models/concerns/ddr/embargoable.rb
ddr-core-1.6.3 app/models/concerns/ddr/embargoable.rb
ddr-core-1.6.2 app/models/concerns/ddr/embargoable.rb