jsmenubuilder 0.2.2 → 0.2.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 1136e56549d163e21801f88829f9d34a23e28a67
4
- data.tar.gz: 907aeedb40fa563edb791d2a9cc61ea764c0e5c6
2
+ SHA256:
3
+ metadata.gz: 9015a21d6ec16f6a1f06b647bb7adb407699be900123a977b754997805f039a5
4
+ data.tar.gz: 4c6aa4d82b0ce977127ef82dbcc5c26408b32542f534db27f953e345bcc1054b
5
5
  SHA512:
6
- metadata.gz: cd5cb9f39bffb04ae4ddcefae41d037ed1800fd3a081dd7ceee16722fdd236fede12a6aadc9dd6c39c237f8863a4dc7a27a57864765333929b526ed222995a24
7
- data.tar.gz: dd94a3a4ecfa836422f37e0b2e4d4bcd9bee03978362f775cc2498325aa5534cd53841717a1425b7259a8b71ceddf5f7eefa8efb7988afd49adebcc59360b33a
6
+ metadata.gz: e8af2787182d64270676455f8b7aeae116f75d38a24392a9e2018bb0b609be30b37e2e13fe488528f7729a1944914d1e50ed10f3ed02f732916880b39e539a96
7
+ data.tar.gz: 4b52b61bbe422c8f533801db7f635ac71d92740f71becf0d890e09344859c80b20d8b5309aa433c53f871940ba0848db1f3c42fc690fd9968848b1d03e9fed85
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/jsmenubuilder.rb CHANGED
@@ -142,8 +142,8 @@ EOF
142
142
 
143
143
  def initialize(unknown=nil, options={})
144
144
 
145
- if unknown.is_a? String then
146
- type = unknown
145
+ if unknown.is_a? String or unknown.is_a? Symbol then
146
+ type = unknown.to_sym
147
147
  elsif unknown.is_a? Hash
148
148
  options = unknown
149
149
  end
@@ -226,6 +226,11 @@ EOF
226
226
 
227
227
  end
228
228
 
229
+ def to_xml()
230
+ @xml
231
+ end
232
+
233
+
229
234
  private
230
235
 
231
236
  def build(type, options)
@@ -233,6 +238,8 @@ EOF
233
238
  puts 'inside build'.info if @debug
234
239
  puts "type: %s\noptions: %s".debug % [type, options] if @debug
235
240
 
241
+ type = :full_page_tabs if type.to_sym == :fullpage
242
+
236
243
  return unless @types.include? type.to_sym
237
244
 
238
245
  doc = method(type.to_sym).call(options)
@@ -244,7 +251,39 @@ EOF
244
251
  @css = Object.const_get 'JsMenuBuilder::' + type.to_s.upcase + '_CSS'
245
252
  @js = Object.const_get 'JsMenuBuilder::' + type.to_s.upcase + '_JS'
246
253
 
254
+ @xml = build_xml(type.to_sym, options)
255
+
247
256
  end
257
+
258
+ def build_xml(type, opt={})
259
+
260
+ puts 'inside build_xml'.info if @debug
261
+
262
+ options = {active: '1'}.merge(opt)
263
+
264
+ tabs = if options[:headings] then
265
+ headings = options[:headings]
266
+ headings.zip(headings.map {|heading| ['h3', {}, heading]}).to_h
267
+ else
268
+ options[:tabs]
269
+ end
270
+
271
+ a = RexleBuilder.build do |xml|
272
+ xml.tags({mode: type}) do
273
+ tabs.each do |heading, content|
274
+ xml.tag({title: heading}, content )
275
+ end
276
+ end
277
+ end
278
+
279
+ doc = Rexle.new(a)
280
+
281
+ e = doc.root.element("tag[#{options[:active]}]")
282
+ e.attributes[:mode] = 'active' if e
283
+
284
+ return doc.xml(pretty: true)
285
+
286
+ end
248
287
 
249
288
  def tabs(opt={})
250
289
 
@@ -264,7 +303,7 @@ EOF
264
303
  xml.div(class: 'tab' ) do
265
304
  tabs.keys.each do |heading|
266
305
  xml.button({class:'tablinks',
267
- onclick: %Q(openTab(event, "#{heading}"))}, heading)
306
+ onclick: %Q(openTab(event, "#{heading}"))}, heading.to_s)
268
307
  end
269
308
  end
270
309
 
@@ -302,7 +341,7 @@ EOF
302
341
 
303
342
  tabs.keys.each do |heading|
304
343
  xml.button({class:'tablink',
305
- onclick: %Q(openPage("#{heading}", this))}, heading)
344
+ onclick: %Q(openPage("#{heading}", this))}, heading.to_s)
306
345
  end
307
346
 
308
347
  tabs.each do |heading, content|
@@ -321,6 +360,6 @@ EOF
321
360
 
322
361
 
323
362
  end
324
-
363
+
325
364
 
326
365
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jsmenubuilder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  haYJPATx3zs+9jtQoiFg+keM0CPYk/5LgCv9jxxzQcSS20C8O9MWRVvYfIr47ak7
36
36
  yXrDPmRvbJLTNjDv6Tkg3vU6
37
37
  -----END CERTIFICATE-----
38
- date: 2019-07-16 00:00:00.000000000 Z
38
+ date: 2019-07-19 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: rexle
@@ -83,8 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  requirements: []
86
- rubyforge_project:
87
- rubygems_version: 2.5.2.1
86
+ rubygems_version: 3.0.1
88
87
  signing_key:
89
88
  specification_version: 4
90
89
  summary: Generates HTML based tabs using HTML, CSS, and JavaScript.
metadata.gz.sig CHANGED
Binary file