diaspora_federation 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +28 -0
  3. data/README.md +2 -1
  4. data/lib/diaspora_federation.rb +14 -14
  5. data/lib/diaspora_federation/callbacks.rb +4 -4
  6. data/lib/diaspora_federation/discovery.rb +1 -1
  7. data/lib/diaspora_federation/discovery/discovery.rb +8 -8
  8. data/lib/diaspora_federation/discovery/h_card.rb +11 -12
  9. data/lib/diaspora_federation/discovery/host_meta.rb +2 -2
  10. data/lib/diaspora_federation/discovery/web_finger.rb +10 -13
  11. data/lib/diaspora_federation/discovery/xrd_document.rb +1 -1
  12. data/lib/diaspora_federation/entities.rb +2 -2
  13. data/lib/diaspora_federation/entities/account_deletion.rb +4 -4
  14. data/lib/diaspora_federation/entities/comment.rb +3 -3
  15. data/lib/diaspora_federation/entities/contact.rb +4 -4
  16. data/lib/diaspora_federation/entities/conversation.rb +13 -13
  17. data/lib/diaspora_federation/entities/like.rb +5 -5
  18. data/lib/diaspora_federation/entities/location.rb +1 -1
  19. data/lib/diaspora_federation/entities/message.rb +5 -5
  20. data/lib/diaspora_federation/entities/participation.rb +6 -6
  21. data/lib/diaspora_federation/entities/person.rb +6 -6
  22. data/lib/diaspora_federation/entities/photo.rb +10 -10
  23. data/lib/diaspora_federation/entities/poll.rb +3 -3
  24. data/lib/diaspora_federation/entities/poll_answer.rb +2 -2
  25. data/lib/diaspora_federation/entities/poll_participation.rb +3 -3
  26. data/lib/diaspora_federation/entities/post.rb +7 -7
  27. data/lib/diaspora_federation/entities/profile.rb +6 -6
  28. data/lib/diaspora_federation/entities/related_entity.rb +4 -4
  29. data/lib/diaspora_federation/entities/relayable.rb +32 -24
  30. data/lib/diaspora_federation/entities/relayable_retraction.rb +17 -17
  31. data/lib/diaspora_federation/entities/request.rb +5 -5
  32. data/lib/diaspora_federation/entities/reshare.rb +7 -7
  33. data/lib/diaspora_federation/entities/retraction.rb +6 -6
  34. data/lib/diaspora_federation/entities/signed_retraction.rb +8 -8
  35. data/lib/diaspora_federation/entities/status_message.rb +8 -8
  36. data/lib/diaspora_federation/entity.rb +7 -7
  37. data/lib/diaspora_federation/federation/fetcher.rb +3 -3
  38. data/lib/diaspora_federation/federation/receiver.rb +3 -3
  39. data/lib/diaspora_federation/federation/receiver/abstract_receiver.rb +3 -3
  40. data/lib/diaspora_federation/federation/receiver/private.rb +1 -1
  41. data/lib/diaspora_federation/federation/receiver/public.rb +1 -1
  42. data/lib/diaspora_federation/federation/sender/hydra_wrapper.rb +7 -6
  43. data/lib/diaspora_federation/http_client.rb +2 -2
  44. data/lib/diaspora_federation/logging.rb +7 -7
  45. data/lib/diaspora_federation/properties_dsl.rb +3 -3
  46. data/lib/diaspora_federation/salmon.rb +1 -1
  47. data/lib/diaspora_federation/salmon/aes.rb +4 -4
  48. data/lib/diaspora_federation/salmon/encrypted_slap.rb +9 -9
  49. data/lib/diaspora_federation/salmon/magic_envelope.rb +16 -16
  50. data/lib/diaspora_federation/salmon/slap.rb +2 -2
  51. data/lib/diaspora_federation/validators.rb +1 -1
  52. data/lib/diaspora_federation/validators/account_deletion_validator.rb +1 -1
  53. data/lib/diaspora_federation/validators/comment_validator.rb +1 -1
  54. data/lib/diaspora_federation/validators/contact_validator.rb +1 -1
  55. data/lib/diaspora_federation/validators/conversation_validator.rb +4 -4
  56. data/lib/diaspora_federation/validators/h_card_validator.rb +2 -2
  57. data/lib/diaspora_federation/validators/like_validator.rb +1 -1
  58. data/lib/diaspora_federation/validators/location_validator.rb +1 -1
  59. data/lib/diaspora_federation/validators/message_validator.rb +4 -1
  60. data/lib/diaspora_federation/validators/participation_validator.rb +1 -1
  61. data/lib/diaspora_federation/validators/person_validator.rb +1 -1
  62. data/lib/diaspora_federation/validators/photo_validator.rb +3 -1
  63. data/lib/diaspora_federation/validators/poll_answer_validator.rb +1 -1
  64. data/lib/diaspora_federation/validators/poll_participation_validator.rb +1 -1
  65. data/lib/diaspora_federation/validators/poll_validator.rb +1 -1
  66. data/lib/diaspora_federation/validators/profile_validator.rb +3 -3
  67. data/lib/diaspora_federation/validators/related_entity_validator.rb +1 -1
  68. data/lib/diaspora_federation/validators/relayable_retraction_validator.rb +2 -2
  69. data/lib/diaspora_federation/validators/relayable_validator.rb +2 -2
  70. data/lib/diaspora_federation/validators/request_validator.rb +2 -2
  71. data/lib/diaspora_federation/validators/reshare_validator.rb +1 -1
  72. data/lib/diaspora_federation/validators/retraction_validator.rb +1 -1
  73. data/lib/diaspora_federation/validators/rules/birthday.rb +2 -2
  74. data/lib/diaspora_federation/validators/rules/boolean.rb +1 -1
  75. data/lib/diaspora_federation/validators/rules/diaspora_id.rb +5 -5
  76. data/lib/diaspora_federation/validators/rules/diaspora_id_count.rb +3 -3
  77. data/lib/diaspora_federation/validators/rules/guid.rb +4 -4
  78. data/lib/diaspora_federation/validators/rules/not_nil.rb +1 -1
  79. data/lib/diaspora_federation/validators/rules/public_key.rb +1 -1
  80. data/lib/diaspora_federation/validators/rules/tag_count.rb +2 -2
  81. data/lib/diaspora_federation/validators/signed_retraction_validator.rb +2 -2
  82. data/lib/diaspora_federation/validators/status_message_validator.rb +3 -1
  83. data/lib/diaspora_federation/validators/web_finger_validator.rb +3 -3
  84. data/lib/diaspora_federation/version.rb +1 -1
  85. metadata +3 -2
