shul 0.3.13 → 0.4.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.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/lib/shul.rb +90 -12
  5. metadata +26 -26
  6. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 20e97767b7db378996a7a95ec176b5149be6bcc9
4
- data.tar.gz: 9d6792343efbe2c637ffe91c701366777ab51f7d
3
+ metadata.gz: 0303a5535fb2c819de9cc8a113534fe528951ff7
4
+ data.tar.gz: c62a337a7e4c72f172eade89e88441ecb00a9f60
5
5
  SHA512:
6
- metadata.gz: 25b371058131849a62509355cf7ae5b8676732b04b3330039ba2501d9a4d006485a93f96b03a3dc5dcbac5068af7f5d6a34b4bdb0c990050893161a87ecbde44
7
- data.tar.gz: 88530a2d21351fa77a50f864bf101deff5e63ad3deabd4ca2cc4d521223300da1eaff35880117ab1611f10e483b7d47ca79f031cf261c172d6f53d5601011383
6
+ metadata.gz: ab4f7952c033fe47d0bb49fb703433528610923e55ab8f12eb72329af4588dc2f93195c4b92fa16f547b92531e623af18faebcc0997b7d3b25d729996acdb503
7
+ data.tar.gz: 968bb1e646dc9b6864dda413e9045953b356f0b43c21b5cabb24030d22f2307fa965737b4523433f7184724549de06c43389851a5b57bd5fa8e37d92c4b63763
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/shul.rb CHANGED
@@ -40,6 +40,7 @@ Shul::Main.new Shoes, xml
40
40
 
41
41
  # modifications
42
42
  #
43
+ # 21-May-2017: Added a Document Object Model (DOM) class called Shule
43
44
  # 23-Jan-2017: A Vbox or Hbox width can now be set
44
45
  # 13-Jan-2017: The script tag is now executed only after the
45
46
  # document elements have been loaded
@@ -57,12 +58,7 @@ Shul::Main.new Shoes, xml
57
58
  # Rexle::Element enhancement rather than a monkey patch
58
59
  # * tested using the green_shoes gem.
59
60
 
60
- #require 'rexle'
61
-
62
- require 'requestor'
63
-
64
-
65
- eval Requestor.read('http://rorbuilder.info/r/ruby'){|x| x.require 'rexle'}
61
+ require 'domle'
66
62
  require 'rxfhelper'
67
63
 
68
64
 
@@ -75,19 +71,92 @@ module RexleObject
75
71
  end
76
72
  end
77
73
 
