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