@@ -4,9 +4,9 @@ module DiasporaFederation
4
4
  # another entity).
5
5
  class RelatedEntity < Entity
6
6
  # @!attribute [r] author
7
- # The diaspora ID of the author.
7
+ # The diaspora* ID of the author
8
8
  # @see Person#author
9
- # @return [String] diaspora ID
9
+ # @return [String] diaspora* ID
10
10
  property :author
11
11
 
12
12
  # @!attribute [r] local
@@ -15,12 +15,12 @@ module DiasporaFederation
15
15
  property :local
16
16
 
17
17
  # @!attribute [r] public
18
- # shows whether the entity is visible to everyone or only to some aspects
18
+ # Shows whether the entity is visible to everyone or only to some aspects
19
19
  # @return [Boolean] is it public
20
20
  property :public, default: false
21
21
 
22
22
  # @!attribute [r] parent
23
- # if the entity also have a parent (Comment or Like), +nil+ if it has no parent
23
+ # Parent if the entity also has a parent (Comment or Like) or +nil+ if it has no parent
24
24
  # @return [RelatedEntity] parent entity
25
25
  entity :parent, Entities::RelatedEntity, default: nil
26
26
 
@@ -1,32 +1,32 @@
1
1
  module DiasporaFederation
2
2
  module Entities
