easydom 0.1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 68d91acb3c41b45a354743d6f775ab2cc60b85a57a5cf2ea3ad5da28f521b885
4
+ data.tar.gz: 2e09bbb030bf89aa7b032a3478881a4f8fd70442ecf1184849fa7398456c089d
5
+ SHA512:
6
+ metadata.gz: de631d6429abf3c7f6a15b2cf5bad8ca804993e0384bfb1fffb16c2d71c0cc00abbb21448b57c6850ff77c381e030b709ad94acb3eecb24c0fc5de3db4bf95f9
7
+ data.tar.gz: 2bac6a2f38a7015c4e8076314249e5c552b1da410171b1bc5bd0b70634160e38bdf800bc33b05390a057f0c573048b7879f594dd879b5ff7dde7f67aecf19e64
Binary file
Binary file
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: easydom.rb
4
+
5
+ require 'free_dom'
6
+
7
+
8
+ class EasyDom
9
+
10
+ def initialize(obj, debug: false)
11
+
12
+ @debug = debug
13
+
14
+ @e = obj.is_a?(String) ? FreeDom.new(obj).root : obj
15
+
16
+ end
17
+
18
+ def method_missing(sym, *args, &block)
19
+
20
+ puts "name: %s; args: %s" % [sym, args.inspect] if @debug
21
+
22
+ if @e.respond_to? sym then
23
+ puts 'attribute found' if @debug
24
+ @e.method(sym).call(*args)
25
+ else
26
+ e = @e.element(sym.to_s)
27
+ EasyDom.new(e, debug: @debug) if e
28
+ end
29
+
30
+ end
31
+
32
+ end
metadata ADDED
@@ -0,0 +1,90 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: easydom
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjAwNDI5MDkzMzA1WhcN
15
+ MjEwNDI5MDkzMzA1WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCgqMzh
17
+ /aDgLvsJk+ai2X2dH2xkkXKSiNev3R7w8k5EiymYbAXKgS8r0Os38f+IGGBekxMf
18
+ wxjSbCqfgj7IFEJHoDBaRmoihNeye523oNP+B89qvZg5T2nOWNcBqjZZ/w4cd868
19
+ IfjJk1CGzAqCwI8s817ct8dS+nIaO0UCKL5ku0t3M+LsqLvjN5StkCxxNGxPvyNM
20
+ 9d9s50o+YLKLFGpHyWUBa20UWPZP9W4qME0Cx7DqZMrJOQwd9bFNA0N8wi+kel7z
21
+ Dp1YziayUWmw8hrfwggQaQ3Gft/U9Cb5uZp4U29zgnQ7Mxr61yJaU3B1TFF5fMqN
22
+ Y27YxEMTVtP3JusHZqO02iTs9nbhH7pSAzBYsV5WhuT7x6KQ82CG9ArBc0caE0dL
23
+ RMwHC0yDuzG2RXEdC6s8yGfEshQ3aa2wGmvddYh4Ta7gS7QDnjHNsLSefoMiiwwg
24
+ XHnMui3AcyWNc2na7n4lOdxCiEakQqSP/WuOigXWhXLvr8gqAZUdBeGoFoUCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUPx9uUlJw
26
+ lFynbLocHwQ/Czdod9IwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAjQ5x92t6rp7SGy2tiSolihcvFX5yjORXnx5zoyld
29
+ yWiLUg1ozX5bkszPXUPONMSnIa2QejVvtVUogBY/T0ta5p7XXmnJvGiNn0sKRCxn
30
+ woTPakZdW2OskL4JpzsjSI2N49hyrEQySO/uCbbzR9LPJUfnxpwGOHwYGM5KdA8R
31
+ 8B/XY2YYYZAjiTXG13vGdu/fdGr/eU91/4nlcnyEJdGJSII+ecZHkZduvDbOlUcT
32
+ URxDUMxXZIYdKaCCpCEVU7M4lQ6ob93wR1jwxxF4u3MrW6K96WoX8xNJTYZKXUJq
33
+ b0jNqTEz3EYeRNBy87zsjVc+YKF5uH1KZw26e5URwQWvQPslgB8Nue0/yaDBTxHA
34
+ KDlUvUPutF/hRhGM+QNkK6+YNOljwtJTzN9VZAP8vRa4Lhv4ZgiogInc5lw3o4AF
35
+ GqWzjdQ5Dfb1ydCV6UC9Lu1hzIoAQVrkWlRlbX15SCvwTM+CbAAPFg3vwmKNi5T1
36
+ u695LgOX0KlDJi1766NJIYv8
37
+ -----END CERTIFICATE-----
38
+ date: 2020-04-29 00:00:00.000000000 Z
39
+ dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: free_dom
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 0.1.0
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.1'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 0.1.0
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '0.1'
60
+ description:
61
+ email: james@jamesrobertson.eu
62
+ executables: []
63
+ extensions: []
64
+ extra_rdoc_files: []
65
+ files:
66
+ - lib/easydom.rb
67
+ homepage: https://github.com/jrobertson/easydom
68
+ licenses:
69
+ - MIT
70
+ metadata: {}
71
+ post_install_message:
72
+ rdoc_options: []
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ requirements: []
86
+ rubygems_version: 3.0.3
87
+ signing_key:
88
+ specification_version: 4
89
+ summary: Experimental gem to access XML elements from simple dot notation (e.g. person.name).
90
+ test_files: []
Binary file