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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 69b26a0e6f05a364115daf455c348d72627c5577
4
- data.tar.gz: accee3201502d60fff35a35d9902dc21a5935b35
3
+ metadata.gz: 9ba82f5232ef44f9731f00859c5a32fa8163570e
4
+ data.tar.gz: 01c7f76df999d4a0f476cf7c0ddbbc4f1a86ef0a
5
5
  SHA512:
6
- metadata.gz: 0443a2e34f0d7805ae7e59edb85d4f63eb9c0639033d749f5050c8ef7d52aba2f88b5dcda4c76a495ea42c82ceb3470f605fe36861b73266e89964b8b8f279c6
7
- data.tar.gz: 991d0a6307601a92a1b9dc3cd9127c58fe6c3a5a14448a1242d32d2d07f704759a0c7a1e83b936a7f09f563ca7d9837fa7b09f0f3aac828625eac5ca77ad2d94
6
+ metadata.gz: 49abed4f800587ea9f0a671cd1eccc74a3df06b58f9039e61a7540b8e809cf54b4b49f6e8d075e6fe943ffd687d10c2d0e48e250878d080e0c6370ff27979ee6
7
+ data.tar.gz: 36c5a25c0744fda688707de4d0c469d90989a3fb016e1af39e030efa38dddc3d4b6c9a89be21d52245950f41b59fb030c8c5eeda3a96e8475cdfa6ff3057c2b7
data/Changelog.md ADDED
@@ -0,0 +1,28 @@
1
+ # 0.1.2
2
+
3
+ ## Refactor
4
+
5
+ * Improve code documentation [#38](https://github.com/diaspora/diaspora_federation/pull/38)
6
+ * Improve validation [9b32315](https://github.com/diaspora/diaspora_federation/commit/9b3231583d85e6007bf43cedc4480f043c8bde15) [eb8cdef](https://github.com/diaspora/diaspora_federation/commit/eb8cdef604cc8fe71e8455f36a317d80657f1582) [0980294](https://github.com/diaspora/diaspora_federation/commit/0980294a0d259cba1fa2a2a655163b3fa844d239)
7
+ * Photo: `status_message_guid` is optional [4136fb9](https://github.com/diaspora/diaspora_federation/commit/4136fb973e7ad27158ef605df12727f4e959c3a3)
8
+ * A GUID is at most 255 chars long [f7d269c](https://github.com/diaspora/diaspora_federation/commit/f7d269cd6a4c1b48a7b34083f5fea04ac0835a48)
9
+ * hCard: `nickname` is optional [4b94949](https://github.com/diaspora/diaspora_federation/commit/4b949491df3a16b30f6e27113d6fa95c165c1edc)
10
+ * StatusMessage: Rename `raw_message` to `text` [2aaff56](https://github.com/diaspora/diaspora_federation/commit/2aaff56e147b505626a615d60564fbbf22c2f452) [#29](https://github.com/diaspora/diaspora_federation/issues/29)
11
+
12
+ ## Bug fixes
13
+
14
+ * Do not reuse cURL sockets to avoid issues caused by too many simultaneous connections [#37](https://github.com/diaspora/diaspora_federation/pull/37)
15
+ * Handle empty xml-elements for nested entities [26b7991](https://github.com/diaspora/diaspora_federation/commit/26b7991defe1d84d10c1186a151676076946b26f)
16
+ * Gracefully handle missing xml elements of relayables [9097097](https://github.com/diaspora/diaspora_federation/commit/90970973a58cbc3d897d21a43c0a6c93a30605be)
17
+
18
+ # 0.1.1
19
+
20
+ ## Features
21
+
22
+ * Fetch root posts for reshares [9b090a3](https://github.com/diaspora/diaspora_federation/commit/9b090a39501705f00403f124e215e78866039f1e)
23
+
24
+ # 0.1.0
25
+
26
+ ## Features
27
+
28
+ * Added Salmon support
data/README.md CHANGED
@@ -10,7 +10,8 @@
10
10
  [![Inline docs](https://inch-ci.org/github/diaspora/diaspora_federation.svg?branch=master)](https://inch-ci.org/github/diaspora/diaspora_federation)
11
11
  [![Gem Version](https://badge.fury.io/rb/diaspora_federation.svg)](https://badge.fury.io/rb/diaspora_federation)
12
12
 
13
- [Documentation](http://www.rubydoc.info/gems/diaspora_federation/) |
13
+ [Gem Documentation](http://www.rubydoc.info/gems/diaspora_federation/) |
14
+ [Protocol Documentation](http://diaspora.github.io/diaspora_federation/) |
14
15
  [Bugtracker](https://github.com/diaspora/diaspora_federation/issues)
15
16
 
16
17
  This repository contains two gems:
@@ -48,7 +48,7 @@ module DiasporaFederation
48
48
  # @return [Callbacks] callbacks
49
49
  attr_reader :callbacks
50
50
 
51
- # the pod url
51
+ # The pod url
52
52
  #
53
53
  # @overload server_uri
54
54
  # @return [URI] the server uri
@@ -80,7 +80,7 @@ module DiasporaFederation
80
80
  # @param [Integer] value max number of parallel requests
81
81
  attr_accessor :http_concurrency
82
82
 
83
- # timeout in seconds for http-requests (default: +30+)
83
+ # Timeout in seconds for http-requests (default: +30+)
84
84
  #
85
85
  # @overload http_timeout
86
86
  # @return [Integer] http timeout in seconds
@@ -98,15 +98,15 @@ module DiasporaFederation
98
98
  # @param [Boolean] value verbose http output
99
99
  attr_accessor :http_verbose
100
100
 
101
- # max redirects to follow
101
+ # Max redirects to follow
102
102
  # @return [Integer] max redirects
103
103
  attr_reader :http_redirect_limit
104
104
 
105
- # user agent used for http-requests
105
+ # User agent used for http-requests
106
106
  # @return [String] user agent
107
107
  attr_reader :http_user_agent
108
108
 
109
- # configure the federation library
109
+ # Configure the federation library
110
110
  #
111
111
  # @example
112
112
  # DiasporaFederation.configure do |config|
@@ -120,7 +120,7 @@ module DiasporaFederation
120
120
  yield self
121
121
  end
122
122
 
123
- # define the callbacks
123
+ # Define the callbacks
124
124
  #
125
125
  # In order to communicate with the application which uses the diaspora_federation gem
126
126
  # callbacks are introduced. The callbacks are used for getting required data from the
@@ -130,7 +130,7 @@ module DiasporaFederation
130
130
  #
131
131
  # fetch_person_for_webfinger
132
132
  # Fetches person data from the application to form a WebFinger reply
133
- # @param [String] Diaspora ID of the person
133
+ # @param [String] diaspora* ID of the person
134
134
  # @return [DiasporaFederation::Discovery::WebFinger] person webfinger data
135
135
  #
136
136
  # fetch_person_for_hcard
@@ -144,13 +144,13 @@ module DiasporaFederation
144
144
  # @param [DiasporaFederation::Entities::Person] person data
145
145
  #
146
146
  # fetch_private_key
147
- # Fetches a private key of a person by her Diaspora ID from the application
148
- # @param [String] Diaspora ID of the person
147
+ # Fetches a private key of a person by her diaspora* ID from the application
148
+ # @param [String] diaspora* ID of the person
149
149
  # @return [OpenSSL::PKey::RSA] key
150
150
  #
151
151
  # fetch_public_key
152
- # Fetches a public key of a person by her Diaspora ID from the application
153
- # @param [String] Diaspora ID of the person
152
+ # Fetches a public key of a person by her diaspora* ID from the application
153
+ # @param [String] diaspora* ID of the person
154
154
  # @return [OpenSSL::PKey::RSA] key
155
155
  #
156
156
  # fetch_related_entity
@@ -178,12 +178,12 @@ module DiasporaFederation
178
178
  # see {Receiver.receive_private}
179
179
  #
180
180
  # fetch_public_entity
181
- # fetch a public entity from the database
181
+ # Fetch a public entity from the database
182
182
  # @param [String] entity_type (Post, StatusMessage, etc)
183
183
  # @param [String] guid the guid of the entity
184
184
  #
185
185
  # fetch_person_url_to
186
- # fetch the url to path for a person
186
+ # Fetch the url to path for a person
187
187
  # @param [String] diaspora_id
188
188
  # @param [String] path
189
189
  #
@@ -206,7 +206,7 @@ module DiasporaFederation
206
206
  @callbacks.instance_eval(&block)
207
207
  end
208
208
 
209
- # validates if the engine is configured correctly
209
+ # Validates if the engine is configured correctly
210
210
  #
211
211
  # called from after_initialize
212
212
  # @raise [ConfigurationError] if the configuration is incomplete or invalid
@@ -2,7 +2,7 @@ module DiasporaFederation
2
2
  # Callbacks are used to communicate with the application. They are called to
3
3
  # fetch data and after data is received.
4
4
  class Callbacks
5
- # Initializes a new Callbacks object with the event-keys that need to be defined.
5
+ # Initializes a new Callbacks object with the event-keys that need to be defined
6
6
  #
7
7
  # @example
8
8
  # Callbacks.new %i(
@@ -16,7 +16,7 @@ module DiasporaFederation
16
16
  @handlers = {}
17
17
  end
18
18
 
19
- # defines a callback
19
+ # Defines a callback
20
20
  #
21
21
  # @example
22
22
  # callbacks.on :some_event do |arg1|
@@ -33,7 +33,7 @@ module DiasporaFederation
33
33
  @handlers[event] = callback
34
34
  end
35
35
 
36
- # triggers a callback
36
+ # Triggers a callback
37
37
  #
38
38
  # @example
39
39
  # callbacks.trigger :some_event, "foo"
@@ -47,7 +47,7 @@ module DiasporaFederation
47
47
  @handlers[event].call(*args)
48
48
  end
49
49
 
50
- # checks if all callbacks are defined
50
+ # Checks if all callbacks are defined
51
51
  # @return [Boolean]
52
52
  def definition_complete?
53
53
  missing_handlers.empty?
@@ -1,7 +1,7 @@
1
1
  module DiasporaFederation
2
2
  # This module provides the namespace for the various classes implementing
3
3
  # WebFinger and other protocols used for metadata discovery on remote servers
4
- # in the Diaspora* network.
4
+ # in the diaspora* network.
5
5
  module Discovery
6
6
  end
7
7
  end
@@ -1,19 +1,19 @@
1
1
  module DiasporaFederation
2
2
  module Discovery
3
- # This class contains the logic to fetch all data for the given diaspora ID
3
+ # This class contains the logic to fetch all data for the given diaspora* ID.
4
4
  class Discovery
5
5
  include DiasporaFederation::Logging
6
6
 
7
- # @return [String] the diaspora ID of the account
7
+ # @return [String] the diaspora* ID of the account
8
8
  attr_reader :diaspora_id
9
9
 
10
- # create a discovery class for the diaspora-id
11
- # @param [String] diaspora_id the diaspora id to discover
10
+ # Creates a discovery class for the diaspora* ID
11
+ # @param [String] diaspora_id the diaspora* ID to discover
12
12
  def initialize(diaspora_id)
13
13
  @diaspora_id = clean_diaspora_id(diaspora_id)
14
14
  end
15
15
 
16
- # fetch all metadata for the account and saves it via callback
16
+ # Fetches all metadata for the account and saves it via callback
17
17
  # @return [Person]
18
18
  def fetch_and_save
19
19
  logger.info "Fetch data for #{diaspora_id}"
@@ -28,9 +28,9 @@ module DiasporaFederation
28
28
  private
29
29
 
30
30
  def validate_diaspora_id
31
- # validates if the diaspora ID matches the diaspora ID in the webfinger response
31
+ # Validates if the diaspora* ID matches the diaspora* ID in the webfinger response
32
32
  return if diaspora_id == clean_diaspora_id(webfinger.acct_uri)
33
- raise DiscoveryError, "Diaspora ID does not match: Wanted #{diaspora_id} but got" \
33
+ raise DiscoveryError, "diaspora* ID does not match: Wanted #{diaspora_id} but got" \
34
34
  " #{clean_diaspora_id(webfinger.acct_uri)}"
35
35
  end
36
36
 
@@ -59,7 +59,7 @@ module DiasporaFederation
59
59
  end
60
60
 
61
61
  def legacy_webfinger_url_from_host_meta
62
- # this tries the xrd url with https first, then falls back to http
62
+ # This tries the xrd url with https first, then falls back to http.
63
63
  host_meta = HostMeta.from_xml get(host_meta_url, true)
64
64
  host_meta.webfinger_template_url.gsub("{uri}", "acct:#{diaspora_id}")
65
65
  end
@@ -1,6 +1,6 @@
1
1
  module DiasporaFederation
2
2
  module Discovery
3
- # This class provides the means of generating an parsing account data to and
3
+ # This class provides the means of generating and parsing account data to and
4
4
  # from the hCard format.
5
5
  # hCard is based on +RFC 2426+ (vCard) which got superseded by +RFC 6350+.
6
6
  # There is a draft for a new h-card format specification, that makes use of
@@ -46,9 +46,9 @@ module DiasporaFederation
46
46
  property :guid
47
47
 
48
48
  # @!attribute [r] nickname
49
- # the first part of the diaspora ID
49
+ # The first part of the diaspora* ID
50
50
  # @return [String] nickname
51
- property :nickname
51
+ property :nickname, default: nil
52
52
 
53
53
  # @!attribute [r] full_name
54
54
  # @return [String] display name of the user
@@ -56,7 +56,7 @@ module DiasporaFederation
56
56
 
57
57
  # @!attribute [r] url
58
58
  # @deprecated should be changed to the profile url. The pod url is in
59
- # the WebFinger (see {WebFinger#seed_url}, will affect older Diaspora*
59
+ # the WebFinger (see {WebFinger#seed_url}, will affect older diaspora*
60
60
  # installations).
61
61
  #
62
62
  # @return [String] link to the pod
@@ -83,7 +83,7 @@ module DiasporaFederation
83
83
 
84
84
  # @!attribute [r] first_name
85
85
  # @deprecated We decided to only use one name field, these should be removed
86
- # in later iterations (will affect older Diaspora* installations).
86
+ # in later iterations (will affect older diaspora* installations).
87
87
  #
88
88
  # @see #full_name
89
89
  # @return [String] first name
@@ -91,7 +91,7 @@ module DiasporaFederation
91
91
 
92
92
  # @!attribute [r] last_name
93
93
  # @deprecated We decided to only use one name field, these should be removed
94
- # in later iterations (will affect older Diaspora* installations).
94
+ # in later iterations (will affect older diaspora* installations).
95
95
  #
96
96
  # @see #full_name
97
97
  # @return [String] last name
@@ -100,7 +100,7 @@ module DiasporaFederation
100
100
  # @!attribute [r] searchable
101
101
  # @deprecated As this is a simple property, consider move to WebFinger instead
102
102
  # of HCard. vCard has no comparable field for this information, but
103
- # Webfinger may declare arbitrary properties (will affect older Diaspora*
103
+ # Webfinger may declare arbitrary properties (will affect older diaspora*
104
104
  # installations).
105
105
  #
106
106
  # flag if a user is searchable by name
@@ -152,7 +152,7 @@ module DiasporaFederation
152
152
  builder.doc.to_xhtml(indent: 2, indent_text: " ")
153
153
  end
154
154
 
155
- # Creates a new HCard instance from the given HTML string.
155
+ # Creates a new HCard instance from the given HTML string
156
156
  # @param html_string [String] HTML string
157
157
  # @return [HCard] HCard instance
158
158
  # @raise [InvalidData] if the HTML string is invalid or incomplete
@@ -219,7 +219,7 @@ module DiasporaFederation
219
219
  end
220
220
  end
221
221
 
222
- # Calls {HCard#add_property} for a simple text property.
222
+ # Calls {HCard#add_property} for a simple text property
223
223
  # @param container [Nokogiri::XML::Element] parent element
224
224
  # @param name [Symbol] property name
225
225
  # @param class_name [String] HTML class name
@@ -253,8 +253,7 @@ module DiasporaFederation
253
253
  # @param [LibXML::XML::Document] doc HTML document
254
254
  # @return [Boolean] validation result
255
255
  private_class_method def self.html_document_complete?(doc)
256
- !(doc.at_css(SELECTORS[:fn]).nil? || doc.at_css(SELECTORS[:nickname]).nil? ||
257
- doc.at_css(SELECTORS[:photo]).nil?)
256
+ !(doc.at_css(SELECTORS[:fn]).nil? || doc.at_css(SELECTORS[:photo]).nil?)
258
257
  end
259
258
 
260
259
  private_class_method def self.parse_html_and_validate(html_string)
@@ -270,7 +269,7 @@ module DiasporaFederation
270
269
  end
271
270
 
272
271
  private_class_method def self.content_from_doc(doc, content_selector)
273
- element_from_doc(doc, content_selector).content
272
+ element_from_doc(doc, content_selector).try(:content)
274
273
  end
275
274
 
276
275
  private_class_method def self.photo_from_doc(doc, photo_selector)
@@ -4,7 +4,7 @@ module DiasporaFederation
4
4
  # Generates and parses Host Meta documents.
5
5
  #
6
6
  # This is a minimal implementation of the standard, only to the degree of what
7
- # is used for the purposes of the Diaspora* protocol. (e.g. WebFinger)
7
+ # is used for the purposes of the diaspora* protocol. (e.g. WebFinger)
8
8
  #
9
9
  # @example Creating a Host Meta document
10
10
  # doc = HostMeta.from_base_url("https://pod.example.tld/")
@@ -19,7 +19,7 @@ module DiasporaFederation
19
19
  class HostMeta
20
20
  private_class_method :new
21
21
 
22
- # create a new host-meta instance
22
+ # Creates a new host-meta instance
23
23
  # @param [String] webfinger_url the webfinger-url
24
24
  def initialize(webfinger_url)
25
25
  @webfinger_url = webfinger_url
@@ -1,9 +1,7 @@
1
1
  module DiasporaFederation
2
2
  module Discovery
3
- # The WebFinger document used for Diaspora* user discovery is based on an older
4
- # draft of the specification you can find in the wiki of the "webfinger" project
5
- # on {http://code.google.com/p/webfinger/wiki/WebFingerProtocol Google Code}
6
- # (from around 2010).
3
+ # The WebFinger document used for diaspora* user discovery is based on an
4
+ # {http://tools.ietf.org/html/draft-jones-appsawg-webfinger older draft of the specification}.
7
5
  #
8
6
  # In the meantime an actual RFC draft has been in development, which should
9
7
  # serve as a base for all future changes of this implementation.
@@ -30,7 +28,6 @@ module DiasporaFederation
30
28
  #
31
29
  # @see http://tools.ietf.org/html/draft-jones-appsawg-webfinger "WebFinger" -
32
30
  # current draft
33
- # @see http://code.google.com/p/webfinger/wiki/CommonLinkRelations
34
31
  # @see http://www.iana.org/assignments/link-relations/link-relations.xhtml
35
32
  # official list of IANA link relations
36
33
  class WebFinger < Entity
@@ -58,7 +55,7 @@ module DiasporaFederation
58
55
  property :profile_url
59
56
 
60
57
  # @!attribute [r] atom_url
61
- # This atom feed is an Activity Stream of the user's public posts. Diaspora
58
+ # This atom feed is an Activity Stream of the user's public posts. diaspora*
62
59
  # pods SHOULD publish an Activity Stream of public posts, but there is
63
60
  # currently no requirement to be able to read Activity Streams.
64
61
  # @see http://activitystrea.ms/ Activity Streams specification
@@ -82,7 +79,7 @@ module DiasporaFederation
82
79
  # @!attribute [r] guid
83
80
  # @deprecated Either convert these to +Property+ elements or move to the
84
81
  # +hCard+, which actually has fields for an +UID+ defined in the +vCard+
85
- # specification (will affect older Diaspora* installations).
82
+ # specification (will affect older diaspora* installations).
86
83
  #
87
84
  # @see HCard#guid
88
85
  # @see Entities::Person#guid
@@ -92,7 +89,7 @@ module DiasporaFederation
92
89
  # @!attribute [r] public_key
93
90
  # @deprecated Either convert these to +Property+ elements or move to the
94
91
  # +hCard+, which actually has fields for an +KEY+ defined in the +vCard+
95
- # specification (will affect older Diaspora* installations).
92
+ # specification (will affect older diaspora* installations).
96
93
  #
97
94
  # @see HCard#public_key
98
95
  #
@@ -111,7 +108,7 @@ module DiasporaFederation
111
108
 
112
109
  # @deprecated This should be a +Property+ or moved to the +hCard+, but +Link+
113
110
  # is inappropriate according to the specification (will affect older
114
- # Diaspora* installations).
111
+ # diaspora* installations).
115
112
  # +guid+ link relation
116
113
  REL_GUID = "http://joindiaspora.com/guid".freeze
117
114
 
@@ -130,11 +127,11 @@ module DiasporaFederation
130
127
 
131
128
  # @deprecated This should be a +Property+ or moved to the +hcard+, but +Link+
132
129
  # is inappropriate according to the specification (will affect older
133
- # Diaspora* installations).
130
+ # diaspora* installations).
134
131
  # +pubkey+ link relation
135
132
  REL_PUBKEY = "diaspora-public-key".freeze
136
133
 
137
- # Create the XML string from the current WebFinger instance
134
+ # Creates the XML string from the current WebFinger instance
138
135
  # @return [String] XML string
139
136
  def to_xml
140
137
  doc = XrdDocument.new
@@ -146,7 +143,7 @@ module DiasporaFederation
146
143
  doc.to_xml
147
144
  end
148
145
 
149
- # Create a WebFinger instance from the given XML string.
146
+ # Creates a WebFinger instance from the given XML string
150
147
  # @param [String] webfinger_xml WebFinger XML string
151
148
  # @return [WebFinger] WebFinger instance
152
149
  # @raise [InvalidData] if the given XML string is invalid or incomplete
@@ -229,7 +226,7 @@ module DiasporaFederation
229
226
  element ? element[:template] : nil
230
227
  end
231
228
 
232
- # this method is used to parse the alias_url from the XML.
229
+ # This method is used to parse the alias_url from the XML.
233
230
  # * redmatrix has sometimes no alias, return nil
234
231
  # * old pods had quotes around the alias url, this can be removed later
235
232
  # * friendica has two aliases and the first is with "acct:": return only an URL starting with http (or https)
@@ -1,7 +1,7 @@
1
1
  module DiasporaFederation
2
2
  module Discovery
3
3
  # This class implements basic handling of XRD documents as far as it is
4
- # necessary in the context of the protocols used with Diaspora* federation.
4
+ # necessary in the context of the protocols used with diaspora* federation.
5
5
  #
6
6
  # @note {http://tools.ietf.org/html/rfc6415 RFC 6415} recommends that servers
7
7
  # should also offer the JRD format in addition to the XRD representation.
@@ -1,8 +1,8 @@
1
1
  module DiasporaFederation
2
2
  # This namespace contains all the entities used to encapsulate data that is
3
- # passed around in the Diaspora* network as part of the federation protocol.
3
+ # passed around in the diaspora* network as part of the federation protocol.
4
4
  #
5
- # All entities must be defined in this namespace. otherwise the XML
5
+ # All entities must be defined in this namespace. Otherwise the XML
6
6
  # de-serialization will fail.
7
7
  module Entities
8
8
  end