kavenegar-ruby 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|