Sha256: 9373363dc886d88735b18270864a8122bcb0183c9db95f89ee1bade1bd358f40

Contents?: true

Size: 873 Bytes

Versions: 23

Compression:

Stored size: 873 Bytes

Contents

class MessageFunction
  attr_accessor :name, :description
  
  def initialize(name, description='')
    @name = name
    @description = description
  end
  
  def symbol
    @name.to_s.downcase.intern
  end
  
  def to_s
    @name
  end
  
  def humanize
    to_s.gsub('_', ' ')
  end
  
  def self.[](value)
    return if value.blank?
    @@functions.find { |function| function.symbol == value.to_s.downcase.intern }
  end
    
  def self.add(name, description='')
    @@functions.push(MessageFunction.new(name, description)) unless MessageFunction[name]
  end

  def self.find_all
    @@functions.dup
  end
  
  @@functions = [
    MessageFunction.new('welcome', 'Welcome'),
    MessageFunction.new('invitation', 'Invitation' ),
    MessageFunction.new('password_reset', 'Password instructions'),
    MessageFunction.new('activation', 'Activation instructions')
  ]

end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
radiant-reader-extension-3.0.0.rc3 app/models/message_function.rb
radiant-reader-extension-2.0.0.rc4 app/models/message_function.rb
radiant-reader-extension-1.3.13 app/models/message_function.rb
radiant-reader-extension-1.3.12 app/models/message_function.rb
radiant-reader-extension-1.3.11 app/models/message_function.rb
radiant-reader-extension-1.3.10 app/models/message_function.rb
radiant-reader-extension-1.3.9 app/models/message_function.rb
radiant-reader-extension-1.3.8 app/models/message_function.rb
radiant-reader-extension-1.3.7 app/models/message_function.rb
radiant-reader-extension-1.3.6 app/models/message_function.rb
radiant-reader-extension-1.3.4 app/models/message_function.rb
radiant-reader-extension-1.3.3 app/models/message_function.rb
radiant-reader-extension-1.3.1 app/models/message_function.rb
radiant-reader-extension-1.3.0 app/models/message_function.rb
radiant-reader-extension-1.2.4 app/models/message_function.rb
radiant-reader-extension-1.2.3 app/models/message_function.rb
radiant-reader-extension-1.2.2 app/models/message_function.rb
radiant-reader-extension-1.2.1 app/models/message_function.rb
radiant-reader-extension-1.2.0 app/models/message_function.rb
radiant-reader-extension-1.1.1 app/models/message_function.rb