74
+ DEFAULT_SHUL_CSS = <<CSS
75
+
76
+ app {background-color: white}
77
+ hbox {background-color: yellow}
78
+ vbox {background-color: #0e0}
79
+ label {background-color: #aa1}
80
+
81
+ CSS
78
82
 
79
83
  module Shul
84
+
85
+
86
+ class Shule < Domle
87
+
88
+ class Box < Element
89
+ attr2_accessor *%i(background-color margin padding)
90
+
91
+ end
92
+
93
+ class Component < Box
94
+ attr2_accessor *%i(width height)
95
+
96
+ end
97
+
98
+
99
+ class App < Component
100
+
101
+ end
102
+
103
+ class Hbox < Box
104
+ end
105
+
106
+ class Vbox < Box
107
+ end
108
+
109
+ class Label < Component
110
+
111
+ end
112
+
113
+
114
+ def inspect()
115
+ "#<Shule:%s>" % [self.object_id]
116
+ end
117
+
118
+
119
+ protected
120
+
121
+ def add_default_css()
122
+ add_css DEFAULT_SHUL_CSS
123
+ end
124
+
125
+ private
126
+
127
+ def defined_elements()
128
+ super.merge({
129
+ app: Shule::App,
130
+ script: Shule::Script,
131
+ hbox: Shule::Hbox,
132
+ vbox: Shule::Vbox,
133
+ label: Shule::Label
134
+ })
135
+ end
136
+
137
+ end
138
+
139
+
80
140
 
81
141
  class Main
82
142
 
83
143
 
84
144
  def initialize(shoes, source)
85
145
 
86
- doc = if source.is_a? Rexle then source
146
+ if source.is_a? Rexle then
147
+
148
+ doc = source
149
+
87
150
  else
88
- xml, _ = RXFHelper.read(source)
89
- Rexle.new(xml)
90
- end
151
+
152
+ xml, type = RXFHelper.read(source)
153
+ # is the first line an XML processing instruction?
154
+ #jr210517 doc = Rexle.new(xml)
155
+ doc = Shule.new(xml)
156
+ #doc = Rexle.new(xml)
157
+ puts 'doc: ' + doc.xml.inspect
158
+
159
+ end
91
160
 
92
161
  attr = {width: 300, height: 200}.merge doc.root.attributes.to_h
93
162
 
@@ -305,6 +374,11 @@ module Shul
305
374
 
306
375
  flow = @shoes.flow h2 do
307
376
  @shoes.background h[:bgcolor] if h[:bgcolor]
377
+
378
+ if e.style.has_key? :'background-color' then
379
+ @shoes.background e.style[:'background-color']
380
+ end
381
+
308
382
  e.elements.each {|x| method(x.name.sub(':','_').to_sym).call(x) }
309
383
  end
310
384
  e.obj = flow
@@ -457,12 +531,16 @@ module Shul
457
531
  h2.merge!({width: h[:width].to_i}) if h[:width]
458
532
 
459
533
  stack = @shoes.stack h2 do
534
+
460
535
  @shoes.background h[:bgcolor] if h[:bgcolor]
536
+
537
+ if e.style.has_key? :'background-color' then
538
+ @shoes.background e.style[:'background-color']
539
+ end
461
540
  e.elements.each {|x| method(x.name.sub(':','_').to_sym).call(x) }
462
541
  end
463
542
 
464
- e.obj = stack
465
-
543
+ e.obj = stack
466
544
 
467
545
  end
468
546
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shul
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.13
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -12,67 +12,67 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE2MDQyOTE1MzcxNloXDTE3MDQyOTE1MzcxNlowSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE3MDUyMTIyMTEzM1oXDTE4MDUyMTIyMTEzM1owSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBALk4luolS+KwzbVZrPWkmJLD2RrKFPLHTrW2TCqZnKKF3M8xVV6lKXGjbMl4
19
- dawA9hEdQzRvV5rMsK30BSgbVpSpibt6yrhx8+CRk/JNqXPS0kqjUmZWh40lIbri
20
- zj19r1Ex9ZLOA28h8k5ibyOTpVp5o7HxZtS+YRse2mnY/fWJ3Fpt0gNEoLpp/f0A
21
- Hpa5Vq2V+KQ0UjnGKBKwdeiX2EDNdhnG/XagTmCsQ3pjxIKG9KVBIXyYq7Px9rKQ
22
- Nv+Pr6efP8Hd9GUXWAHDb3eMIh29DD3jVVHuQTtr/lKnD/lMixg7FL42slge2U7o
23
- vYgSBUzQ+d+LUQtN9gi6qwzInKsCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUzwnyGuljEK+HovXrhS+/el3X1HkwJgYDVR0RBB8w
18
+ ggEBAK/yhqXgYTqu66Wmclzd8xfGjG6gpCXX5rMeBVK7pHnWfjtGULQYbKpObIqH
19
+ ybaHU7z1scBTsIZR3ZJNTOqhYfFDmnX3LDUdLN815BNZQxqkw8mRws0pRu/q0pKS
20
+ cJAcnK/yKJ1YjyqBCjqgaL11wkl6dkn6wEHWp83dwbvatb/HssBv8HdDnov0Y17g
21
+ jf8YtUsOLKTa51Gpy7IRPw3jv0RZ1LXrc7J6LZANWPEePAjS4vsjlNJjpX4V6lHO
22
+ HnNaqCKjFreeIGJvjP9YxEBleu+DD/8GNRXS17vYMt0QxPb+eYE6faz618wpgxps
23
+ v4Bti5xfKy1RC9MV223EUHfiHycCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUT3OlGzhUrE2Xnp2c8rUhkdgNdV8wJgYDVR0RBB8w
25
25
  HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAt141lEVO
27
- cCYR72FTuooESYZZZueEXPzLIqMN1Oo4fbJBYguvvsC497q03YUWW9BDLWRtPKFi
28
- 5X/6UGzJbNX4SMIEtHSETx22H4osWzhcEP5x7njvn1mrybCyEo4Btftzb7BTu2J8
29
- OjsPaGOdgGXcCcDN+O55EYcT0ONa6oOFv8vxujWAvitf8KMhrXn0QoKCFt/fBSot
30
- TqcwMdqbyj69HORcyQWSM3Zt4Q/YiBFZx38q6j4Qiyi6gq8DWr7z0A+qe2ZlcGdu
31
- /vGEl178JmTwkkyOnfudv6A8yY1uGiMvCrStPdAXg91qOFgoQFo/tUKAHYzSpxYg
32
- pcdACC5rdLX/DA==
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAeo2gOcdo
27
+ 8BVde/rFBM1ld6/EMUEwbPNmcRiqYzfYJNHdqmkUPsJip5nbxG7vdvsod4TzfCU1
28
+ QyIq90bojSH7LuZHVxngq4AUZCBDKvxEU2dQzRWkyDnYVz7kwTIfZ3J3PDJ4vxDX
29
+ YhPDygx+MWImBKPKqGL9yqcck0FWEMyieAM+uGk40D5OwUzGdgQ88mLTXkVA4ioM
30
+ ozfKsYalbIlswHu1Mf8tfBDFOzmAs4keW2MZ/9KHyNFz3rSSMD3wNUt5ASpBWde4
31
+ t8eGazfn6KO3ECwm0DI6ZG6K+/TPPHv8HXfONWq0oGmvwamHXWjcz3hCa5hZw0Vt
32
+ +vU993j3UFViMQ==
33
33
  -----END CERTIFICATE-----
34
- date: 2017-01-23 00:00:00.000000000 Z
34
+ date: 2017-05-21 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
- name: rexle
37
+ name: domle
38
38
  requirement: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '1.3'
42
+ version: '0.1'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 1.3.30
45
+ version: 0.1.7
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
- version: '1.3'
52
+ version: '0.1'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 1.3.30
55
+ version: 0.1.7
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rxfhelper
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.3'
62
+ version: '0.4'
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
- version: 0.3.0
65
+ version: 0.4.2
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
69
69
  requirements:
70
70
  - - "~>"
71
71
  - !ruby/object:Gem::Version
72
- version: '0.3'
72
+ version: '0.4'
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 0.3.0
75
+ version: 0.4.2
76
76
  description:
77
77
  email: james@jamesrobertson.eu
78
78
  executables: []
metadata.gz.sig CHANGED
Binary file