kavenegar-ruby 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/generators/kavenegar-ruby/install_generator.rb +18 -0
- data/lib/generators/templates/kavenegar-ruby_initializer.rb +18 -0
- data/lib/kavenegar-ruby.rb +39 -0
- data/lib/kavenegar-ruby/core.rb +11 -0
- data/lib/kavenegar-ruby/helper.rb +3 -0
- data/lib/kavenegar-ruby/helpers/convertor.rb +39 -0
- data/lib/kavenegar-ruby/helpers/validator.rb +31 -0
- data/lib/kavenegar-ruby/meaning.rb +42 -0
- data/lib/kavenegar-ruby/request.rb +5 -0
- data/lib/kavenegar-ruby/requests/RequestBase.rb +11 -0
- data/lib/kavenegar-ruby/requests/cancel.rb +40 -0
- data/lib/kavenegar-ruby/requests/config.rb +41 -0
- data/lib/kavenegar-ruby/requests/countinbox.rb +34 -0
- data/lib/kavenegar-ruby/requests/countpostalcode.rb +34 -0
- data/lib/kavenegar-ruby/requests/deliver.rb +32 -0
- data/lib/kavenegar-ruby/requests/info.rb +19 -0
- data/lib/kavenegar-ruby/requests/latestoutbox.rb +28 -0
- data/lib/kavenegar-ruby/requests/lookup.rb +45 -0
- data/lib/kavenegar-ruby/requests/receive.rb +29 -0
- data/lib/kavenegar-ruby/requests/selectoutbox.rb +32 -0
- data/lib/kavenegar-ruby/requests/send.rb +54 -0
- data/lib/kavenegar-ruby/requests/tts.rb +45 -0
- data/lib/kavenegar-ruby/respond.rb +3 -0
- data/lib/kavenegar-ruby/responds/cancel.rb +32 -0
- data/lib/kavenegar-ruby/responds/config.rb +34 -0
- data/lib/kavenegar-ruby/responds/countinbox.rb +34 -0
- data/lib/kavenegar-ruby/responds/countpostalcode.rb +34 -0
- data/lib/kavenegar-ruby/responds/deliver.rb +38 -0
- data/lib/kavenegar-ruby/responds/info.rb +32 -0
- data/lib/kavenegar-ruby/responds/latestoutbox.rb +38 -0
- data/lib/kavenegar-ruby/responds/lookup.rb +38 -0
- data/lib/kavenegar-ruby/responds/receive.rb +38 -0
- data/lib/kavenegar-ruby/responds/selectoutbox.rb +38 -0
- data/lib/kavenegar-ruby/responds/send.rb +38 -0
- data/lib/kavenegar-ruby/responds/tts.rb +38 -0
- data/lib/kavenegar-ruby/version.rb +3 -0
- metadata +208 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class LatestOutBox < KaveRestApi::RequestBase
|
3
|
+
include Validatable
|
4
|
+
attr_accessor :pagesize,:sender
|
5
|
+
attr_reader :response
|
6
|
+
validates_format_of :sender, :with => /^\d*$/, :if => Proc.new { !sender.nil? }
|
7
|
+
validates_format_of :pagesize, :with => /^\d*$/, :if => Proc.new { !unixdate.nil? }
|
8
|
+
validates_length_of :pagesize, :within => 1..4
|
9
|
+
def initialize(args = {})
|
10
|
+
super
|
11
|
+
@ACTION_NAME = [:latestoutbox,@FORMAT].join('.').freeze
|
12
|
+
@pagesize = args.fetch(:pagesize,3000).ctsd
|
13
|
+
@sender = args.fetch(:sender,nil)
|
14
|
+
@response = ResponseLatestOutBox.new
|
15
|
+
end
|
16
|
+
|
17
|
+
def call
|
18
|
+
connection = Faraday.new(url: "#{@API_URL}/sms/") do |faraday|
|
19
|
+
faraday.adapter Faraday.default_adapter
|
20
|
+
faraday.response @FORMAT.to_sym
|
21
|
+
end
|
22
|
+
response = connection.get(@ACTION_NAME, sender: @sender,pagesize: @pagesize)
|
23
|
+
@response.validate(response.body)
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class Lookup < KaveRestApi::RequestBase
|
3
|
+
include Validatable
|
4
|
+
attr_accessor :receptor, :message,:unixdate,:type,:date,:localid,:sender
|
5
|
+
attr_reader :response,:message_size
|
6
|
+
validates_presence_of :token
|
7
|
+
validates_presence_of :receptor
|
8
|
+
validates_length_of :message, :within => 1..140
|
9
|
+
validates_format_of :sender, :with => /^\d*$/, :if => Proc.new { !sender.nil? }
|
10
|
+
validates_format_of :unixdate, :with => /^\d*$/, :if => Proc.new { !unixdate.nil? }
|
11
|
+
|
12
|
+
def initialize(args = {})
|
13
|
+
super
|
14
|
+
@ACTION_NAME = [:lookup,@FORMAT].join('.').freeze
|
15
|
+
@receptor = args.fetch(:receptor)
|
16
|
+
@receptor = @receptor.ctsd
|
17
|
+
@valid_receptor = @receptor.is_phone?
|
18
|
+
@token = args.fetch(:token)
|
19
|
+
@token2 = args.fetch(:token2,nil)
|
20
|
+
@token3 = args.fetch(:token3,nil)
|
21
|
+
@template = args.fetch(:template)
|
22
|
+
@type = args.fetch(:type,'sms')
|
23
|
+
@response = ResponseLookup.new
|
24
|
+
end
|
25
|
+
|
26
|
+
def valid_message?
|
27
|
+
@valid_message ||= true
|
28
|
+
end
|
29
|
+
|
30
|
+
def valid_receptor?
|
31
|
+
@valid_receptor
|
32
|
+
end
|
33
|
+
|
34
|
+
def call
|
35
|
+
connection = Faraday.new(url: "#{@API_URL}/verify/") do |faraday|
|
36
|
+
faraday.adapter Faraday.default_adapter
|
37
|
+
faraday.response @FORMAT.to_sym
|
38
|
+
end
|
39
|
+
response = connection.get(@ACTION_NAME, receptor: @receptor , token: @token , template: @template , type: @type , token2: @token2 , token3: @token3)
|
40
|
+
@response.validate(response.body)
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class Receive < KaveRestApi::RequestBase
|
3
|
+
attr_accessor :linenumber, :isread
|
4
|
+
attr_reader :response
|
5
|
+
include Validatable
|
6
|
+
validates_presence_of :linenumber
|
7
|
+
validates_presence_of :isread
|
8
|
+
validates_format_of :isread, :with => /^[01]$/, :if => Proc.new { !isread.nil? }
|
9
|
+
|
10
|
+
def initialize(args = {})
|
11
|
+
super
|
12
|
+
@ACTION_NAME = [:receive,@FORMAT].join('.').freeze
|
13
|
+
@linenumber = args.fetch(:linenumber,@DEFAULT_SENDER)
|
14
|
+
@isread = args.fetch(:isread,0)
|
15
|
+
@response = ResponseReceive.new
|
16
|
+
end
|
17
|
+
|
18
|
+
def call
|
19
|
+
connection = Faraday.new(url: "#{@API_URL}/sms/") do |faraday|
|
20
|
+
faraday.adapter Faraday.default_adapter
|
21
|
+
faraday.response @FORMAT.to_sym
|
22
|
+
end
|
23
|
+
response = connection.get(@ACTION_NAME,linenumber: @linenumber,isread: @isread)
|
24
|
+
@response.validate(response.body)
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class SelectOutBox < KaveRestApi::RequestBase
|
3
|
+
|
4
|
+
include Validatable
|
5
|
+
attr_accessor :startdate,:sender,:enddate
|
6
|
+
attr_reader :response
|
7
|
+
validates_presence_of :startdate
|
8
|
+
validates_format_of :sender, :with => /^\d*$/, :if => Proc.new { !sender.nil? }
|
9
|
+
validates_format_of :startdate, :with => /^\d*$/, :if => Proc.new { !unixdate.nil? }
|
10
|
+
validates_format_of :enddate, :with => /^\d*$/, :if => Proc.new { !unixdate.nil? }
|
11
|
+
|
12
|
+
def initialize(args = {})
|
13
|
+
super
|
14
|
+
@ACTION_NAME = [:selectoutbox,@FORMAT].join('.').freeze
|
15
|
+
@startdate = args.fetch(:startdate)
|
16
|
+
@enddate = args.fetch(:enddate,nil)
|
17
|
+
@sender = args.fetch(:sender,nil)
|
18
|
+
@response = ResponseSelectOutBox.new
|
19
|
+
end
|
20
|
+
|
21
|
+
def call
|
22
|
+
connection = Faraday.new(url: "#{API_URL}/sms/") do |faraday|
|
23
|
+
faraday.adapter Faraday.default_adapter
|
24
|
+
faraday.response FORMAT.to_sym
|
25
|
+
end
|
26
|
+
response = connection.get(ACTION_NAME, sender: @sender,startdate: @startdate,enddate: @enddate)
|
27
|
+
@response.validate(response.body)
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class SendSimple < KaveRestApi::RequestBase
|
3
|
+
include Validatable
|
4
|
+
attr_accessor :receptor, :message,:unixdate,:type,:date,:localid,:sender
|
5
|
+
attr_reader :response,:message_size,:config
|
6
|
+
validates_presence_of :message
|
7
|
+
validates_presence_of :receptor
|
8
|
+
validates_length_of :message, :within => 1..140
|
9
|
+
validates_format_of :sender, :with => /^\d*$/, :if => Proc.new { !sender.nil? }
|
10
|
+
validates_format_of :unixdate, :with => /^\d*$/, :if => Proc.new { !unixdate.nil? }
|
11
|
+
|
12
|
+
def initialize(args = {})
|
13
|
+
super
|
14
|
+
@ACTION_NAME = [:send,@FORMAT].join('.').freeze
|
15
|
+
@receptor = args.fetch(:receptor)
|
16
|
+
|
17
|
+
if @receptor.kind_of?(Array)
|
18
|
+
@valid_receptor= false if @receptor.length > 200
|
19
|
+
@receptor = @receptor.join(',')
|
20
|
+
end
|
21
|
+
@receptor = @receptor.ctsd
|
22
|
+
@date = args.fetch(:date,nil)
|
23
|
+
@message = args.fetch(:message)
|
24
|
+
@message = @message.ctsd if args.fetch(:standard_digit,false)
|
25
|
+
@unixdate = args.fetch(:unixdate,nil)
|
26
|
+
@type = args.fetch(:type,nil)
|
27
|
+
@localid = args.fetch(:localid,nil)
|
28
|
+
@sender = args.fetch(:sender,@DEFAULT_SENDER)
|
29
|
+
@response = ResponseSendSimple.new
|
30
|
+
@message_size=@message.multibyte? ? 268:612
|
31
|
+
@valid_message= (@message.length > @message_size ) ? false:true
|
32
|
+
end
|
33
|
+
|
34
|
+
def valid_message?
|
35
|
+
@valid_message
|
36
|
+
end
|
37
|
+
|
38
|
+
def valid_receptor?
|
39
|
+
@valid_receptor
|
40
|
+
end
|
41
|
+
|
42
|
+
def call
|
43
|
+
connection = Faraday.new(url: "#{@API_URL}/sms/") do |faraday|
|
44
|
+
faraday.adapter Faraday.default_adapter
|
45
|
+
faraday.response @FORMAT.to_sym
|
46
|
+
end
|
47
|
+
|
48
|
+
response = connection.get(@ACTION_NAME, receptor: @receptor , message: @message,localid: @localid,sender: @sender,date: @date,type: @type)
|
49
|
+
@response.validate(response.body)
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class Tts < KaveRestApi::RequestBase
|
3
|
+
include Validatable
|
4
|
+
attr_accessor :receptor, :message,:date,:localid,:repeat
|
5
|
+
attr_reader :response,:message,:config,:status,:statustext,:sender,:receptor,:date,:cost
|
6
|
+
validates_presence_of :message
|
7
|
+
validates_presence_of :receptor
|
8
|
+
validates_length_of :message, :within => 1..500
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
def initialize(args = {})
|
13
|
+
super
|
14
|
+
@ACTION_NAME = [:maketts,@FORMAT].join('.').freeze
|
15
|
+
@receptor = args.fetch(:receptor)
|
16
|
+
if @receptor.kind_of?(Array)
|
17
|
+
@valid_receptor= false if @receptor.length > 200
|
18
|
+
@receptor = @receptor.join(',')
|
19
|
+
end
|
20
|
+
@receptor = @receptor.ctsd
|
21
|
+
@date = args.fetch(:date,nil)
|
22
|
+
@message = args.fetch(:message)
|
23
|
+
@message = @message.ctsd if args.fetch(:standard_digit,false)
|
24
|
+
@repeat = args.fetch(:repeat,nil)
|
25
|
+
@localid = args.fetch(:localid,nil)
|
26
|
+
@response = ResponseSendSimple.new
|
27
|
+
end
|
28
|
+
|
29
|
+
def valid_receptor?
|
30
|
+
@valid_receptor
|
31
|
+
end
|
32
|
+
|
33
|
+
def call
|
34
|
+
connection = Faraday.new(url: "#{@API_URL}/call/") do |faraday|
|
35
|
+
faraday.adapter Faraday.default_adapter
|
36
|
+
faraday.response @FORMAT.to_sym
|
37
|
+
end
|
38
|
+
|
39
|
+
response = connection.get(@ACTION_NAME, receptor: @receptor , message: @message,localid: @localid,date: @date,repeat: @repeat)
|
40
|
+
@response.validate(response.body)
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class ResponseCancel
|
3
|
+
attr_reader :response, :status,:statusmessage
|
4
|
+
|
5
|
+
def validate(response = nil)
|
6
|
+
@response = response
|
7
|
+
perform_validation
|
8
|
+
return self
|
9
|
+
end
|
10
|
+
|
11
|
+
def valid?
|
12
|
+
@valid
|
13
|
+
end
|
14
|
+
|
15
|
+
def entries
|
16
|
+
return @response['entries']
|
17
|
+
end
|
18
|
+
|
19
|
+
def full_message_errors
|
20
|
+
return KaveRestApi::ERRORS[@response['return']['status'].to_s]
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def perform_validation
|
26
|
+
raise ArgumentError, 'not a valid response' if @response.nil?
|
27
|
+
@valid = (@response['return']['status'] == 200)
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class ResponseConfig
|
3
|
+
attr_reader :response, :status,:statusmessage
|
4
|
+
attr_accessor :apilogs,:dailyreport,:debugmode,:defaultsender,:mincreditalarm,:resendfailed
|
5
|
+
|
6
|
+
def validate(response = nil)
|
7
|
+
@response = response
|
8
|
+
perform_validation
|
9
|
+
return self
|
10
|
+
end
|
11
|
+
|
12
|
+
def valid?
|
13
|
+
@valid
|
14
|
+
end
|
15
|
+
|
16
|
+
def entries
|
17
|
+
return @response['entries']
|
18
|
+
end
|
19
|
+
|
20
|
+
def full_message_errors
|
21
|
+
return KaveRestApi::ERRORS[@response['return']['status'].to_s]
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def perform_validation
|
27
|
+
raise ArgumentError, 'not a valid response' if @response.nil?
|
28
|
+
@valid = (@response['return']['status'] == 200)
|
29
|
+
@response['entries'].each { |key, value| send("#{key}=", value) }
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class ResponseCountInBox
|
3
|
+
attr_reader :response, :status,:statusmessage
|
4
|
+
attr_accessor :apilogs,:dailyreport,:debugmode,:defaultsender,:mincreditalarm,:resendfailed
|
5
|
+
|
6
|
+
def validate(response = nil)
|
7
|
+
@response = response
|
8
|
+
perform_validation
|
9
|
+
return self
|
10
|
+
end
|
11
|
+
|
12
|
+
def valid?
|
13
|
+
@valid
|
14
|
+
end
|
15
|
+
|
16
|
+
def entries
|
17
|
+
return @response['entries']
|
18
|
+
end
|
19
|
+
|
20
|
+
def full_message_errors
|
21
|
+
return KaveRestApi::ERRORS[@response['return']['status'].to_s]
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def perform_validation
|
27
|
+
raise ArgumentError, 'not a valid response' if @response.nil?
|
28
|
+
@valid = (@response['return']['status'] == 200)
|
29
|
+
@response['entries'].each { |key, value| send("#{key}=", value) }
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class ResponseCountPostalCode
|
3
|
+
attr_reader :response, :status,:statusmessage
|
4
|
+
attr_accessor :section,:value
|
5
|
+
|
6
|
+
def validate(response = nil)
|
7
|
+
@response = response
|
8
|
+
perform_validation
|
9
|
+
return self
|
10
|
+
end
|
11
|
+
|
12
|
+
def valid?
|
13
|
+
@valid
|
14
|
+
end
|
15
|
+
|
16
|
+
def entries
|
17
|
+
return @response['entries']
|
18
|
+
end
|
19
|
+
|
20
|
+
def full_message_errors
|
21
|
+
return KaveRestApi::ERRORS[@response['return']['status'].to_s]
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def perform_validation
|
27
|
+
raise ArgumentError, 'not a valid response' if @response.nil?
|
28
|
+
@valid = (@response['return']['status'] == 200)
|
29
|
+
@response['entries'].each { |key, value| send("#{key}=", value) }
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class ResponseDeliver
|
3
|
+
attr_reader :response, :status,:statusmessage
|
4
|
+
|
5
|
+
def validate(response = nil)
|
6
|
+
@response = response
|
7
|
+
perform_validation
|
8
|
+
return self
|
9
|
+
end
|
10
|
+
|
11
|
+
def valid?
|
12
|
+
@valid
|
13
|
+
end
|
14
|
+
|
15
|
+
def entries(select=nil)
|
16
|
+
if select.nil?
|
17
|
+
return @response['entries']
|
18
|
+
else
|
19
|
+
return @response['entries'].select { |en|
|
20
|
+
en['status'] == (KaveRestApi::ENTRIES[select].nil? ? select:KaveRestApi::ENTRIES[select])
|
21
|
+
}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def full_message_errors
|
26
|
+
return KaveRestApi::ERRORS[@response['return']['status'].to_s]
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def perform_validation
|
32
|
+
raise ArgumentError, 'not a valid response' if @response.nil?
|
33
|
+
@valid = (@response['return']['status'] == 200)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module KaveRestApi
|
2
|
+
class ResponseInfo
|
3
|
+
attr_reader :response, :status,:statusmessage
|
4
|
+
|
5
|
+
def validate(response = nil)
|
6
|
+
@response = response
|
7
|
+
perform_validation
|
8
|
+
return self
|
9
|
+
end
|
10
|
+
|
11
|
+
def valid?
|
12
|
+
@valid
|
13
|
+
end
|
14
|
+
|
15
|
+
def entries
|
16
|
+
return @response['entries']
|
17
|
+
end
|
18
|
+
|
19
|
+
def full_message_errors
|
20
|
+
return KaveRestApi::ERRORS[@response['return']['status'].to_s]
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def perform_validation
|
26
|
+
raise ArgumentError, 'not a valid response' if @response.nil?
|
27
|
+
@valid = (@response['return']['status'] == 200)
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|