richtext 0.2.2 → 0.2.3
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 +4 -4
- data/lib/richtext/document/entry.rb +10 -3
- data/lib/richtext/document.rb +2 -2
- data/lib/richtext/node.rb +16 -0
- data/lib/richtext/version.rb +3 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41ad81aab0acaff875ab05feb5b8964ef70c6233
|
4
|
+
data.tar.gz: 9896997c9fc32208909266dad2f833c98e368fe3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d759230e7393f2f95c6e5f8b609f9ef2635cc177f9b1185519fa3d9881d767098024feed9f69399d003e1f46a15e518321e3f9534430219074377ef5e3000c0
|
7
|
+
data.tar.gz: 4229b9f1b465daf570342da6cf08f34b8c7f4d6cf1793373b5cef7c301edbe4bf4ea959a02e787eeee52dd33db593cf68a7d22e5979a6422f682b1121128718c
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RichText
|
2
4
|
class Document
|
3
5
|
# Entry
|
@@ -18,8 +20,8 @@ module RichText
|
|
18
20
|
# Extend the default Node initializer by also accepting a string. It will,
|
19
21
|
# if given, be stored as a text attribute.
|
20
22
|
def initialize(text = nil, **attributes)
|
23
|
+
attributes[:text] = text if text
|
21
24
|
super attributes
|
22
|
-
self[:text] = text if text
|
23
25
|
end
|
24
26
|
|
25
27
|
# Text
|
@@ -48,8 +50,13 @@ module RichText
|
|
48
50
|
super
|
49
51
|
end
|
50
52
|
|
51
|
-
|
52
|
-
|
53
|
+
# Create Child
|
54
|
+
#
|
55
|
+
# Create and append a new child, initialized with the given text and
|
56
|
+
# attributes.
|
57
|
+
def create_child(text = nil, **attributes)
|
58
|
+
attributes = attributes.merge(text: text) if text
|
59
|
+
super(attributes)
|
53
60
|
end
|
54
61
|
|
55
62
|
# Optimize!
|
data/lib/richtext/document.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RichText
|
2
4
|
# Document
|
3
5
|
#
|
@@ -131,7 +133,6 @@ module RichText
|
|
131
133
|
# tree of entry nodes. This method is intended to be overridden when the
|
132
134
|
# Document is subclassed. The default implementation just creates a top
|
133
135
|
# level Entry containing the given string.
|
134
|
-
|
135
136
|
def self.parse(base, string)
|
136
137
|
base[:text] = string
|
137
138
|
end
|
@@ -141,7 +142,6 @@ module RichText
|
|
141
142
|
# Document type specific method for rendering a tree of entry nodes. This
|
142
143
|
# method is intended to be overridden when the Document is subclassed. The
|
143
144
|
# default implementation just concatenates the text entries into.
|
144
|
-
|
145
145
|
def self.render(base)
|
146
146
|
base.to_s
|
147
147
|
end
|
data/lib/richtext/node.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RichText
|
2
4
|
# Node
|
3
5
|
#
|
@@ -44,6 +46,20 @@ module RichText
|
|
44
46
|
def leaf?
|
45
47
|
@children.empty?
|
46
48
|
end
|
49
|
+
|
50
|
+
# Child
|
51
|
+
#
|
52
|
+
# Access the individual children of the node. If the method is called
|
53
|
+
# without argument and the node has only one child it will be returned.
|
54
|
+
# Otherwise an exception will be raised.
|
55
|
+
def child n = nil
|
56
|
+
if n
|
57
|
+
@children[n]
|
58
|
+
else
|
59
|
+
raise 'Node does not have one child' unless count == 1
|
60
|
+
@children[0]
|
61
|
+
end
|
62
|
+
end
|
47
63
|
|
48
64
|
# Append
|
49
65
|
#
|
data/lib/richtext/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: richtext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastian Lindberg
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|