3
- # this is a module that defines common properties for relayable entities
3
+ # This is a module that defines common properties for relayable entities
4
4
  # which include Like, Comment, Participation, Message, etc. Each relayable
5
- # has a parent, identified by guid. Relayables also are signed and signing/verification
5
+ # has a parent, identified by guid. Relayables are also signed and signing/verification
6
6
  # logic is embedded into Salmon XML processing code.
7
7
  module Relayable
8
8
  include Logging
9
9
 
10
- # digest instance used for signing
10
+ # Digest instance used for signing
11
11
  DIGEST = OpenSSL::Digest::SHA256.new
12
12
 
13
- # order from the parsed xml for signature
13
+ # Order from the parsed xml for signature
14
14
  # @return [Array] order from xml
15
15
  attr_reader :xml_order
16
16
 
17
- # additional properties from parsed xml
17
+ # Additional properties from parsed xml
18
18
  # @return [Hash] additional xml elements
19
19
  attr_reader :additional_xml_elements
20
20
 
21
- # on inclusion of this module the required properties for a relayable are added to the object that includes it
21
+ # On inclusion of this module the required properties for a relayable are added to the object that includes it.
22
22
  #
23
23
  # @!attribute [r] author
24
- # The diaspora ID of the author.
24
+ # The diaspora* ID of the author
25
25
  # @see Person#author
26
- # @return [String] diaspora ID
26
+ # @return [String] diaspora* ID
27
27
  #
28
28
  # @!attribute [r] guid
29
- # a random string of at least 16 chars.
29
+ # A random string of at least 16 chars
30
30
  # @see Validation::Rule::Guid
31
31
  # @return [String] comment guid
32
32
  #
@@ -35,20 +35,20 @@ module DiasporaFederation
35
35
  # @return [String] parent guid
36
36
  #
37
37
  # @!attribute [r] author_signature
38
- # Contains a signature of the entity using the private key of the author of a post itself.
38
+ # Contains a signature of the entity using the private key of the author of a post itself
39
39
  # The presence of this signature is mandatory. Without it the entity won't be accepted by
40
40
  # a target pod.
41
41
  # @return [String] author signature
42
42
  #
43
43
  # @!attribute [r] parent_author_signature
44
44
  # Contains a signature of the entity using the private key of the author of a parent post
45
- # This signature is required only when federation from upstream (parent) post author to
45
+ # This signature is required only when federating from upstream (parent) post author to
46
46
  # downstream subscribers. This is the case when the parent author has to resend a relayable
47
- # received from one of his subscribers to all others.
47
+ # received from one of their subscribers to all others.
48
48
  # @return [String] parent author signature
49
49
  #
50
50
  # @!attribute [r] parent
51
- # meta information about the parent object
51
+ # Meta information about the parent object
52
52
  # @return [RelatedEntity] parent entity
53
53
  #
54
54
  # @param [Entity] klass the entity in which it is included
@@ -78,12 +78,12 @@ module DiasporaFederation
78
78
  super(data)
79
79
  end
80
80
 
81
- # verifies the signatures (+author_signature+ and +parent_author_signature+ if needed)
81
+ # Verifies the signatures (+author_signature+ and +parent_author_signature+ if needed).
82
82
  # @raise [SignatureVerificationFailed] if the signature is not valid or no public key is found
83
83
  def verify_signatures
84
84
  verify_signature(author, :author_signature)
85
85
 
86
- # this happens only on downstream federation
86
+ # This happens only on downstream federation.
87
87
  verify_signature(parent.author, :parent_author_signature) unless parent.local
88
88
  end
89
89
 
@@ -116,7 +116,7 @@ module DiasporaFederation
116
116
  logger.info "event=verify_signature signature=#{signature_key} status=valid obj=#{self}"
117
117
  end
118
118
 
119
- # sign with author key
119
+ # Sign with author key
120
120
  # @raise [AuthorPrivateKeyNotFound] if the author private key is not found
