etherpad-lite 0.2.3 → 0.3.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/CHANGELOG +8 -0
- data/README.rdoc +1 -1
- data/lib/etherpad-lite/models.rb +1 -0
- data/lib/etherpad-lite/models/diff.rb +43 -0
- data/lib/etherpad-lite/models/pad.rb +10 -0
- data/lib/etherpad-lite/version.rb +4 -2
- metadata +16 -19
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d745cb72cb181e73a58f018361f65076f5c71271
|
4
|
+
data.tar.gz: 37b34bf47ae14afd97d03bc68517ea6695a5bdea
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 33430a5fffc2557c13305e928aa43ee9def25c0a77630af96ead8ed7ba099e1908395332581d028628ec9c9046089fd101ad787d5c1d5fe32a99b2760480c65f
|
7
|
+
data.tar.gz: 1377f2b2e7a8b4aacf4712e30b393b5bed5247c6f4fe3c3e73b2be7532de96f0b6b55a5b0c132089e96c9c012f96cf3fb9bbf733b82e11e1401e2cbb22852b21
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
** RELEASE 0.3.0 (2013-08-27) **
|
2
|
+
|
3
|
+
* 100th commit, woot!
|
4
|
+
* Target version 1.2.8 of API
|
5
|
+
* Added EtherpadLite::API_VERSION constant to reflect the above
|
6
|
+
* Added EtherpadLite::Pad#diff (EtherpadLite::Diff)
|
7
|
+
* Added EtherpadLite::Pad#changeset
|
8
|
+
|
1
9
|
** RELEASE 0.2.3 (2013-04-11) **
|
2
10
|
|
3
11
|
* Add support for Chat API
|
data/README.rdoc
CHANGED
@@ -39,7 +39,7 @@ The above example deals with public pads, accessible to anyone through the Web U
|
|
39
39
|
Examples are documented in EtherpadLite::Group, EtherpadLite::Author, and EtherpadLite::Session.
|
40
40
|
|
41
41
|
== Example use in Rails
|
42
|
-
For your view, I recommend the jQuery plugin at {github.com/
|
42
|
+
For your view, I recommend the jQuery plugin at {github.com/ether/etherpad-lite-jquery-plugin}[https://github.com/ether/etherpad-lite-jquery-plugin].
|
43
43
|
Also, I recommend reading the docs for EtherpadLite::Group first.
|
44
44
|
|
45
45
|
Add the following to your Gemfile
|
data/lib/etherpad-lite/models.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'etherpad-lite/models/padded'
|
2
2
|
require 'etherpad-lite/models/instance'
|
3
3
|
require 'etherpad-lite/models/pad'
|
4
|
+
require 'etherpad-lite/models/diff'
|
4
5
|
require 'etherpad-lite/models/chat_message'
|
5
6
|
require 'etherpad-lite/models/group'
|
6
7
|
require 'etherpad-lite/models/author'
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module EtherpadLite
|
2
|
+
# Represents a diff between two Pad revisions.
|
3
|
+
class Diff
|
4
|
+
# The EtherpadLite::Instance object
|
5
|
+
attr_accessor :instance
|
6
|
+
# The EtherpadLite::Pad object
|
7
|
+
attr_accessor :pad
|
8
|
+
# Diff start revision
|
9
|
+
attr_accessor :start_rev
|
10
|
+
# Diff end revision
|
11
|
+
attr_accessor :end_rev
|
12
|
+
|
13
|
+
# If end_rev is not specified, the latest revision will be used
|
14
|
+
def initialize(pad, start_rev, end_rev=nil)
|
15
|
+
@instance = pad.instance
|
16
|
+
@pad = pad
|
17
|
+
@start_rev = start_rev
|
18
|
+
@end_rev = end_rev || pad.revision_numbers.last
|
19
|
+
end
|
20
|
+
|
21
|
+
# Returns the diff as html
|
22
|
+
def html
|
23
|
+
diff[:html]
|
24
|
+
end
|
25
|
+
|
26
|
+
# Returns the IDs of the authors who were involved in the diff
|
27
|
+
def author_ids
|
28
|
+
diff[:authors]
|
29
|
+
end
|
30
|
+
|
31
|
+
# Returns Authors who were involved in the diff
|
32
|
+
def authors
|
33
|
+
@authors ||= author_ids.map { |id| Author.new(instance, id) }
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
# Queries and caches the diff
|
39
|
+
def diff
|
40
|
+
@diff ||= instance.client.createDiffHTML(padID: pad.id, startRev: start_rev, endRev: end_rev)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -121,6 +121,16 @@ module EtherpadLite
|
|
121
121
|
revision_numbers.map { |n| Pad.new(@instance, @id, :rev => n) }
|
122
122
|
end
|
123
123
|
|
124
|
+
# Returns a Diff. If end_rev is not specified, the latest revision will be used
|
125
|
+
def diff(start_rev, end_rev=nil)
|
126
|
+
Diff.new(self, start_rev, end_rev)
|
127
|
+
end
|
128
|
+
|
129
|
+
# Returns the changeset for the given revision
|
130
|
+
def changeset(rev)
|
131
|
+
@instance.client.getRevisionChangeset(padID: @id, rev: rev)
|
132
|
+
end
|
133
|
+
|
124
134
|
# Returns an array of users hashes, representing users currently using the pad
|
125
135
|
def users
|
126
136
|
@instance.client.padUsers(padID: @id)[:padUsers]
|
metadata
CHANGED
@@ -1,30 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: etherpad-lite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jordan Hollinger
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-09-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rest-client
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '1.6'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '1.6'
|
30
27
|
description: etherpad-lite is a Ruby interface to Etherpad Lite's HTTP JSON API
|
@@ -34,42 +31,42 @@ extensions: []
|
|
34
31
|
extra_rdoc_files:
|
35
32
|
- README.rdoc
|
36
33
|
files:
|
37
|
-
- lib/etherpad-lite/
|
38
|
-
- lib/etherpad-lite/
|
34
|
+
- lib/etherpad-lite/client.rb
|
35
|
+
- lib/etherpad-lite/version.rb
|
39
36
|
- lib/etherpad-lite/models/group.rb
|
40
|
-
- lib/etherpad-lite/models/pad.rb
|
41
37
|
- lib/etherpad-lite/models/chat_message.rb
|
42
|
-
- lib/etherpad-lite/models/instance.rb
|
43
38
|
- lib/etherpad-lite/models/padded.rb
|
39
|
+
- lib/etherpad-lite/models/pad.rb
|
40
|
+
- lib/etherpad-lite/models/diff.rb
|
41
|
+
- lib/etherpad-lite/models/author.rb
|
42
|
+
- lib/etherpad-lite/models/instance.rb
|
43
|
+
- lib/etherpad-lite/models/session.rb
|
44
44
|
- lib/etherpad-lite/models.rb
|
45
|
-
- lib/etherpad-lite/client.rb
|
46
|
-
- lib/etherpad-lite/version.rb
|
47
45
|
- lib/etherpad-lite.rb
|
48
46
|
- README.rdoc
|
49
47
|
- CHANGELOG
|
50
48
|
- LICENSE
|
51
49
|
homepage: http://github.com/jhollinger/ruby-etherpad-lite
|
52
50
|
licenses: []
|
51
|
+
metadata: {}
|
53
52
|
post_install_message:
|
54
53
|
rdoc_options: []
|
55
54
|
require_paths:
|
56
55
|
- lib
|
57
56
|
required_ruby_version: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
57
|
requirements:
|
60
|
-
- -
|
58
|
+
- - '>='
|
61
59
|
- !ruby/object:Gem::Version
|
62
60
|
version: '0'
|
63
61
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
|
-
none: false
|
65
62
|
requirements:
|
66
|
-
- -
|
63
|
+
- - '>='
|
67
64
|
- !ruby/object:Gem::Version
|
68
65
|
version: '0'
|
69
66
|
requirements: []
|
70
67
|
rubyforge_project:
|
71
|
-
rubygems_version:
|
68
|
+
rubygems_version: 2.0.3
|
72
69
|
signing_key:
|
73
|
-
specification_version:
|
70
|
+
specification_version: 4
|
74
71
|
summary: A Ruby client library for Etherpad Lite
|
75
72
|
test_files: []
|