html_surgeon 0.2.0 → 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 +4 -4
- data/README.md +11 -5
- data/lib/html_surgeon/change.rb +2 -2
- data/lib/html_surgeon/change_set.rb +12 -2
- data/lib/html_surgeon/service.rb +5 -0
- data/lib/html_surgeon/version.rb +1 -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: 128a0133d9c441981b5488fcd23ce7d1d199b295
|
4
|
+
data.tar.gz: 80cbf114adcbbf71b74ca8c2edc42af26bf32ee6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 383b56f154ac0bf797035ad02da5c9ce24bad52efc2d9e2e0659ff91cdce5df07654068845836b12a5cf36feb82f92f5766648424b835aea927ad50e4db8d818
|
7
|
+
data.tar.gz: 86d0f5ba4376e8337cb62ccf75341d46e72df559b422eca1ae3ac574d06eb58ce1237d08bbd5519677ef94d88ec0f60874e6270b0ca342444488080500ecffb2
|
data/README.md
CHANGED
@@ -147,7 +147,7 @@ the attribute's value (formatted) is:
|
|
147
147
|
]
|
148
148
|
```
|
149
149
|
|
150
|
-
it has a `change_set` with the
|
150
|
+
it has a `change_set` with the ID of the change set, `changed_at` with the moment it was applied, and the rest define the change.
|
151
151
|
|
152
152
|
## Selecting the Node Set
|
153
153
|
|
@@ -161,8 +161,9 @@ change_set = surgeon.css('div.to-be-changed')
|
|
161
161
|
|
162
162
|
### using xpath
|
163
163
|
|
164
|
-
|
165
|
-
|
164
|
+
```ruby
|
165
|
+
change_set = surgeon.xpath("span") # note that we use Nokogiri's HTML Fragment and the use of self is special.
|
166
|
+
```
|
166
167
|
|
167
168
|
## Available Changes
|
168
169
|
|
@@ -227,5 +228,10 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/eturin
|
|
227
228
|
|
228
229
|
## CHANGESET
|
229
230
|
|
230
|
-
###
|
231
|
-
|
231
|
+
### v0.3.0
|
232
|
+
|
233
|
+
- added fluid ChangeSet ID setter
|
234
|
+
- added change_set xpath support
|
235
|
+
|
236
|
+
### v0.2.0
|
237
|
+
- added rollback support
|
data/lib/html_surgeon/change.rb
CHANGED
@@ -7,7 +7,7 @@ module HtmlSurgeon
|
|
7
7
|
|
8
8
|
attr_reader :change_set
|
9
9
|
delegate :audit?, to: :change_set
|
10
|
-
delegate :
|
10
|
+
delegate :id, :run_time, to: :change_set, prefix: true
|
11
11
|
|
12
12
|
def initialize(change_set:)
|
13
13
|
@change_set = change_set
|
@@ -34,7 +34,7 @@ module HtmlSurgeon
|
|
34
34
|
private
|
35
35
|
def basic_audit_data
|
36
36
|
{
|
37
|
-
change_set:
|
37
|
+
change_set: change_set_id,
|
38
38
|
changed_at: change_set_run_time
|
39
39
|
}
|
40
40
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module HtmlSurgeon
|
2
2
|
|
3
3
|
class ChangeSet
|
4
|
-
attr_reader :node_set, :base, :change_list, :
|
4
|
+
attr_reader :node_set, :base, :change_list, :run_time
|
5
5
|
|
6
6
|
def self.create(node_set, base)
|
7
7
|
new_class.new node_set, base
|
@@ -19,7 +19,7 @@ module HtmlSurgeon
|
|
19
19
|
@node_set = node_set
|
20
20
|
@base = base
|
21
21
|
@change_list = []
|
22
|
-
@
|
22
|
+
@id = SecureRandom.uuid
|
23
23
|
@run_time = nil
|
24
24
|
end
|
25
25
|
|
@@ -27,6 +27,16 @@ module HtmlSurgeon
|
|
27
27
|
|
28
28
|
# TODO: #preview, like run but in another doc, does not change it yet.
|
29
29
|
|
30
|
+
# chainable fluid ID setter
|
31
|
+
def id(custom_id = nil)
|
32
|
+
if custom_id
|
33
|
+
@id = custom_id
|
34
|
+
self
|
35
|
+
else
|
36
|
+
@id
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
30
40
|
def run
|
31
41
|
@run_time = Time.now.utc
|
32
42
|
|
data/lib/html_surgeon/service.rb
CHANGED
@@ -21,6 +21,11 @@ module HtmlSurgeon
|
|
21
21
|
ChangeSet.create(node_set, self)
|
22
22
|
end
|
23
23
|
|
24
|
+
def xpath(xpath_selector)
|
25
|
+
node_set = doc.xpath(xpath_selector)
|
26
|
+
ChangeSet.create(node_set, self)
|
27
|
+
end
|
28
|
+
|
24
29
|
def rollback(change_set: nil, changed_at: nil, changed_from: nil)
|
25
30
|
doc.css("[#{DATA_CHANGE_AUDIT_ATTRIBUTE}]").each do |node|
|
26
31
|
NodeReverser.new(node: node, change_set: change_set, changed_at: changed_at, changed_from: changed_from).call
|
data/lib/html_surgeon/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: html_surgeon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo Turiño
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|