dslh 0.3.4 → 0.3.5
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 +29 -0
- data/lib/dslh.rb +2 -1
- data/lib/dslh/version.rb +1 -1
- data/spec/dslh_spec.rb +43 -0
- 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: accc36f444e49fdce316464ef42d7ab5dbee863c
|
4
|
+
data.tar.gz: 912a67f6db4edb45f73ef454a35016b4b42d1b9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e888126dcbbeb1b3045b38fe46a21ff9df09e4b3a1d65d59c93ed6f901f95359ca7102cbfabd73222c96ee38868e5034543199749107996b95ff7063b971af90
|
7
|
+
data.tar.gz: cc3ec0b4b6519080bec3742e47bde94d9d32f1c7cf01e1d3183491a533f6f21d1d67f49b3b31a28e2d318dc8796e4e934c5e5519266747f53c78b894dda076db
|
data/README.md
CHANGED
@@ -124,3 +124,32 @@ puts Dslh.deval(h)
|
|
124
124
|
# end
|
125
125
|
# end
|
126
126
|
```
|
127
|
+
|
128
|
+
### Hash List
|
129
|
+
|
130
|
+
```ruby
|
131
|
+
h = Dslh.eval do
|
132
|
+
glossary do |*|
|
133
|
+
title "example glossary"
|
134
|
+
date "2016-05-21 00:00:00 UTC"
|
135
|
+
end
|
136
|
+
glossary do |*|
|
137
|
+
title "example glossary2"
|
138
|
+
date "2016-05-21 00:01:00 UTC"
|
139
|
+
end
|
140
|
+
glossary2 do |*|
|
141
|
+
title "example glossary"
|
142
|
+
date "2016-05-21 00:00:00 UTC"
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
pp h
|
147
|
+
#=> {"glossary"=>[
|
148
|
+
# {"title"=>"example glossary",
|
149
|
+
# "date"=>'2016-05-21 00:00:00 UTC'},
|
150
|
+
# {"title"=>"example glossary2",
|
151
|
+
# "date"=>'2016-05-21 00:01:00 UTC'}],
|
152
|
+
# "glossary2"=>[
|
153
|
+
# {"title"=>"example glossary",
|
154
|
+
# "date"=>'2016-05-21 00:00:00 UTC'}]}
|
155
|
+
```
|
data/lib/dslh.rb
CHANGED
@@ -41,6 +41,7 @@ class Dslh
|
|
41
41
|
@options = {
|
42
42
|
:time_inspecter => method(:inspect_time),
|
43
43
|
:dump_old_hash_array_format => false,
|
44
|
+
:force_dump_braces => false
|
44
45
|
}.merge(options)
|
45
46
|
|
46
47
|
@options[:key_conv] ||= (@options[:conv] || proc {|i| i.to_s })
|
@@ -185,7 +186,7 @@ class Dslh
|
|
185
186
|
value_buf.print(indent + ']')
|
186
187
|
end
|
187
188
|
end
|
188
|
-
elsif value.length == 1
|
189
|
+
elsif @options[:force_dump_braces] or value.length == 1
|
189
190
|
value_buf.puts(' ' + value.inspect)
|
190
191
|
else
|
191
192
|
value_buf.puts(' ' + value.map {|v|
|
data/lib/dslh/version.rb
CHANGED
data/spec/dslh_spec.rb
CHANGED
@@ -2708,4 +2708,47 @@ end
|
|
2708
2708
|
"date"=>'2016-05-21 00:00:00 UTC'}]}
|
2709
2709
|
)
|
2710
2710
|
end
|
2711
|
+
|
2712
|
+
it 'should convert hash to dsl (disable omit braces)' do
|
2713
|
+
h = {"glossary"=>
|
2714
|
+
{"title"=>"example glossary",
|
2715
|
+
"GlossDiv"=>
|
2716
|
+
{"title"=>"S",
|
2717
|
+
"GlossList"=>
|
2718
|
+
{"GlossEntry"=>
|
2719
|
+
{"ID"=>"SGML",
|
2720
|
+
"SortAs"=>"SGML",
|
2721
|
+
"GlossTerm"=>"Standard Generalized Markup Language",
|
2722
|
+
"Acronym"=>"SGML",
|
2723
|
+
"Abbrev"=>"ISO 8879:1986",
|
2724
|
+
"GlossDef"=>
|
2725
|
+
{"para"=>
|
2726
|
+
"A meta-markup language, used to create markup languages such as DocBook.",
|
2727
|
+
"GlossSeeAlso"=>["GML", "XML"]},
|
2728
|
+
"GlossSee"=>"markup"}}}}}
|
2729
|
+
|
2730
|
+
dsl = Dslh.deval(h, :force_dump_braces => true)
|
2731
|
+
expect(dsl).to eq(<<-EOS)
|
2732
|
+
glossary do
|
2733
|
+
title "example glossary"
|
2734
|
+
GlossDiv do
|
2735
|
+
title "S"
|
2736
|
+
GlossList do
|
2737
|
+
GlossEntry do
|
2738
|
+
ID "SGML"
|
2739
|
+
SortAs "SGML"
|
2740
|
+
GlossTerm "Standard Generalized Markup Language"
|
2741
|
+
Acronym "SGML"
|
2742
|
+
Abbrev "ISO 8879:1986"
|
2743
|
+
GlossDef do
|
2744
|
+
para "A meta-markup language, used to create markup languages such as DocBook."
|
2745
|
+
GlossSeeAlso ["GML", "XML"]
|
2746
|
+
end
|
2747
|
+
GlossSee "markup"
|
2748
|
+
end
|
2749
|
+
end
|
2750
|
+
end
|
2751
|
+
end
|
2752
|
+
EOS
|
2753
|
+
end
|
2711
2754
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dslh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|