Sha256: 1ab5b257c1c5452bb4c3f88d5739ed59df4eaa5e0c2866a3638a3e7a987193bc

Contents?: true

Size: 818 Bytes

Versions: 72

Compression:

Stored size: 818 Bytes

Contents

class Status
  attr_accessor :id, :name

  def initialize(options = {})
    options = options.symbolize_keys
    @id = options[:id]
    @name = options[:name]
  end

  def symbol
    @name.to_s.downcase.intern
  end

  def self.[](value)
    @@statuses.find { |status| status.symbol == value.to_s.downcase.intern }
  end

  def self.find(id)
    @@statuses.find { |status| status.id.to_s == id.to_s }
  end

  def self.find_all
    @@statuses.dup
  end

  def self.selectable
    find_all - [self['Scheduled']]
  end

  def self.selectable_values
    selectable.map(&:name)
  end

  @@statuses = [
    Status.new(id: 1,   name: 'Draft'),
    Status.new(id: 50,  name: 'Reviewed'),
    Status.new(id: 90,  name: 'Scheduled'),
    Status.new(id: 100, name: 'Published'),
    Status.new(id: 101, name: 'Hidden'),
  ]
end

Version data entries

72 entries across 72 versions & 1 rubygems

Version Path
trusty-cms-7.0.3 app/models/status.rb
trusty-cms-6.3.1 app/models/status.rb
trusty-cms-7.0.2 app/models/status.rb
trusty-cms-7.0.1 app/models/status.rb
trusty-cms-7.0.0 app/models/status.rb
trusty-cms-6.3 app/models/status.rb
trusty-cms-6.2.1 app/models/status.rb
trusty-cms-6.2.2.1 app/models/status.rb
trusty-cms-6.2.0 app/models/status.rb
trusty-cms-6.1.2 app/models/status.rb
trusty-cms-6.1.1 app/models/status.rb
trusty-cms-6.0.5 app/models/status.rb
trusty-cms-6.0.4 app/models/status.rb
trusty-cms-6.0.3 app/models/status.rb
trusty-cms-6.0.2 app/models/status.rb
trusty-cms-6.0.1 app/models/status.rb
trusty-cms-5.6.1 app/models/status.rb
trusty-cms-6.0.0 app/models/status.rb
trusty-cms-5.6.0 app/models/status.rb
trusty-cms-5.5.9 app/models/status.rb