Module: SmsRu

Defined in:
lib/sms_ru.rb,
lib/sms_ru/config.rb,
lib/sms_ru/message.rb,
lib/sms_ru/railtie.rb,
lib/sms_ru/version.rb

Defined Under Namespace

Modules: Config Classes: Message, Railtie

Constant Summary collapse

VERSION =
'0.0.2'
@@queries =
SmsRu::Config

Class Method Summary collapse

Class Method Details

.method_missing(m, options = {}) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/sms_ru.rb', line 30

def self.method_missing(m, options = {})
  if @@stack_method
    query_options = queries.configuration.to_h[@@stack_method].to_h[m].to_h
    query_options.deep_merge!(api_id: api_id)
    query_options.deep_merge! options

    uri = URI.parse("http://sms.ru/#{@@stack_method.to_s}/#{m.to_s}")
    @@stack_method = nil

    response = Net::HTTP.post_form(uri, query_options)

    raise 'you have troubles with internet connection or API query is missing' unless response.kind_of? Net::HTTPSuccess
    raise "something going wrong: #{query_options}, #{response.body}" unless response.body.match(/^100/)
    response.body.split("\n")
  else
    @@stack_method = m
    return self
  end
end

.setup {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (SmsRu)

    the object that the method was called on



16
17
18
# File 'lib/sms_ru.rb', line 16

def self.setup
  yield self
end