Class: ContextIO::Message
- Inherits:
-
Object
- Object
- ContextIO::Message
show all
- Includes:
- CallHelpers
- Defined in:
- lib/context_io/shared/message.rb
Constant Summary
collapse
- MESSAGE_READERS =
%I(date date_indexed date_received addresses person_info email_message_id
message_id gmail_message_id gmail_thread_id files subject
folders sources content type charset body_section answered
deleted draft flagged seen in_reply_to references resource_url)
Instance Attribute Summary collapse
Instance Method Summary
collapse
#build_url, #call_api_return_new_object, #call_api_return_updated_object, #delete, #get_request, #parse_response, #return_post_api_call_made, #success?, #validate_params
#collection_return, #contact_collection_return
Constructor Details
#initialize(parent:, identifier: nil, response: nil, status: nil, success: nil, api_call_made: nil) ⇒ Message
Returns a new instance of Message.
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/context_io/shared/message.rb', line 14
def initialize(parent:,
identifier: nil,
response: nil,
status: nil,
success: nil,
api_call_made: nil)
@parent = parent
@connection = parent.connection
@message_id = identifier
@status = status
@success = success
@api_call_made = api_call_made
if response
parse_response(response)
end
end
|
Instance Attribute Details
#api_call_made ⇒ Object
Returns the value of attribute api_call_made.
12
13
14
|
# File 'lib/context_io/shared/message.rb', line 12
def api_call_made
@api_call_made
end
|
Instance Method Details
#call_url ⇒ Object
35
36
37
|
# File 'lib/context_io/shared/message.rb', line 35
def call_url
build_url("messages", encoded_message_id)
end
|
#encoded_message_id ⇒ Object
31
32
33
|
# File 'lib/context_io/shared/message.rb', line 31
def encoded_message_id
ERB::Util.url_encode(message_id)
end
|
#get(**kwargs) ⇒ Object
43
44
45
|
# File 'lib/context_io/shared/message.rb', line 43
def get(**kwargs)
get_request(given_params: kwargs, valid_params: ValidGetParams::MESSAGE)
end
|
#get_body(**kwargs) ⇒ Object
59
60
61
62
63
64
65
|
# File 'lib/context_io/shared/message.rb', line 59
def get_body(**kwargs)
parent_not_account_error
call_api_return_new_object(klass: Message,
url: "#{call_url}/body",
valid_params: ValidGetParams::MESSAGE_BODY,
given_params: kwargs)
end
|
#get_flags ⇒ Object
67
68
69
70
71
|
# File 'lib/context_io/shared/message.rb', line 67
def get_flags
parent_not_account_error
call_api_return_new_object(klass: Message,
url: "#{call_url}/flags")
end
|
#get_folders ⇒ Object
84
85
86
87
88
|
# File 'lib/context_io/shared/message.rb', line 84
def get_folders
parent_not_account_error
call_api_return_new_object(klass: Message,
url: "#{call_url}/folders")
end
|
90
91
92
93
94
95
96
|
# File 'lib/context_io/shared/message.rb', line 90
def (**kwargs)
parent_not_account_error
call_api_return_new_object(klass: Message,
url: "#{call_url}/headers",
valid_params: ValidGetParams::MESSAGE_HEADER,
given_params: kwargs)
end
|
#get_source ⇒ Object
98
99
100
101
102
|
# File 'lib/context_io/shared/message.rb', line 98
def get_source
parent_not_account_error
call_api_return_new_object(klass: Message,
url: "#{call_url}/source")
end
|
#get_threads(**kwargs) ⇒ Object
104
105
106
107
108
109
110
|
# File 'lib/context_io/shared/message.rb', line 104
def get_threads(**kwargs)
parent_not_account_error
call_api_return_new_object(klass: Message,
url: "#{call_url}/thread",
valid_params: ValidGetParams::MESSAGE_THREADS,
given_params: kwargs)
end
|
#parent_not_account_error ⇒ Object
39
40
41
|
# File 'lib/context_io/shared/message.rb', line 39
def parent_not_account_error
raise StandardError, "This method can only be called from '2.0/accounts/:account/message/:message_id'" if parent.class != Account
end
|
#post(dst_folder:, **kwargs) ⇒ Object
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/context_io/shared/message.rb', line 47
def post(dst_folder:, **kwargs)
parent_not_account_error
given_params = kwargs.merge(dst_folder: dst_folder)
message = call_api_return_updated_object(klass: Message,
url: "#{call_url}",
identifier: encoded_message_id,
method: :post,
valid_params: ValidPostParams::MESSAGE_MOVE_20,
given_params: given_params)
return_post_api_call_made(message)
end
|
#post_flags(**kwargs) ⇒ Object
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/context_io/shared/message.rb', line 73
def post_flags(**kwargs)
parent_not_account_error
flags = call_api_return_updated_object(klass: Message,
url: "#{call_url}/flags",
identifier: encoded_message_id,
method: :post,
valid_params: ValidPostParams::FLAGS,
given_params: kwargs)
return_post_api_call_made(flags)
end
|