121
121
  # @return [String] A Base64 encoded signature of #signature_data with key
122
122
  def sign_with_author
@@ -127,7 +127,7 @@ module DiasporaFederation
127
127
  end
128
128
  end
129
129
 
130
- # sign with parent author key, if the parent author is local (if the private key is found)
130
+ # Sign with parent author key, if the parent author is local (if the private key is found)
131
131
  # @return [String] A Base64 encoded signature of #signature_data with key
132
132
  def sign_with_parent_author_if_available
133
133
  privkey = DiasporaFederation.callbacks.trigger(:fetch_private_key, parent.author)
@@ -159,7 +159,7 @@ module DiasporaFederation
159
159
  end
160
160
  end
161
161
 
162
- # the order for signing
162
+ # The order for signing
163
163
  # @return [Array]
164
164
  def signature_order
165
165
  xml_order.nil? ? self.class::LEGACY_SIGNATURE_ORDER : xml_order.reject {|name| name =~ /signature/ }
@@ -171,7 +171,7 @@ module DiasporaFederation
171
171
  signature_order.map {|name| data[name] }.join(";")
172
172
  end
173
173
 
174
- # override class methods from {Entity} to parse the xml
174
+ # Override class methods from {Entity} to parse the xml
175
175
  module ParseXML
176
176
  private
177
177
 
@@ -181,7 +181,7 @@ module DiasporaFederation
181
181
  # Use all known properties to build the Entity (entity_data). All additional xml elements
182
182
  # are respected and attached to a hash as string (additional_xml_elements). It also remembers
183
183
  # the order of the xml-nodes (xml_order). This is needed to support receiving objects from
184
- # the future versions of Diaspora, where new elements may have been added.
184
+ # the future versions of diaspora*, where new elements may have been added.
185
185
  entity_data = {}
186
186
  additional_xml_elements = {}
187
187
 
@@ -203,20 +203,28 @@ module DiasporaFederation
203
203
  end
204
204
 
205
205
  def fetch_parent(data)
206
- type = data[:parent_type] || self::PARENT_TYPE
207
- guid = data[:parent_guid]
206
+ type = data.fetch(:parent_type) {
207
+ if const_defined?(:PARENT_TYPE)
208
+ self::PARENT_TYPE
209
+ else
210
+ raise DiasporaFederation::Entity::ValidationError, "invalid #{self}! missing 'parent_type'."
211
+ end
212
+ }
213
+ guid = data.fetch(:parent_guid) {
214
+ raise DiasporaFederation::Entity::ValidationError, "invalid #{self}! missing 'parent_guid'."
215
+ }
208
216
 
209
217
  data[:parent] = DiasporaFederation.callbacks.trigger(:fetch_related_entity, type, guid)
210
218
 
211
219
  unless data[:parent]
212
- # fetch and receive parent from remote, if not available locally
220
+ # Fetch and receive parent from remote, if not available locally
213
221
  Federation::Fetcher.fetch_public(data[:author], type, guid)
214
222
  data[:parent] = DiasporaFederation.callbacks.trigger(:fetch_related_entity, type, guid)
215
223
  end
216
224
  end
217
225
  end
218
226
 
219
- # Raised, if creating the author_signature failes, because the private key was not found
227
+ # Raised, if creating the author_signature fails, because the private key was not found
220
228
  class AuthorPrivateKeyNotFound < RuntimeError
221
229
  end
222
230
 
@@ -1,18 +1,18 @@
1
1
  module DiasporaFederation
2
2
  module Entities
3
- # this entity represents a claim of deletion of a previously federated
4
- # relayable entity ({Entities::Comment}, {Entities::Like})
3
+ # This entity represents a claim of deletion of a previously federated
4
+ # relayable entity. ({Entities::Comment}, {Entities::Like})
5
5
  #
6
6
  # There are two cases of federation of the RelayableRetraction.
7
7
  # Retraction from the dowstream object owner is when an author of the
