Sha256: add074217e028a9edd4423d6e51814bb47e1284f532f1e438914032f83af5987

Contents?: true

Size: 725 Bytes

Versions: 6

Compression:

Stored size: 725 Bytes

Contents

class Agilibox::SMS::ApplicationSMS
  attr_reader :options

  def initialize(options)
    @options = options
  end

  private

  def action_name
    options[:action_name]
  end

  def t(key, *args)
    if key.start_with?(".")
      path = self.class.to_s.underscore.tr("/", ".")
      key  = "#{path}.#{action_name}#{key}"
    end

    I18n.t(key, *args)
  end

  def sms(data)
    Agilibox::SMS::Message.new(data)
  end

  class << self
    private :new

    def method_missing(m, *args)
      if respond_to_missing?(m)
        new(action_name: m).public_send(m, *args)
      else
        super
      end
    end

    def respond_to_missing?(m, *)
      public_instance_methods.include?(m)
    end
  end # class << self
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
agilibox-1.9.5 app/sms/agilibox/sms/application_sms.rb
agilibox-1.9.4 app/sms/agilibox/sms/application_sms.rb
agilibox-1.9.3 app/sms/agilibox/sms/application_sms.rb
agilibox-1.9.1 app/sms/agilibox/sms/application_sms.rb
agilibox-1.9.0 app/sms/agilibox/sms/application_sms.rb
agilibox-1.8.0 app/sms/agilibox/sms/application_sms.rb