textmagic-ruby 2.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 +15 -0
- data/.gitignore +11 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/Gemfile +9 -0
- data/LICENSE.txt +21 -0
- data/Makefile +8 -0
- data/README.md +41 -0
- data/Rakefile +10 -0
- data/conf/cacert.pem +3988 -0
- data/examples/bulk_examples.rb +24 -0
- data/examples/chat_examples.rb +30 -0
- data/examples/contact_examples.rb +116 -0
- data/examples/custom_field_examples.rb +78 -0
- data/examples/invoice_examples.rb +26 -0
- data/examples/list_examples.rb +98 -0
- data/examples/message_examples.rb +75 -0
- data/examples/number_examples.rb +72 -0
- data/examples/reply_examples.rb +32 -0
- data/examples/schedule_examples.rb +44 -0
- data/examples/senderid_examples.rb +52 -0
- data/examples/session_examples.rb +51 -0
- data/examples/subaccount_examples.rb +53 -0
- data/examples/template_examples.rb +61 -0
- data/examples/unsubscriber_examples.rb +56 -0
- data/examples/user_examples.rb +105 -0
- data/lib/textmagic-ruby.rb +31 -0
- data/lib/textmagic-ruby/rest/bulks.rb +89 -0
- data/lib/textmagic-ruby/rest/chats.rb +147 -0
- data/lib/textmagic-ruby/rest/client.rb +128 -0
- data/lib/textmagic-ruby/rest/contacts.rb +174 -0
- data/lib/textmagic-ruby/rest/custom_fields.rb +120 -0
- data/lib/textmagic-ruby/rest/errors.rb +14 -0
- data/lib/textmagic-ruby/rest/instance_resource.rb +33 -0
- data/lib/textmagic-ruby/rest/invoices.rb +73 -0
- data/lib/textmagic-ruby/rest/list_resource.rb +64 -0
- data/lib/textmagic-ruby/rest/lists.rb +166 -0
- data/lib/textmagic-ruby/rest/messages.rb +172 -0
- data/lib/textmagic-ruby/rest/numbers.rb +164 -0
- data/lib/textmagic-ruby/rest/paginate_resource.rb +20 -0
- data/lib/textmagic-ruby/rest/replies.rb +85 -0
- data/lib/textmagic-ruby/rest/scheduleds.rb +91 -0
- data/lib/textmagic-ruby/rest/senderids.rb +114 -0
- data/lib/textmagic-ruby/rest/sessions.rb +109 -0
- data/lib/textmagic-ruby/rest/subaccounts.rb +135 -0
- data/lib/textmagic-ruby/rest/templates.rb +107 -0
- data/lib/textmagic-ruby/rest/unsubscribers.rb +85 -0
- data/lib/textmagic-ruby/rest/users.rb +202 -0
- data/lib/textmagic-ruby/rest/utils.rb +48 -0
- data/lib/textmagic-ruby/rest/version.rb +5 -0
- data/spec/rest/client_spec.rb +57 -0
- data/spec/rest/contact_spec.rb +36 -0
- data/spec/rest/custom_fields_spec.rb +36 -0
- data/spec/rest/instance_resource_spec.rb +17 -0
- data/spec/rest/invoice_spec.rb +56 -0
- data/spec/rest/lists_spec.rb +35 -0
- data/spec/rest/message_spec.rb +40 -0
- data/spec/rest/numbers_spec.rb +66 -0
- data/spec/rest/reply_spec.rb +43 -0
- data/spec/rest/scheduled_spec.rb +43 -0
- data/spec/rest/senderid_spec.rb +39 -0
- data/spec/rest/session_spec.rb +43 -0
- data/spec/rest/subaccount_spec.rb +39 -0
- data/spec/rest/template_spec.rb +36 -0
- data/spec/rest/unsubscriber_spec.rb +40 -0
- data/spec/rest/user_spec.rb +92 -0
- data/spec/rest/utils_spec.rb +57 -0
- data/spec/spec_helper.rb +15 -0
- data/textmagic-ruby.gemspec +30 -0
- metadata +165 -0
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'textmagic-ruby'
|
3
|
+
|
4
|
+
puts ' *** Running number examples *** '
|
5
|
+
|
6
|
+
username = 'xxx'
|
7
|
+
token = 'xxx'
|
8
|
+
|
9
|
+
client = Textmagic::REST::Client.new username, token
|
10
|
+
|
11
|
+
sleep 0.5
|
12
|
+
available = client.numbers.available({:country => 'US'})
|
13
|
+
|
14
|
+
puts available.respond_to? :numbers
|
15
|
+
puts available.numbers.kind_of? Array
|
16
|
+
puts !available.numbers.empty?
|
17
|
+
puts available.numbers.length > 0
|
18
|
+
puts available.respond_to? :price
|
19
|
+
puts available.price > 0
|
20
|
+
|
21
|
+
sleep 0.5
|
22
|
+
user = client.users.get
|
23
|
+
|
24
|
+
puts user.instance_of? Textmagic::REST::User
|
25
|
+
puts user.respond_to? :first_name
|
26
|
+
puts user.respond_to? :last_name
|
27
|
+
puts user.respond_to? :company
|
28
|
+
puts user.respond_to? :timezone
|
29
|
+
puts user.timezone.kind_of? Hash
|
30
|
+
puts user.respond_to? :id
|
31
|
+
puts user.respond_to? :username
|
32
|
+
puts user.respond_to? :status
|
33
|
+
puts user.respond_to? :balance
|
34
|
+
puts user.respond_to? :currency
|
35
|
+
puts user.currency.kind_of? Hash
|
36
|
+
puts user.respond_to? :subaccount_type
|
37
|
+
|
38
|
+
# sleep 0.5
|
39
|
+
# number = client.numbers.buy({:userId => user.id, :country => 'US', :phone => available.numbers.first})
|
40
|
+
#
|
41
|
+
# puts number.instance_of? Textmagic::REST::Number
|
42
|
+
# puts number.respond_to? :id
|
43
|
+
# puts number.respond_to? :href
|
44
|
+
|
45
|
+
# sleep 0.5
|
46
|
+
# number = client.numbers.get number.id
|
47
|
+
#
|
48
|
+
# puts number.respond_to? :id
|
49
|
+
# puts number.respond_to? :user
|
50
|
+
# puts number.user.kind_of? Hash
|
51
|
+
# puts number.respond_to? :purchased_at
|
52
|
+
# puts number.respond_to? :expire_at
|
53
|
+
# puts number.respond_to? :phone
|
54
|
+
# puts number.respond_to? :country
|
55
|
+
# puts number.country.kind_of? Hash
|
56
|
+
# puts number.respond_to? :status
|
57
|
+
|
58
|
+
sleep 0.5
|
59
|
+
numbers = client.numbers.list()
|
60
|
+
|
61
|
+
puts numbers.respond_to? :page
|
62
|
+
puts numbers.respond_to? :limit
|
63
|
+
puts numbers.respond_to? :page_count
|
64
|
+
puts numbers.resources.length > 0
|
65
|
+
puts numbers.resources.first.instance_of? Textmagic::REST::Number
|
66
|
+
|
67
|
+
# sleep 0.5
|
68
|
+
# r = client.numbers.delete(number.id)
|
69
|
+
#
|
70
|
+
# puts r
|
71
|
+
|
72
|
+
puts ' *** Finish number examples *** '
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'textmagic-ruby'
|
3
|
+
|
4
|
+
puts ' *** Running reply examples *** '
|
5
|
+
|
6
|
+
username = 'xxx'
|
7
|
+
token = 'xxx'
|
8
|
+
|
9
|
+
client = Textmagic::REST::Client.new username, token
|
10
|
+
|
11
|
+
sleep 0.5
|
12
|
+
inbox = client.replies.list
|
13
|
+
|
14
|
+
puts inbox.instance_of? Textmagic::REST::PaginateResource
|
15
|
+
puts inbox.resources.length > 0
|
16
|
+
puts inbox.resources.first.instance_of? Textmagic::REST::Reply
|
17
|
+
|
18
|
+
sleep 0.5
|
19
|
+
reply = client.replies.get inbox.resources.first.id
|
20
|
+
|
21
|
+
puts reply.respond_to? :id
|
22
|
+
puts reply.respond_to? :sender
|
23
|
+
puts reply.respond_to? :message_time
|
24
|
+
puts reply.respond_to? :text
|
25
|
+
puts reply.respond_to? :receiver
|
26
|
+
|
27
|
+
sleep 0.5
|
28
|
+
r = client.replies.delete reply.id
|
29
|
+
|
30
|
+
puts r
|
31
|
+
|
32
|
+
puts ' *** Finish reply examples *** '
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'textmagic-ruby'
|
3
|
+
require 'time'
|
4
|
+
|
5
|
+
puts ' *** Running schedule examples *** '
|
6
|
+
|
7
|
+
username = 'xxx'
|
8
|
+
token = 'xxx'
|
9
|
+
|
10
|
+
client = Textmagic::REST::Client.new username, token
|
11
|
+
|
12
|
+
sd_text = "I'm a scheduled message"
|
13
|
+
sd_phones = '999999999'
|
14
|
+
sleep 0.5
|
15
|
+
scheduled = client.messages.create({:text => sd_text, :phones => sd_phones, :sendingTime => Time.now.to_i + 10000})
|
16
|
+
|
17
|
+
puts !scheduled.id.nil?
|
18
|
+
puts scheduled.message_id.nil?
|
19
|
+
puts scheduled.session_id.nil?
|
20
|
+
puts scheduled.bulk_id.nil?
|
21
|
+
puts !scheduled.schedule_id.nil?
|
22
|
+
puts !scheduled.href.nil?
|
23
|
+
|
24
|
+
sleep 0.5
|
25
|
+
scheduled = client.schedules.get(scheduled.id)
|
26
|
+
|
27
|
+
puts !scheduled.id.nil?
|
28
|
+
puts !scheduled.next_send.nil?
|
29
|
+
puts !scheduled.session.empty?
|
30
|
+
|
31
|
+
sleep 0.5
|
32
|
+
scheduleds = client.schedules.list()
|
33
|
+
|
34
|
+
puts !scheduleds.page.nil?
|
35
|
+
puts !scheduleds.limit.nil?
|
36
|
+
puts !scheduleds.page_count.nil?
|
37
|
+
puts scheduleds.resources.length > 0
|
38
|
+
puts scheduleds.resources.first.instance_of? Textmagic::REST::Schedule
|
39
|
+
|
40
|
+
sleep 0.5
|
41
|
+
r = client.schedules.delete(scheduled.id)
|
42
|
+
puts r
|
43
|
+
|
44
|
+
puts ' *** Finish schedule examples *** '
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'textmagic-ruby'
|
3
|
+
|
4
|
+
puts ' *** Running senderid examples *** '
|
5
|
+
|
6
|
+
username = 'xxx'
|
7
|
+
token = 'xxx'
|
8
|
+
|
9
|
+
client = Textmagic::REST::Client.new username, token
|
10
|
+
|
11
|
+
sid = 'rubysid'
|
12
|
+
exp = 'needs for api testing'
|
13
|
+
sleep 0.5
|
14
|
+
senderid = client.senderids.create({:senderId => sid, :explanation => exp})
|
15
|
+
|
16
|
+
puts senderid.instance_of? Textmagic::REST::Senderid
|
17
|
+
puts senderid.respond_to? :id
|
18
|
+
puts senderid.respond_to? :href
|
19
|
+
|
20
|
+
sleep 0.5
|
21
|
+
senderid.refresh
|
22
|
+
|
23
|
+
puts senderid.respond_to? :id
|
24
|
+
puts senderid.respond_to? :sender_id
|
25
|
+
puts senderid.respond_to? :user
|
26
|
+
puts senderid.user.kind_of? Hash
|
27
|
+
puts senderid.respond_to? :status
|
28
|
+
|
29
|
+
sleep 0.5
|
30
|
+
senderids = client.senderids.list()
|
31
|
+
|
32
|
+
puts senderids.respond_to? :page
|
33
|
+
puts senderids.respond_to? :limit
|
34
|
+
puts senderids.respond_to? :page_count
|
35
|
+
puts senderids.resources.length > 0
|
36
|
+
puts senderids.resources.first.instance_of? Textmagic::REST::Senderid
|
37
|
+
|
38
|
+
sleep 0.5
|
39
|
+
senderid = client.senderids.get senderid.id
|
40
|
+
|
41
|
+
puts senderid.respond_to? :id
|
42
|
+
puts senderid.respond_to? :sender_id
|
43
|
+
puts senderid.respond_to? :user
|
44
|
+
puts senderid.user.kind_of? Hash
|
45
|
+
puts senderid.respond_to? :status
|
46
|
+
|
47
|
+
sleep 0.5
|
48
|
+
r = client.senderids.delete senderid.id
|
49
|
+
|
50
|
+
puts r
|
51
|
+
|
52
|
+
puts ' *** Finish senderid examples *** '
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'textmagic-ruby'
|
3
|
+
|
4
|
+
puts ' *** Running session examples *** '
|
5
|
+
|
6
|
+
username = 'xxx'
|
7
|
+
token = 'xxx'
|
8
|
+
|
9
|
+
client = Textmagic::REST::Client.new username, token
|
10
|
+
|
11
|
+
session_text = 'Ruby Session Text'
|
12
|
+
session_phones = '999999999, 9999191919'
|
13
|
+
|
14
|
+
sleep 0.5
|
15
|
+
session = client.messages.create({:text => session_text, :phones => session_phones})
|
16
|
+
|
17
|
+
sleep 0.5
|
18
|
+
sessions = client.sessions.list()
|
19
|
+
|
20
|
+
puts sessions.respond_to? :page
|
21
|
+
puts sessions.respond_to? :limit
|
22
|
+
puts sessions.respond_to? :page_count
|
23
|
+
puts sessions.resources.length > 0
|
24
|
+
puts sessions.resources.first.instance_of? Textmagic::REST::Session
|
25
|
+
|
26
|
+
sleep 0.5
|
27
|
+
session = client.sessions.get(session.id)
|
28
|
+
|
29
|
+
puts session.id == sessions.resources.first.id
|
30
|
+
puts session.respond_to? :start_time
|
31
|
+
puts session.respond_to? :text
|
32
|
+
puts session.respond_to? :source
|
33
|
+
puts session.respond_to? :reference_id
|
34
|
+
puts session.respond_to? :price
|
35
|
+
puts session.respond_to? :numbers_count
|
36
|
+
|
37
|
+
sleep 0.5
|
38
|
+
session_messages = client.sessions.messages(session.id)
|
39
|
+
|
40
|
+
puts session_messages.respond_to? :page
|
41
|
+
puts session_messages.respond_to? :limit
|
42
|
+
puts session_messages.respond_to? :page_count
|
43
|
+
puts session_messages.resources.length == 2
|
44
|
+
puts session_messages.resources.first.instance_of? Textmagic::REST::Message
|
45
|
+
|
46
|
+
sleep 0.5
|
47
|
+
r = client.sessions.delete(session.id)
|
48
|
+
|
49
|
+
puts r
|
50
|
+
|
51
|
+
puts ' *** Finish session examples *** '
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'textmagic-ruby'
|
3
|
+
|
4
|
+
puts ' *** Running subaccount examples *** '
|
5
|
+
|
6
|
+
username = 'xxx'
|
7
|
+
token = 'xxx'
|
8
|
+
|
9
|
+
client = Textmagic::REST::Client.new username, token
|
10
|
+
sleep 0.5
|
11
|
+
subs = client.subaccounts.list
|
12
|
+
|
13
|
+
puts subs.instance_of? Textmagic::REST::PaginateResource
|
14
|
+
puts subs.resources.first.instance_of? Textmagic::REST::Subaccount
|
15
|
+
puts subs.resources.first.respond_to? :id
|
16
|
+
puts subs.resources.first.respond_to? :username
|
17
|
+
puts subs.resources.first.respond_to? :first_name
|
18
|
+
puts subs.resources.first.respond_to? :last_name
|
19
|
+
puts subs.resources.first.respond_to? :status
|
20
|
+
puts subs.resources.first.respond_to? :balance
|
21
|
+
puts subs.resources.first.respond_to? :company
|
22
|
+
puts subs.resources.first.respond_to? :currency
|
23
|
+
puts subs.resources.first.respond_to? :timezone
|
24
|
+
puts subs.resources.first.respond_to? :subaccount_type
|
25
|
+
|
26
|
+
sleep 0.5
|
27
|
+
sub = client.subaccounts.get subs.resources.first.id
|
28
|
+
|
29
|
+
puts subs.resources.first.instance_of? Textmagic::REST::Subaccount
|
30
|
+
puts sub.respond_to? :id
|
31
|
+
puts sub.respond_to? :username
|
32
|
+
puts sub.respond_to? :first_name
|
33
|
+
puts sub.respond_to? :last_name
|
34
|
+
puts sub.respond_to? :status
|
35
|
+
puts sub.respond_to? :balance
|
36
|
+
puts sub.respond_to? :company
|
37
|
+
puts sub.respond_to? :currency
|
38
|
+
puts sub.respond_to? :timezone
|
39
|
+
puts sub.respond_to? :subaccount_type
|
40
|
+
|
41
|
+
|
42
|
+
sleep 0.5
|
43
|
+
random_email = (0...10).map { ('a'..'z').to_a[rand(26)] }.join << '@mailinator.com'
|
44
|
+
r = client.subaccounts.send_invite({:email => random_email, :role => 'A'})
|
45
|
+
|
46
|
+
puts r
|
47
|
+
|
48
|
+
sleep 0.5
|
49
|
+
r = client.subaccounts.delete sub.id
|
50
|
+
|
51
|
+
puts r
|
52
|
+
|
53
|
+
puts ' *** Finish subaccount examples *** '
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'textmagic-ruby'
|
3
|
+
|
4
|
+
puts ' *** Running template examples *** '
|
5
|
+
|
6
|
+
username = 'xxx'
|
7
|
+
token = 'xxx'
|
8
|
+
|
9
|
+
client = Textmagic::REST::Client.new username, token
|
10
|
+
|
11
|
+
temp_name = 'Ruby Template'
|
12
|
+
temp_content = 'Dear {First Name} {Last Name}'
|
13
|
+
sleep 0.5
|
14
|
+
template = client.templates.create({:name => temp_name, :content => temp_content})
|
15
|
+
|
16
|
+
puts template.respond_to? :id
|
17
|
+
puts template.respond_to? :href
|
18
|
+
|
19
|
+
sleep 0.5
|
20
|
+
template.refresh
|
21
|
+
|
22
|
+
puts template.name == temp_name
|
23
|
+
puts template.content == temp_content
|
24
|
+
|
25
|
+
sleep 0.5
|
26
|
+
template = client.templates.get(template.id)
|
27
|
+
|
28
|
+
puts template.name == temp_name
|
29
|
+
puts template.content == temp_content
|
30
|
+
|
31
|
+
sleep 0.5
|
32
|
+
templates = client.templates.list()
|
33
|
+
|
34
|
+
puts templates.respond_to? :page
|
35
|
+
puts templates.respond_to? :limit
|
36
|
+
puts templates.respond_to? :page_count
|
37
|
+
puts templates.resources.length > 0
|
38
|
+
puts templates.resources.first.instance_of? Textmagic::REST::Template
|
39
|
+
|
40
|
+
sleep 0.5
|
41
|
+
|
42
|
+
search_templates = client.templates.list({:search => true, :name => template.name})
|
43
|
+
|
44
|
+
puts search_templates.instance_of? Textmagic::REST::PaginateResource
|
45
|
+
puts search_templates.resources.length == 1
|
46
|
+
puts search_templates.resources.first.id == template.id
|
47
|
+
|
48
|
+
sleep 0.5
|
49
|
+
template = client.templates.update(template.id, {:name => 'Updated Ruby Template', :content => temp_content})
|
50
|
+
sleep 0.5
|
51
|
+
template.refresh
|
52
|
+
|
53
|
+
puts template.name == 'Updated Ruby Template'
|
54
|
+
|
55
|
+
sleep 0.5
|
56
|
+
r = client.templates.delete(template.id)
|
57
|
+
|
58
|
+
puts r
|
59
|
+
sleep 0.5
|
60
|
+
|
61
|
+
puts ' *** Finish template examples *** '
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'textmagic-ruby'
|
3
|
+
|
4
|
+
puts ' *** Running unsubscriber examples *** '
|
5
|
+
|
6
|
+
username = 'xxx'
|
7
|
+
token = 'xxx'
|
8
|
+
|
9
|
+
client = Textmagic::REST::Client.new username, token
|
10
|
+
|
11
|
+
sleep 0.5
|
12
|
+
unsubscribers = client.unsubscribers.list
|
13
|
+
|
14
|
+
puts unsubscribers.page > 0
|
15
|
+
puts unsubscribers.limit == 10
|
16
|
+
puts unsubscribers.page_count > 0
|
17
|
+
puts unsubscribers.resources.length > 0
|
18
|
+
puts unsubscribers.resources.first.instance_of?(Textmagic::REST::Unsubscriber)
|
19
|
+
|
20
|
+
sleep 0.5
|
21
|
+
unsubscribers = client.unsubscribers.list(:search => true)
|
22
|
+
|
23
|
+
puts unsubscribers.page > 0
|
24
|
+
puts unsubscribers.limit == 10
|
25
|
+
puts unsubscribers.page_count > 0
|
26
|
+
puts unsubscribers.resources.length > 0
|
27
|
+
puts unsubscribers.resources.first.instance_of?(Textmagic::REST::Unsubscriber)
|
28
|
+
|
29
|
+
sleep 0.5
|
30
|
+
u_phone = '999000101010'
|
31
|
+
u_new = client.unsubscribers.create(:phone => u_phone)
|
32
|
+
|
33
|
+
puts !u_new.id.nil?
|
34
|
+
puts !u_new.href.nil?
|
35
|
+
|
36
|
+
sleep 0.5
|
37
|
+
unsubscriber = client.unsubscribers.get(u_new.id)
|
38
|
+
|
39
|
+
puts unsubscriber.id == u_new.id
|
40
|
+
puts unsubscriber.phone == u_phone
|
41
|
+
|
42
|
+
sleep 0.5
|
43
|
+
begin
|
44
|
+
client.unsubscribers.update(1, {})
|
45
|
+
rescue RuntimeError => err
|
46
|
+
puts err.message == '`update` method is not available for this type of resource.'
|
47
|
+
end
|
48
|
+
|
49
|
+
sleep 0.5
|
50
|
+
begin
|
51
|
+
client.unsubscribers.delete(1)
|
52
|
+
rescue RuntimeError => err
|
53
|
+
puts err.message == '`delete` method is not available for this type of resource.'
|
54
|
+
end
|
55
|
+
|
56
|
+
puts ' *** Finish unsubscriber examples *** '
|
@@ -0,0 +1,105 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'textmagic-ruby'
|
3
|
+
|
4
|
+
puts ' *** Running user examples *** '
|
5
|
+
|
6
|
+
username = 'xxx'
|
7
|
+
token = 'xxx'
|
8
|
+
|
9
|
+
client = Textmagic::REST::Client.new username, token
|
10
|
+
sleep 0.5
|
11
|
+
sources = client.users.sources
|
12
|
+
|
13
|
+
puts sources.instance_of? Textmagic::REST::Source
|
14
|
+
puts sources.respond_to? :dedicated
|
15
|
+
puts sources.dedicated.kind_of? Array
|
16
|
+
puts sources.respond_to? :user
|
17
|
+
puts sources.user.kind_of? Array
|
18
|
+
puts sources.respond_to? :shared
|
19
|
+
puts sources.shared.kind_of? Array
|
20
|
+
puts sources.respond_to? :sender_ids
|
21
|
+
puts sources.sender_ids.kind_of? Array
|
22
|
+
|
23
|
+
sleep 0.5
|
24
|
+
m_stat = client.users.messaging_stat
|
25
|
+
|
26
|
+
puts m_stat.kind_of? Array
|
27
|
+
puts !m_stat.empty?
|
28
|
+
puts m_stat.first.key? 'replyRate'
|
29
|
+
puts m_stat.first.key? 'date'
|
30
|
+
puts m_stat.first.key? 'deliveryRate'
|
31
|
+
puts m_stat.first.key? 'costs'
|
32
|
+
puts m_stat.first.key? 'messagesReceived'
|
33
|
+
puts m_stat.first.key? 'messagesSentDelivered'
|
34
|
+
puts m_stat.first.key? 'messagesSentAccepted'
|
35
|
+
puts m_stat.first.key? 'messagesSentBuffered'
|
36
|
+
puts m_stat.first.key? 'messagesSentFailed'
|
37
|
+
puts m_stat.first.key? 'messagesSentRejected'
|
38
|
+
puts m_stat.first.key? 'messagesSentParts'
|
39
|
+
|
40
|
+
sleep 0.5
|
41
|
+
s_stat = client.users.spending_stat()
|
42
|
+
|
43
|
+
puts s_stat.instance_of? Textmagic::REST::PaginateResource
|
44
|
+
puts s_stat.resources.first.instance_of? Textmagic::REST::SpendingStat
|
45
|
+
puts s_stat.resources.first.respond_to? :id
|
46
|
+
puts s_stat.resources.first.respond_to? :user_id
|
47
|
+
puts s_stat.resources.first.respond_to? :date
|
48
|
+
puts s_stat.resources.first.respond_to? :balance
|
49
|
+
puts s_stat.resources.first.respond_to? :delta
|
50
|
+
puts s_stat.resources.first.respond_to? :type
|
51
|
+
puts s_stat.resources.first.respond_to? :value
|
52
|
+
puts s_stat.resources.first.respond_to? :comment
|
53
|
+
|
54
|
+
sleep 0.5
|
55
|
+
user = client.users.get
|
56
|
+
|
57
|
+
puts user.instance_of? Textmagic::REST::User
|
58
|
+
puts user.respond_to? :id
|
59
|
+
puts user.respond_to? :username
|
60
|
+
puts user.respond_to? :first_name
|
61
|
+
puts user.respond_to? :last_name
|
62
|
+
puts user.respond_to? :status
|
63
|
+
puts user.respond_to? :balance
|
64
|
+
puts user.respond_to? :company
|
65
|
+
puts user.respond_to? :currency
|
66
|
+
puts user.respond_to? :timezone
|
67
|
+
puts user.respond_to? :subaccount_type
|
68
|
+
|
69
|
+
params = {
|
70
|
+
:first_name => 'John',
|
71
|
+
:last_name => 'Doe',
|
72
|
+
:company => user.company
|
73
|
+
}
|
74
|
+
sleep 0.5
|
75
|
+
user_updated = client.users.update params
|
76
|
+
|
77
|
+
puts !(user_updated.respond_to? :first_name)
|
78
|
+
puts !(user_updated.respond_to? :last_name)
|
79
|
+
puts !(user_updated.respond_to? :company)
|
80
|
+
|
81
|
+
sleep 0.5
|
82
|
+
user_updated.refresh
|
83
|
+
|
84
|
+
puts user_updated.first_name == 'John'
|
85
|
+
puts user_updated.last_name == 'Doe'
|
86
|
+
puts user_updated.company == user.company
|
87
|
+
|
88
|
+
params = {
|
89
|
+
:firstName => user.first_name,
|
90
|
+
:lastName => user.last_name,
|
91
|
+
:company => user.company
|
92
|
+
}
|
93
|
+
sleep 0.5
|
94
|
+
user_updated = client.users.update params
|
95
|
+
sleep 0.5
|
96
|
+
user_updated.refresh
|
97
|
+
|
98
|
+
puts user_updated.first_name == user.first_name
|
99
|
+
puts user_updated.last_name == user.last_name
|
100
|
+
puts user_updated.company == user.company
|
101
|
+
sleep 0.5
|
102
|
+
|
103
|
+
(0..4).map {puts client.ping; sleep 0.5}
|
104
|
+
|
105
|
+
puts ' *** Finish user examples *** '
|