8
- # relayable (e.g. Comment) deletes it himself. In this case only target_author_signature
9
- # is filled and retraction is sent to the commented post's author. Here
10
- # he (upstream object owner) signes it with parent's author key and fills
11
- # signature in parent_author_signature and sends it to other pods where
12
- # other participating people present. This is the second case - retraction
8
+ # relayable (e.g. Comment) deletes it themself. In this case only target_author_signature
9
+ # is filled and a retraction is sent to the commented post's author. Here
10
+ # the upstream object owner signs it with the parent's author key, puts
11
+ # the signature in parent_author_signature and sends it to other pods where
12
+ # other participating people are present. This is the second case - retraction
13
13
  # from the upstream object owner.
14
14
  # Retraction from the upstream object owner can also be performed by the
15
- # upstream object owner himself - he has a right to delete comments on his posts.
15
+ # upstream object owner themself - they have a right to delete comments on their posts.
16
16
  # In any case in the retraction by the upstream author target_author_signature
17
17
  # is not checked, only parent_author_signature is checked.
18
18
  #
@@ -20,33 +20,33 @@ module DiasporaFederation
20
20
  # @deprecated will be replaced with {Entities::Retraction}
21
21
  class RelayableRetraction < Entity
22
22
  # @!attribute [r] parent_author_signature
23
- # Contains a signature of the entity using the private key of the author of a parent post
24
- # This signature is mandatory only when federation from an upstream author to the subscribers.
23
+ # Contains a signature of the entity using the private key of the author of a parent post.
24
+ # This signature is mandatory only when federating from an upstream author to the subscribers.
25
25
  # @see Relayable#parent_author_signature
26
26
  # @return [String] parent author signature
27
27
  property :parent_author_signature, default: nil
28
28
 
29
29
  # @!attribute [r] target_guid
30
- # guid of a relayable to be deleted
30
+ # Guid of a relayable to be deleted
31
31
  # @see Comment#guid
32
32
  # @return [String] target guid
33
33
  property :target_guid
34
34
 
35
35
  # @!attribute [r] target_type
36
- # a string describing a type of the target
36
+ # A string describing a type of the target
37
37
  # @see Retraction#target_type
38
38
  # @return [String] target type
39
39
  property :target_type
40
40
 
41
41
  # @!attribute [r] author
42
- # The diaspora ID of the person who deletes a relayable
42
+ # The diaspora* ID of the person who deletes a relayable
43
43
  # @see Person#author
44
- # @return [String] diaspora ID
44
+ # @return [String] diaspora* ID
45
45
  property :author, xml_name: :sender_handle
46
46
 
47
47
  # @!attribute [r] target_author_signature
48
48
  # Contains a signature of the entity using the private key of the
49
- # author of a federated relayable entity ({Entities::Comment}, {Entities::Like})
49
+ # author of a federated relayable entity. ({Entities::Comment}, {Entities::Like})
50
50
  # This signature is mandatory only when federation from the subscriber to an upstream
51
51
  # author is done.
52
52
  # @see Relayable#author_signature
@@ -54,11 +54,11 @@ module DiasporaFederation
54
54
  property :target_author_signature, default: nil
55
55
 
56
56
  # @!attribute [r] target
57
- # target entity
57
+ # Target entity
58
58
  # @return [RelatedEntity] target entity
59
59
  entity :target, Entities::RelatedEntity
60
60
 
61
- # use only {Retraction} for receive
61
+ # Use only {Retraction} for receive
62
62
  # @return [Retraction] instance as normal retraction
63
63
  def to_retraction
64
64
  Retraction.new(author: author, target_guid: target_guid, target_type: target_type, target: target)
@@ -1,24 +1,24 @@
1
1
  module DiasporaFederation
2
2
  module Entities
3
- # this entity represents a sharing request for a user. A user issues it
4
- # when he starts sharing with another user.
3
+ # This entity represents a sharing request for a user. A user issues it
4
+ # when they start sharing with another user.
5
5
  #
6
6
  # @see Validators::RequestValidator
