deckar01-task_list 1.0.3 → 1.0.4
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/bower.json +1 -1
- data/lib/task_list/filter.rb +9 -6
- data/lib/task_list/version.rb +1 -1
- data/test/task_list/filter_test.rb +8 -0
- 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: 98c115a88c39b3864da7fbfa85b51ad7e087fa20
|
4
|
+
data.tar.gz: c3046d2ebb7b25f698aa236f04a5ae390c5d7cc5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7e395593cb4e2dd7e3adfed007bb362989d8c3aedf21783200bfb65bb6bc38813a1920cc499524a219621f97222d53e21f8fbea3532c2df2d2c4b469eb802d8
|
7
|
+
data.tar.gz: 40e6d857004eeddcf1c58c7794d4486bb2675f599c383b418d8a5faa684699e7f80f969643fadb33a991264e0d8f9d06c997c2af56185a5d2f408617a78bd150
|
data/bower.json
CHANGED
data/lib/task_list/filter.rb
CHANGED
@@ -54,7 +54,7 @@ class TaskList
|
|
54
54
|
|
55
55
|
class XPathSelectorFunction
|
56
56
|
def self.task_list_item(nodes)
|
57
|
-
nodes
|
57
|
+
nodes.select { |node| node.text =~ ItemPattern }
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
@@ -95,12 +95,13 @@ class TaskList
|
|
95
95
|
item.source.sub(ItemPattern, render_item_checkbox(item)), 'utf-8'
|
96
96
|
end
|
97
97
|
|
98
|
-
# Public: Select all task
|
98
|
+
# Public: Select all task list items within `container`.
|
99
99
|
#
|
100
100
|
# Returns an Array of Nokogiri::XML::Element objects for ordered and
|
101
|
-
# unordered lists.
|
102
|
-
|
103
|
-
|
101
|
+
# unordered lists. The container can either be the entire document (as
|
102
|
+
# returned by `#doc`) or an Element object.
|
103
|
+
def list_items(container)
|
104
|
+
container.xpath(ListItemSelector, XPathSelectorFunction)
|
104
105
|
end
|
105
106
|
|
106
107
|
# Filters the source for task list items.
|
@@ -112,7 +113,9 @@ class TaskList
|
|
112
113
|
#
|
113
114
|
# Returns nothing.
|
114
115
|
def filter!
|
115
|
-
list_items.reverse.each do |li|
|
116
|
+
list_items(doc).reverse.each do |li|
|
117
|
+
next if list_items(li.parent).empty?
|
118
|
+
|
116
119
|
add_css_class(li.parent, 'task-list')
|
117
120
|
|
118
121
|
outer, inner =
|
data/lib/task_list/version.rb
CHANGED
@@ -13,6 +13,14 @@ class TaskList::FilterTest < Minitest::Test
|
|
13
13
|
@item_selector = "input.task-list-item-checkbox[type=checkbox]"
|
14
14
|
end
|
15
15
|
|
16
|
+
def test_has_no_effect_on_lists_with_no_tasks
|
17
|
+
text = <<-md
|
18
|
+
- plain
|
19
|
+
- bullets
|
20
|
+
md
|
21
|
+
assert_equal 0, filter(text)[:output].css('ul.task-list').size
|
22
|
+
end
|
23
|
+
|
16
24
|
def test_filters_items_in_a_list
|
17
25
|
text = <<-md
|
18
26
|
- [ ] incomplete
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deckar01-task_list
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared Deckard
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-09-
|
12
|
+
date: 2016-09-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|