chef-gyoku 1.4.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 961beab424895dc794bc90010c758f6b6ce1423a8b2b1248c64796a7874cc76e
4
+ data.tar.gz: bef27d17bcc60cb5e2c10761230bcfa459243e2c71240229816fa036c82b40d1
5
+ SHA512:
6
+ metadata.gz: 0255cddf2cc2448f6f30840ac97f54c846d7e9a8728087318d67bb149d0efaf2208bfd2e87ca0c41050a2d5abfd84b4e01872c81739c55b9e8c88867be41a45f
7
+ data.tar.gz: fa9bf05243f96bda7ab2564c805c817e2cdab018112773660f9214ec8151084a7f3e1f932f804b8506d8977db0f460396084833143d39fb678b7cfc6216bc91e
@@ -0,0 +1,62 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+ branches:
9
+ - '*'
10
+
11
+ jobs:
12
+ test:
13
+ name: Ruby ${{ matrix.ruby }}
14
+
15
+ strategy:
16
+ fail-fast: true
17
+ matrix:
18
+ ruby:
19
+ - '3.2'
20
+ - '3.1'
21
+ - '3.0'
22
+ - 'jruby'
23
+
24
+ runs-on: ubuntu-latest
25
+
26
+ steps:
27
+ - name: Checkout
28
+ uses: actions/checkout@v3
29
+
30
+ - name: Install Ruby ${{ matrix.ruby }}
31
+ uses: ruby/setup-ruby@v1
32
+ with:
33
+ ruby-version: ${{ matrix.ruby }}
34
+ bundler-cache: true # 'bundle install' and cache
35
+
36
+ - name: Run tests
37
+ run: bundle exec rake --trace
38
+ continue-on-error: false
39
+
40
+ coveralls:
41
+ name: Coveralls
42
+ runs-on: ubuntu-latest
43
+ steps:
44
+ - name: Checkout
45
+ uses: actions/checkout@v3
46
+
47
+ - name: Set up Ruby
48
+ uses: ruby/setup-ruby@v1
49
+ with:
50
+ ruby-version: 3.2
51
+ bundler-cache: true
52
+
53
+ - name: Install dependencies
54
+ run: bundle install
55
+
56
+ - name: Run tests
57
+ run: bundle exec rake
58
+
59
+ - name: Report coverage
60
+ uses: coverallsapp/github-action@v2
61
+ with:
62
+ flag-name: ruby-3.2
data/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ .DS_Store
2
+ .yardoc
3
+ doc
4
+ coverage
5
+ tmp
6
+ *~
7
+ *.swp
8
+ *.gem
9
+ .bundle
10
+ Gemfile.lock
11
+ .rvmrc
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/CHANGELOG.md ADDED
@@ -0,0 +1,154 @@
1
+ # CHANGELOG
2
+
3
+ ## 1.4.0 (2022-04-01)
4
+
5
+ ### Fixed
6
+
7
+ - Fix [Issue #56](https://github.com/savonrb/gyoku/issues/56) with PR [#57](https://github.com/savonrb/gyoku/pull/57). Thanks, [@jpmoral]!
8
+ - Avoid circular reference [#69](https://github.com/savonrb/gyoku/pull/69), thanks [@ccarruitero]!
9
+
10
+ ### Added
11
+
12
+ - Unwrap specific keys [#54](https://github.com/savonrb/gyoku/pull/54), by [@rlburkes]. Documented by [@mahemoff]. Thanks to you both!
13
+ - Add `:pretty_print`, `:indent` and `:compact` options to allow prettified XML output. [#59](https://github.com/savonrb/gyoku/pull/59), by [@Jeiwan]. Thanks!
14
+
15
+ ### Changed
16
+
17
+ - Removed Rubinius support, by [@olleolleolle]
18
+ - Clean-up, CI setup, and changelog authoring, by [@olleolleolle]
19
+
20
+ [@jpmoral]: https://github.com/jpmoral
21
+ [@ccarruitero]: https://github.com/ccarruitero
22
+ [@rlburkes]: https://github.com/rlburkes
23
+ [@mahemoff]: https://github.com/mahemoff
24
+ [@Jeiwan]: https://github.com/Jeiwan
25
+ [@olleolleolle]: https://github.com/olleolleolle
26
+
27
+ ## 1.3.1 (2015-04-05)
28
+
29
+ * Feature: [#53](https://github.com/savonrb/gyoku/pull/53) Improved serialization of hashes nested in arrays. Thanks to @riburkes for this!
30
+
31
+ ## 1.3.0 (2015-03-30)
32
+
33
+ * Formally drop support for ruby 1.8.7
34
+
35
+ ## 1.2.3 (2015-03-10)
36
+
37
+ * Feature: [#52](https://github.com/savonrb/gyoku/pull/52) Adds an :unwrap option that allows an array of hashes to be unwrapped into a single array xml node, rather than one per hash.
38
+
39
+ ## 1.2.2 (2014-09-22)
40
+
41
+ * Fixed a bug introduced by making Gyoku threadsafe. Who knew that `$1` and the block variable that `#gsub` provides are not the same?
42
+
43
+ ## 1.2.1 (2014-09-22)
44
+
45
+ * Fix : [#46](https://github.com/savonrb/gyoku/pull/46) Fixed an issue where Gyoku was not threadsafe. Gyoku should now be relatively more threadsafe due to less usage of global variables.
46
+
47
+ ## 1.2.0 (2014-09-18)
48
+
49
+ * Feature: [#44](https://github.com/savonrb/gyoku/pull/44) support for sorting via :order! with a string key
50
+
51
+ ## 1.1.1 (2014-01-02)
52
+
53
+ * Feature: [#38](https://github.com/savonrb/gyoku/pull/38) support for building nested Arrays
54
+ * Feature: [#36](https://github.com/savonrb/gyoku/pull/36) allow setting any objects content with :content!
55
+ * Deprecation: Support for ree and ruby 1.8.7 will be going away soon.
56
+
57
+ ## 1.1.0 (2013-07-26)
58
+
59
+ * Feature: [#30](https://github.com/savonrb/gyoku/pull/30) support for building Arrays
60
+ of parent tags using @attributes.
61
+
62
+ * Fix: [#21](https://github.com/savonrb/gyoku/pull/21) stop modifying the original Hash.
63
+ The original issue is [savonrb/savon#410](https://github.com/savonrb/savon/issues/410).
64
+
65
+ ## 1.0.0 (2012-12-17)
66
+
67
+ * Refactoring: Removed the global configuration. This should really only affect the
68
+ `Gyoku.convert_symbols_to` shortcut which was removed as well. If you're using Gyoku
69
+ with Savon 2.0, there's now an option for that. If you're using Gyoku on itself,
70
+ you can pass it the `:key_converter` option instead.
71
+
72
+ ## 0.5.0 (2012-12-15)
73
+
74
+ Feature: [#19](https://github.com/savonrb/gyoku/pull/19) adds support for explicit XML attributes.
75
+
76
+ Feature: [#17](https://github.com/savonrb/gyoku/pull/17) adds an `:upcase` formula.
77
+
78
+ ## 0.4.6 (2012-06-28)
79
+
80
+ * Fix: [#16](https://github.com/rubiii/gyoku/issues/16) Date objects were mapped like DateTime objects.
81
+
82
+ Gyoku.xml(date: Date.today) # => "<date>2012-06-28</date>"
83
+
84
+ * Fix: Time objects were also mapped like DateTime objects.
85
+
86
+ Gyoku.xml(time: sunday) # => "<time>16:22:33</time>"
87
+
88
+ ## 0.4.5 (2012-05-28)
89
+
90
+ * Fix: [issue 8](https://github.com/rubiii/gyoku/issues/8) -
91
+ Conflict between camelcase methods in Rails.
92
+
93
+ * Fix: [pull request 15](https://github.com/rubiii/gyoku/pull/15) -
94
+ Gyoku generates blank attribute values if there are fewer attribute
95
+ values in attributes! than elements.
96
+
97
+ * Fix: [issue 12](https://github.com/rubiii/gyoku/issues/12) -
98
+ Don't remove special keys from the original Hash.
99
+
100
+ ## 0.4.4
101
+
102
+ * Fix: [issue 6](https://github.com/rubiii/gyoku/issues/6) -
103
+ `Gyoku.xml` does not modify the original Hash.
104
+
105
+ ## 0.4.3
106
+
107
+ * Fix: Make sure `require "date"` when necessary.
108
+
109
+ ## 0.4.2
110
+
111
+ * Fix: `Array.to_xml` so that the given :namespace is applied to every element
112
+ in an Array.
113
+
114
+ ## 0.4.1
115
+
116
+ * Fix: Alternative formulas and namespaces.
117
+
118
+ ## 0.4.0
119
+
120
+ * Feature: Added alternative Symbol conversion formulas. You can choose between
121
+ :lower_camelcase (the default), :camelcase and :none.
122
+
123
+ Gyoku.convert_symbols_to :camelcase
124
+
125
+ You can even define your own formula:
126
+
127
+ Gyoku.convert_symbols_to { |key| key.upcase }
128
+
129
+ ## 0.3.1
130
+
131
+ * Feature: Gyoku now calls Proc objects and converts their return value.
132
+
133
+ ## 0.3.0
134
+
135
+ * Feature: Now when all Hash keys need to be namespaced (like with
136
+ elementFormDefault), you can use options to to trigger this behavior.
137
+
138
+ Gyoku.xml hash,
139
+ :element_form_default => :qualified,
140
+ :namespace => :v2
141
+
142
+ ## 0.2.0
143
+
144
+ * Feature: Added support for self-closing tags. Hash keys ending with a forward
145
+ slash (regardless of their value) are now converted to self-closing tags.
146
+
147
+ ## 0.1.1
148
+
149
+ * Fix: Allow people to use new versions of builder.
150
+
151
+ ## 0.1.0
152
+
153
+ * Initial version. Gyoku was born as a core extension inside the
154
+ [Savon](http://rubygems.org/gems/savon) library.
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
4
+
5
+ gem "simplecov", require: false
6
+ gem "coveralls", require: false
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2010 Daniel Harrington
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,313 @@
1
+ # Gyoku
2
+
3
+ Gyoku translates Ruby Hashes to XML.
4
+
5
+ ``` ruby
6
+ Gyoku.xml(:find_user => { :id => 123, "v1:Key" => "api" })
7
+ # => "<findUser><id>123</id><v1:Key>api</v1:Key></findUser>"
8
+ ```
9
+
10
+ [![Build status](https://github.com/savonrb/gyoku/actions/workflows/ci.yml/badge.svg)](https://github.com/savonrb/gyoku/actions/workflows/ci.yml)
11
+ [![Gem Version](https://badge.fury.io/rb/gyoku.svg)](http://badge.fury.io/rb/gyoku)
12
+ [![Code Climate](https://codeclimate.com/github/savonrb/gyoku.svg)](https://codeclimate.com/github/savonrb/gyoku)
13
+ [![Coverage Status](https://coveralls.io/repos/savonrb/gyoku/badge.svg?branch=master)](https://coveralls.io/r/savonrb/gyoku)
14
+
15
+
16
+ ## Installation
17
+
18
+ Gyoku is available through [Rubygems](http://rubygems.org/gems/gyoku) and can be installed via:
19
+
20
+ ``` bash
21
+ $ gem install gyoku
22
+ ```
23
+
24
+ or add it to your Gemfile like this:
25
+
26
+ ``` ruby
27
+ gem 'gyoku', '~> 1.0'
28
+ ```
29
+
30
+
31
+ ## Hash keys
32
+
33
+ Hash key Symbols are converted to lowerCamelCase Strings.
34
+
35
+ ``` ruby
36
+ Gyoku.xml(:lower_camel_case => "key")
37
+ # => "<lowerCamelCase>key</lowerCamelCase>"
38
+ ```
39
+
40
+ You can change the default conversion formula to `:camelcase`, `:upcase` or `:none`.
41
+ Note that options are passed as a second Hash to the `.xml` method.
42
+
43
+ ``` ruby
44
+ Gyoku.xml({ :camel_case => "key" }, { :key_converter => :camelcase })
45
+ # => "<CamelCase>key</CamelCase>"
46
+ ```
47
+
48
+ Custom key converters. You can use a lambda/Proc to provide customer key converters.
49
+ This is a great way to leverage active support inflections for domain specific acronyms.
50
+
51
+ ``` ruby
52
+ # Use camelize lower which will hook into active support if installed.
53
+ Gyoku.xml({ acronym_abc: "value" }, key_converter: lambda { |key| key.camelize(:lower) })
54
+ # => "<acronymABC>value</acronymABC>"
55
+
56
+ ```
57
+
58
+ Hash key Strings are not converted and may contain namespaces.
59
+
60
+ ``` ruby
61
+ Gyoku.xml("XML" => "key")
62
+ # => "<XML>key</XML>"
63
+ ```
64
+
65
+
66
+ ## Hash values
67
+
68
+ * DateTime objects are converted to xs:dateTime Strings
69
+ * Objects responding to :to_datetime (except Strings) are converted to xs:dateTime Strings
70
+ * TrueClass and FalseClass objects are converted to "true" and "false" Strings
71
+ * NilClass objects are converted to xsi:nil tags
72
+ * These conventions are also applied to the return value of objects responding to :call
73
+ * All other objects are converted to Strings using :to_s
74
+
75
+ ## Array values
76
+
77
+ Array items are by default wrapped with the containiner tag, which may be unexpected.
78
+
79
+ ``` ruby
80
+ > Gyoku.xml({languages: [{language: 'ruby'},{language: 'java'}]})
81
+ # => "<languages><language>ruby</language></languages><languages><language>java</language></languages>"
82
+ ```
83
+
84
+ You can set the `unwrap` option to remove this behavior.
85
+
86
+ ``` ruby
87
+ > Gyoku.xml({languages: [{language: 'ruby'},{language: 'java'}]}, { unwrap: true})
88
+ # => "<languages><language>ruby</language><language>java</language></languages>"
89
+ ```
90
+
91
+ ## Special characters
92
+
93
+ Gyoku escapes special characters unless the Hash key ends with an exclamation mark.
94
+
95
+ ``` ruby
96
+ Gyoku.xml(:escaped => "<tag />", :not_escaped! => "<tag />")
97
+ # => "<escaped>&lt;tag /&gt;</escaped><notEscaped><tag /></notEscaped>"
98
+ ```
99
+
100
+
101
+ ## Self-closing tags
102
+
103
+ Hash Keys ending with a forward slash create self-closing tags.
104
+
105
+ ``` ruby
106
+ Gyoku.xml(:"self_closing/" => "", "selfClosing/" => nil)
107
+ # => "<selfClosing/><selfClosing/>"
108
+ ```
109
+
110
+
111
+ ## Sort XML tags
112
+
113
+ In case you need the XML tags to be in a specific order, you can specify the order
114
+ through an additional Array stored under the `:order!` key.
115
+
116
+ ``` ruby
117
+ Gyoku.xml(:name => "Eve", :id => 1, :order! => [:id, :name])
118
+ # => "<id>1</id><name>Eve</name>"
119
+ ```
120
+
121
+
122
+ ## XML attributes
123
+
124
+ Adding XML attributes is rather ugly, but it can be done by specifying an additional
125
+ Hash stored under the`:attributes!` key.
126
+
127
+ ``` ruby
128
+ Gyoku.xml(:person => "Eve", :attributes! => { :person => { :id => 1 } })
129
+ # => "<person id=\"1\">Eve</person>"
130
+ ```
131
+
132
+ ## Explicit XML Attributes
133
+
134
+ In addition to using the `:attributes!` key, you may also specify attributes through keys beginning with an "@" sign.
135
+ Since you'll need to set the attribute within the hash containing the node's contents, a `:content!` key can be used
136
+ to explicity set the content of the node. The `:content!` value may be a String, Hash, or Array.
137
+
138
+ This is particularly useful for self-closing tags.
139
+
140
+ **Using :attributes!**
141
+
142
+ ``` ruby
143
+ Gyoku.xml(
144
+ "foo/" => "",
145
+ :attributes! => {
146
+ "foo/" => {
147
+ "bar" => "1",
148
+ "biz" => "2",
149
+ "baz" => "3"
150
+ }
151
+ }
152
+ )
153
+ # => "<foo baz=\"3\" bar=\"1\" biz=\"2\"/>"
154
+ ```
155
+
156
+ **Using "@" keys and ":content!"**
157
+
158
+ ``` ruby
159
+ Gyoku.xml(
160
+ "foo/" => {
161
+ :@bar => "1",
162
+ :@biz => "2",
163
+ :@baz => "3",
164
+ :content! => ""
165
+ })
166
+ # => "<foo baz=\"3\" bar=\"1\" biz=\"2\"/>"
167
+ ```
168
+
169
+ **Example using "@" to get Array of parent tags each with @attributes & :content!**
170
+
171
+ ``` ruby
172
+ Gyoku.xml(
173
+ "foo" => [
174
+ {:@name => "bar", :content! => 'gyoku'}
175
+ {:@name => "baz", :@some => "attr", :content! => 'rocks!'}
176
+ ])
177
+ # => "<foo name=\"bar\">gyoku</foo><foo name=\"baz\" some=\"attr\">rocks!</foo>"
178
+ ```
179
+
180
+ Unwrapping Arrays. You can specify an optional `unwrap` argument to modify the default Array
181
+ behavior. `unwrap` accepts a boolean flag (false by default) or an Array whitelist of keys to unwrap.
182
+ ``` ruby
183
+ # Default Array behavior
184
+ Gyoku.xml({
185
+ "foo" => [
186
+ {:is => 'great' },
187
+ {:is => 'awesome'}
188
+ ]
189
+ })
190
+ # => "<foo><is>great</is></foo><foo><is>awesome</is></foo>"
191
+
192
+ # Unwrap Array behavior
193
+ Gyoku.xml({
194
+ "foo" => [
195
+ {:is => 'great' },
196
+ {:is => 'awesome'}
197
+ ]
198
+ }, unwrap: true)
199
+ # => "<foo><is>great</is><is>awesome</is></foo>"
200
+
201
+ # Unwrap Array, whitelist.
202
+ # foo is not unwrapped, bar is.
203
+ Gyoku.xml({
204
+ "foo" => [
205
+ {:is => 'great' },
206
+ {:is => 'awesome'}
207
+ ],
208
+ "bar" => [
209
+ {:is => 'rad' },
210
+ {:is => 'cool'}
211
+ ]
212
+ }, unwrap: [:bar])
213
+ # => "<foo><is>great</is></foo><foo><is>awesome</is></foo><bar><is>rad</is><is>cool</is></bar>"
214
+ ```
215
+
216
+ Naturally, it would ignore :content! if tag is self-closing:
217
+
218
+ ``` ruby
219
+ Gyoku.xml(
220
+ "foo/" => [
221
+ {:@name => "bar", :content! => 'gyoku'}
222
+ {:@name => "baz", :@some => "attr", :content! => 'rocks!'}
223
+ ])
224
+ # => "<foo name=\"bar\"/><foo name=\"baz\" some=\"attr\"/>"
225
+ ```
226
+
227
+ This seems a bit more explicit with the attributes rather than having to maintain a hash of attributes.
228
+
229
+ For backward compatibility, `:attributes!` will still work. However, "@" keys will override `:attributes!` keys
230
+ if there is a conflict.
231
+
232
+ ``` ruby
233
+ Gyoku.xml(:person => {:content! => "Adam", :@id! => 0})
234
+ # => "<person id=\"0\">Adam</person>"
235
+ ```
236
+
237
+ **Example with ":content!", :attributes! and "@" keys**
238
+
239
+ ``` ruby
240
+ Gyoku.xml({
241
+ :subtitle => {
242
+ :@lang => "en",
243
+ :content! => "It's Godzilla!"
244
+ },
245
+ :attributes! => { :subtitle => { "lang" => "jp" } }
246
+ }
247
+ # => "<subtitle lang=\"en\">It's Godzilla!</subtitle>"
248
+ ```
249
+
250
+ The example above shows an example of how you can use all three at the same time.
251
+
252
+ Notice that we have the attribute "lang" defined twice.
253
+ The `@lang` value takes precedence over the `:attribute![:subtitle]["lang"]` value.
254
+
255
+ ## Pretty Print
256
+
257
+ You can prettify the output XML to make it more readable. Use these options:
258
+ * `pretty_print` – controls pretty mode (default: `false`)
259
+ * `indent` – specifies indentation in spaces (default: `2`)
260
+ * `compact` – controls compact mode (default: `true`)
261
+
262
+ **This feature is not available for XML documents generated from arrays with unwrap option set to false as such documents are not valid**
263
+
264
+ **Examples**
265
+
266
+ ``` ruby
267
+ puts Gyoku.xml({user: { name: 'John', job: { title: 'Programmer' }, :@status => 'active' }}, pretty_print: true)
268
+ #<user status='active'>
269
+ # <name>John</name>
270
+ # <job>
271
+ # <title>Programmer</title>
272
+ # </job>
273
+ #</user>
274
+ ```
275
+
276
+ ``` ruby
277
+ puts Gyoku.xml({user: { name: 'John', job: { title: 'Programmer' }, :@status => 'active' }}, pretty_print: true, indent: 4)
278
+ #<user status='active'>
279
+ # <name>John</name>
280
+ # <job>
281
+ # <title>Programmer</title>
282
+ # </job>
283
+ #</user>
284
+ ```
285
+
286
+ ``` ruby
287
+ puts Gyoku.xml({user: { name: 'John', job: { title: 'Programmer' }, :@status => 'active' }}, pretty_print: true, compact: false)
288
+ #<user status='active'>
289
+ # <name>
290
+ # John
291
+ # </name>
292
+ # <job>
293
+ # <title>
294
+ # Programmer
295
+ # </title>
296
+ # </job>
297
+ #</user>
298
+ ```
299
+
300
+ **Generate XML from an array with `unwrap` option set to `true`**
301
+ ``` ruby
302
+ puts Gyoku::Array.to_xml(["john", "jane"], "user", true, {}, pretty_print: true, unwrap: true)
303
+ #<user>
304
+ # <user>john</user>
305
+ # <user>jane</user>
306
+ #</user>
307
+ ```
308
+
309
+ **Generate XML from an array with `unwrap` option unset (`false` by default)**
310
+ ``` ruby
311
+ puts Gyoku::Array.to_xml(["john", "jane"], "user", true, {}, pretty_print: true)
312
+ #<user>john</user><user>jane</user>
313
+ ```
data/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ require "bundler"
2
+ require "bundler/setup"
3
+ Bundler::GemHelper.install_tasks
4
+
5
+ require "rspec/core/rake_task"
6
+
7
+ RSpec::Core::RakeTask.new do |t|
8
+ t.rspec_opts = %w[-c]
9
+ end
10
+
11
+ task default: :spec
12
+ task test: :spec
data/gyoku.gemspec ADDED
@@ -0,0 +1,27 @@
1
+ $:.push File.expand_path("../lib", __FILE__)
2
+ require "gyoku/version"
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "chef-gyoku"
6
+ s.version = Gyoku::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = "Daniel Harrington"
9
+ s.email = "me@rubiii.com"
10
+ s.homepage = "https://github.com/savonrb/#{s.name}"
11
+ s.summary = "Translates Ruby Hashes to XML"
12
+ s.description = "Gyoku translates Ruby Hashes to XML"
13
+ s.required_ruby_version = ">= 3.0"
14
+
15
+ s.license = "MIT"
16
+
17
+ s.add_dependency "builder", ">= 2.1.2"
18
+ s.add_dependency "rexml", "~> 3.3"
19
+
20
+ s.add_development_dependency "rake"
21
+ s.add_development_dependency "rspec"
22
+ s.add_development_dependency "standard"
23
+
24
+ s.files = `git ls-files`.split("\n")
25
+
26
+ s.require_paths = ["lib"]
27
+ end