7
7
  # @deprecated will be replaced with {Contact}
8
8
  class Request < Entity
9
9
  # @!attribute [r] author
10
- # The diaspora ID of the person who shares his profile
10
+ # The diaspora* ID of the person who share their profile
11
11
  # @see Person#author
12
12
  # @return [String] sender ID
13
13
  property :author, xml_name: :sender_handle
14
14
 
15
15
  # @!attribute [r] recipient
16
- # The diaspora ID of the person who will be shared with
16
+ # The diaspora* ID of the person who will be shared with
17
17
  # @see Validation::Rule::DiasporaId
18
18
  # @return [String] recipient ID
19
19
  property :recipient, xml_name: :recipient_handle
20
20
 
21
- # use only {Contact} for receive
21
+ # Use only {Contact} for receive
22
22
  # @return [Contact] instance as contact
23
23
  def to_contact
24
24
  Contact.new(author: author, recipient: recipient)
@@ -1,25 +1,25 @@
1
1
  module DiasporaFederation
2
2
  module Entities
3
- # this entity represents the fact the a user reshared some other user's post
3
+ # This entity represents the fact that a user reshared another user's post.
4
4
  #
5
5
  # @see Validators::ReshareValidator
6
6
  class Reshare < Entity
7
7
  include Post
8
8
 
9
9
  # @!attribute [r] root_author
10
- # The diaspora ID of the person who posted the original post
10
+ # The diaspora* ID of the person who posted the original post
11
11
  # @see Person#author
12
- # @return [String] diaspora ID
12
+ # @return [String] diaspora* ID
13
13
  property :root_author, xml_name: :root_diaspora_id
14
14
 
15
15
  # @!attribute [r] root_guid
16
- # guid of the original post
16
+ # Guid of the original post
17
17
  # @see StatusMessage#guid
18
18
  # @return [String] root guid
19
19
  property :root_guid
20
20
 
21
21
  # @!attribute [r] public
22
- # has no meaning at the moment
22
+ # Has no meaning at the moment
23
23
  # @return [Boolean] public
24
24
  property :public, default: true # always true? (we only reshare public posts)
25
25
 
@@ -28,13 +28,13 @@ module DiasporaFederation
28
28
  "#{super}:#{root_guid}"
29
29
  end
30
30
 
31
- # fetch and receive root post from remote, if not available locally.
31
+ # Fetch and receive root post from remote, if not available locally
32
32
  def fetch_root
33
33
  root = DiasporaFederation.callbacks.trigger(:fetch_related_entity, "Post", root_guid)
34
34
  Federation::Fetcher.fetch_public(root_author, "Post", root_guid) unless root
35
35
  end
36
36
 
37
- # Fetch root post after parse.
37
+ # Fetch root post after parse
38
38
  # @see Entity.populate_entity
39
39
  # @param [Nokogiri::XML::Element] root_node xml nodes
40
40
  # @return [Entity] instance
@@ -1,27 +1,27 @@
1
1
  module DiasporaFederation
2
2
  module Entities
3
- # this entity represents a claim of deletion of a previously federated entity
3
+ # This entity represents a claim of deletion of a previously federated entity.
4
4
  #
5
5
  # @see Validators::RetractionValidator
6
6
  class Retraction < Entity
7
7
  # @!attribute [r] author
8
- # The diaspora ID of the person who deletes the entity
8
+ # The diaspora* ID of the person who deletes the entity
9
9
  # @see Person#author
10
- # @return [String] diaspora ID
10
+ # @return [String] diaspora* ID
11
11
  property :author, xml_name: :diaspora_handle
12
12
 
13
13
  # @!attribute [r] target_guid
14
- # guid of the entity to be deleted
14
+ # Guid of the entity to be deleted
15
15
  # @return [String] target guid
16
16
  property :target_guid, xml_name: :post_guid
17
17
 
18
18
  # @!attribute [r] target_type
19
- # A string describing the type of the target.
19
+ # A string describing the type of the target
20
20
  # @return [String] target type
