Sha256: 5b4e8105951b358e79ebbe0f7d517c7669d417190c684437d0219e7997e1c66e

Contents?: true

Size: 1021 Bytes

Versions: 35

Compression:

Stored size: 1021 Bytes

Contents

class MessageFunction
  attr_accessor :name
  
  def initialize(name, description='')
    @name = name
  end
  
  def symbol
    @name.to_s.downcase.intern
  end
  
  def to_s
    @name
  end
  
  def description
    I18n.t("message_functions.#{@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('group_welcome', 'Group welcome'),
    MessageFunction.new('group_invitation', 'Group invitation' ),
    MessageFunction.new('password_reset', 'Password instructions'),
    MessageFunction.new('activation', 'Activation instructions')
  ]

end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
radiant-reader-extension-3.0.38 app/models/message_function.rb
radiant-reader-extension-3.0.37 app/models/message_function.rb
radiant-reader-extension-3.0.36 app/models/message_function.rb
radiant-reader-extension-3.0.35 app/models/message_function.rb
radiant-reader-extension-3.0.33 app/models/message_function.rb
radiant-reader-extension-3.0.32 app/models/message_function.rb
radiant-reader-extension-3.0.31 app/models/message_function.rb
radiant-reader-extension-3.0.30 app/models/message_function.rb
radiant-reader-extension-3.0.29 app/models/message_function.rb
radiant-reader-extension-3.0.28 app/models/message_function.rb
radiant-reader-extension-3.0.27 app/models/message_function.rb
radiant-reader-extension-3.0.26 app/models/message_function.rb
radiant-reader-extension-3.0.25 app/models/message_function.rb
radiant-reader-extension-3.0.24 app/models/message_function.rb
radiant-reader-extension-3.0.23 app/models/message_function.rb
radiant-reader-extension-3.0.20 app/models/message_function.rb
radiant-reader-extension-3.0.19 app/models/message_function.rb
radiant-reader-extension-3.0.18 app/models/message_function.rb
radiant-reader-extension-3.0.17 app/models/message_function.rb
radiant-reader-extension-3.0.16 app/models/message_function.rb