html_surgeon 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|