21
21
  property :target_type, xml_name: :type
22
22
 
23
23
  # @!attribute [r] target
24
- # target entity
24
+ # Target entity
25
25
  # @return [RelatedEntity] target entity
26
26
  entity :target, Entities::RelatedEntity
27
27
 
@@ -1,27 +1,27 @@
1
1
  module DiasporaFederation
2
2
  module Entities
3
- # this entity represents a claim of deletion of a previously federated
4
- # entity of post type ({Entities::StatusMessage})
3
+ # This entity represents a claim of deletion of a previously federated
4
+ # entity of post type. ({Entities::StatusMessage})
5
5
  #
6
6
  # @see Validators::SignedRetractionValidator
7
7
  # @deprecated will be replaced with {Entities::Retraction}
8
8
  class SignedRetraction < Entity
9
9
  # @!attribute [r] target_guid
10
- # guid of a post to be deleted
10
+ # Guid of a post to be deleted
11
11
  # @see Retraction#target_guid
12
12
  # @return [String] target guid
13
13
  property :target_guid
14
14
 
15
15
  # @!attribute [r] target_type
16
- # A string describing the type of the target.
16
+ # A string describing the type of the target
17
17
  # @see Retraction#target_type
18
18
  # @return [String] target type
19
19
  property :target_type
20
20
 
21
21
  # @!attribute [r] author
22
- # The diaspora ID of the person who deletes a post
22
+ # The diaspora* ID of the person who deletes a post
23
23
  # @see Person#author
24
- # @return [String] diaspora ID
24
+ # @return [String] diaspora* ID
25
25
  property :author, xml_name: :sender_handle
26
26
 
27
27
  # @!attribute [r] author_signature
@@ -31,11 +31,11 @@ module DiasporaFederation
31
31
  property :target_author_signature, default: nil
32
32
 
33
33
  # @!attribute [r] target
34
- # target entity
34
+ # Target entity
35
35
  # @return [RelatedEntity] target entity
36
36
  entity :target, Entities::RelatedEntity
37
37
 
38
- # use only {Retraction} for receive
38
+ # Use only {Retraction} for receive
39
39
  # @return [Retraction] instance as normal retraction
40
40
  def to_retraction
41
41
  Retraction.new(author: author, target_guid: target_guid, target_type: target_type, target: target)
@@ -1,33 +1,33 @@
1
1
  module DiasporaFederation
2
2
  module Entities
3
- # this entity represents a status message sent by a user
3
+ # This entity represents a status message sent by a user.
4
4
  #
5
5
  # @see Validators::StatusMessageValidator
6
6
  class StatusMessage < Entity
7
7
  include Post
8
8
 
9
- # @!attribute [r] raw_message
10
- # text of the status message composed by the user
9
+ # @!attribute [r] text
10
+ # Text of the status message composed by the user
11
11
  # @return [String] text of the status message
12
- property :raw_message
12
+ property :text, xml_name: :raw_message
13
13
 
14
14
  # @!attribute [r] photos
15
- # optional photos attached to the status message
15
+ # Optional photos attached to the status message
16
16
  # @return [[Entities::Photo]] photos
17
17
  entity :photos, [Entities::Photo], default: []
18
18
 
19
19
  # @!attribute [r] location
20
- # optional location attached to the status message
20
+ # Optional location attached to the status message
21
21
  # @return [Entities::Location] location
22
22
  entity :location, Entities::Location, default: nil
23
23
 
24
24
  # @!attribute [r] poll
25
- # optional poll attached to the status message
25
+ # Optional poll attached to the status message
26
26
  # @return [Entities::Poll] poll
27
27
  entity :poll, Entities::Poll, default: nil
28
28
 
29
29
  # @!attribute [r] public
30
- # shows whether the status message is visible to everyone or only to some aspects
30
+ # Shows whether the status message is visible to everyone or only to some aspects
31
31
  # @return [Boolean] is it public
32
32
  property :public, default: false
33
33