docile 1.1.2 → 1.1.4
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/.gitignore +1 -0
- data/.travis.yml +4 -9
- data/Gemfile +0 -13
- data/HISTORY.md +13 -1
- data/LICENSE +1 -1
- data/README.md +8 -3
- data/docile.gemspec +11 -8
- data/lib/docile/fallback_context_proxy.rb +5 -3
- data/lib/docile/version.rb +1 -1
- data/spec/docile_spec.rb +53 -37
- data/spec/spec_helper.rb +32 -17
- metadata +45 -31
- data/.coveralls.yml +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10cb56eaa668d186cedb1bab3bdda31a84ef4f13
|
4
|
+
data.tar.gz: 19a69dac94f84a2976212184093cc3a26df2c05c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af34a724f7dc51c9d539c4bdca6e0bb711ead40b9487434eb3dc6b8a06444dea5e258262dc6d4032e5ea3c2fe66c0b58e594f350b5a7ecd2bad7fc947c904904
|
7
|
+
data.tar.gz: 1df5d786c840df1e52b6809a6e884d0a916662278a1dd7a625e41508e15c92990c920b6c99a30af82dd233b20b880504f5f2707e201019ee9a809598b75a0369
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
language: ruby
|
2
|
-
|
3
|
-
# NOTE (2013-12-30): Temporary workaround for Rubygems-Bundler
|
4
|
-
# incompatibility on Travis CI for 1.8 builds, see also:
|
5
|
-
# * https://github.com/rubygems/rubygems/pull/763
|
6
|
-
# * https://github.com/freerange/mocha/commit/66bab2a8f4e7cd8734bf88e6f32157c0d5153125
|
7
|
-
before_install:
|
8
|
-
- gem update --system 2.1.11
|
9
|
-
- gem --version
|
2
|
+
cache: bundler
|
10
3
|
rvm:
|
4
|
+
- 2.1.2
|
5
|
+
- 2.1.1
|
11
6
|
- 2.1.0
|
12
7
|
- 2.0.0
|
13
8
|
- 1.9.3
|
@@ -16,4 +11,4 @@ rvm:
|
|
16
11
|
- ree
|
17
12
|
- jruby-18mode
|
18
13
|
- jruby-19mode
|
19
|
-
- rbx-2
|
14
|
+
- rbx-2
|
data/Gemfile
CHANGED
@@ -2,16 +2,3 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify gem's dependencies in docile.gemspec
|
4
4
|
gemspec
|
5
|
-
|
6
|
-
# Explicitly require test gems for Travis CI, since we're excluding dev dependencies
|
7
|
-
group :test do
|
8
|
-
gem 'rake', '~> 0.9.2'
|
9
|
-
gem 'rspec', '~> 2.11.0'
|
10
|
-
gem 'mime-types', '~> 1.25.1'
|
11
|
-
gem 'coveralls', :require => false
|
12
|
-
|
13
|
-
platform :rbx do
|
14
|
-
gem 'rubysl' # Since 2.2.0, Rubinius needs Ruby standard lib as gem
|
15
|
-
gem 'rubinius-coverage' # Coverage tooling for SimpleCov on Rubinius
|
16
|
-
end
|
17
|
-
end
|
data/HISTORY.md
CHANGED
@@ -1,8 +1,20 @@
|
|
1
1
|
# HISTORY
|
2
2
|
|
3
|
+
## [v1.1.4 (Jun 11, 2014)](http://github.com/ms-ati/docile/compare/v1.1.3...v1.1.4)
|
4
|
+
|
5
|
+
- Special thanks to Ken Dreyer (@ktdreyer):
|
6
|
+
- make simplecov/coveralls optional for running tests \[[33834852c7](https://github.com/ms-ati/docile/commit/33834852c7849912b97e109e8c5c193579cc5e98)\]
|
7
|
+
- update URL in gemspec \[[174e654a07](https://github.com/ms-ati/docile/commit/174e654a075c8350b3411b212cfb409bc605348a)\]
|
8
|
+
|
9
|
+
## [v1.1.3 (Feb 4, 2014)](http://github.com/ms-ati/docile/compare/v1.1.2...v1.1.3)
|
10
|
+
|
11
|
+
- Special thanks to Alexey Vasiliev (@le0pard):
|
12
|
+
- fix problem to catch NoMethodError from non receiver object
|
13
|
+
- upgrade rspec format to new "expect" syntax
|
14
|
+
|
3
15
|
## [v1.1.2 (Jan 10, 2014)](http://github.com/ms-ati/docile/compare/v1.1.1...v1.1.2)
|
4
16
|
|
5
|
-
- remove unnecessarily nested proxy objects (thanks @Ajedi32!
|
17
|
+
- remove unnecessarily nested proxy objects (thanks @Ajedi32)!
|
6
18
|
- documentation updates and corrections
|
7
19
|
|
8
20
|
## [v1.1.1 (Nov 26, 2013)](http://github.com/ms-ati/docile/compare/v1.1.0...v1.1.1)
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
[](https://gemnasium.com/ms-ati/docile)
|
5
5
|
[](https://codeclimate.com/github/ms-ati/docile)
|
6
6
|
[](https://coveralls.io/r/ms-ati/docile)
|
7
|
+
[](http://inch-ci.org/github/ms-ati/docile)
|
7
8
|
[](https://bitdeli.com/free "Bitdeli Badge")
|
8
9
|
|
9
10
|
Ruby makes it possible to create very expressive **Domain Specific
|
@@ -214,7 +215,9 @@ $ gem install docile
|
|
214
215
|
|
215
216
|
## Status
|
216
217
|
|
217
|
-
Works on [all ruby versions since 1.8.7](https://github.com/ms-ati/docile/blob/master/.travis.yml).
|
218
|
+
Works on [all ruby versions since 1.8.7](https://github.com/ms-ati/docile/blob/master/.travis.yml), or so Travis CI [tells us](https://travis-ci.org/ms-ati/docile).
|
219
|
+
|
220
|
+
Used by some pretty cool gems to implement their DSLs, notably including [SimpleCov](https://github.com/colszowka/simplecov). Keep an eye out for new gems using Docile at the [Ruby Toolbox](https://www.ruby-toolbox.com/projects/docile).
|
218
221
|
|
219
222
|
## Note on Patches/Pull Requests
|
220
223
|
|
@@ -229,8 +232,10 @@ Works on [all ruby versions since 1.8.7](https://github.com/ms-ati/docile/blob/m
|
|
229
232
|
commit by itself I can ignore when I pull)
|
230
233
|
* Send me a pull request. Bonus points for topic branches.
|
231
234
|
|
232
|
-
## Copyright
|
235
|
+
## Copyright & License
|
236
|
+
|
237
|
+
Copyright (c) 2012-2014 Marc Siegel.
|
233
238
|
|
234
|
-
|
239
|
+
Licensed under the [MIT License](http://choosealicense.com/licenses/mit/), see [LICENSE](LICENSE) for details.
|
235
240
|
|
236
241
|
|
data/docile.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.version = Docile::VERSION
|
7
7
|
s.authors = ['Marc Siegel']
|
8
8
|
s.email = %w(msiegel@usainnov.com)
|
9
|
-
s.homepage = '
|
9
|
+
s.homepage = 'https://ms-ati.github.io/docile/'
|
10
10
|
s.summary = 'Docile keeps your Ruby DSLs tame and well-behaved'
|
11
11
|
s.description = 'Docile turns any Ruby object into a DSL. Especially useful with the Builder pattern.'
|
12
12
|
s.license = 'MIT'
|
@@ -19,14 +19,17 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.require_paths = %w(lib)
|
20
20
|
|
21
21
|
# Running rspec tests from rake
|
22
|
-
s.add_development_dependency 'rake', '
|
23
|
-
s.add_development_dependency 'rspec', '~> 2.
|
22
|
+
s.add_development_dependency 'rake', '>= 10.1.1'
|
23
|
+
s.add_development_dependency 'rspec', '~> 2.14.0'
|
24
|
+
s.add_development_dependency 'mime-types', '~> 1.25.1'
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
if !(defined?(RUBY_ENGINE) && 'jruby' == RUBY_ENGINE)
|
27
|
+
# Github flavored markdown in YARD documentation
|
28
|
+
# http://blog.nikosd.com/2011/11/github-flavored-markdown-in-yard.html
|
29
|
+
s.add_development_dependency 'yard'
|
30
|
+
s.add_development_dependency 'redcarpet', '2.3.0' # because 1.8
|
31
|
+
s.add_development_dependency 'github-markup'
|
32
|
+
end
|
30
33
|
|
31
34
|
# Coveralls test coverage tool
|
32
35
|
s.add_development_dependency 'coveralls'
|
@@ -53,9 +53,11 @@ module Docile
|
|
53
53
|
# Proxy all methods, excluding {NON_PROXIED_METHODS}, first to `receiver`
|
54
54
|
# and then to `fallback` if not found.
|
55
55
|
def method_missing(method, *args, &block)
|
56
|
-
@__receiver__.
|
57
|
-
|
58
|
-
|
56
|
+
if @__receiver__.respond_to?(method.to_sym)
|
57
|
+
@__receiver__.__send__(method.to_sym, *args, &block)
|
58
|
+
else
|
59
|
+
@__fallback__.__send__(method.to_sym, *args, &block)
|
60
|
+
end
|
59
61
|
end
|
60
62
|
end
|
61
63
|
end
|
data/lib/docile/version.rb
CHANGED
data/spec/docile_spec.rb
CHANGED
@@ -18,15 +18,15 @@ describe Docile do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'executes the block against the DSL context object' do
|
21
|
-
|
21
|
+
expect(array).to eq([1, 3])
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'returns the DSL object after executing block against it' do
|
25
|
-
|
25
|
+
expect(result).to eq(array)
|
26
26
|
end
|
27
27
|
|
28
28
|
it "doesn't proxy #__id__" do
|
29
|
-
Docile.dsl_eval(array) { __id__.
|
29
|
+
Docile.dsl_eval(array) { expect(__id__).not_to eq(array.__id__) }
|
30
30
|
end
|
31
31
|
|
32
32
|
it "raises NoMethodError if the DSL object doesn't implement the method" do
|
@@ -60,7 +60,7 @@ describe Docile do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
it 'returns correctly built object' do
|
63
|
-
result.
|
63
|
+
expect(result).to eq(Pizza.new(true, false, true, :extra))
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
@@ -93,88 +93,104 @@ describe Docile do
|
|
93
93
|
|
94
94
|
it 'passes parameters to the block' do
|
95
95
|
parameterized(1,2,3) do |x,y,z|
|
96
|
-
x.
|
97
|
-
y.
|
98
|
-
z.
|
96
|
+
expect(x).to eq(1)
|
97
|
+
expect(y).to eq(2)
|
98
|
+
expect(z).to eq(3)
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
102
|
it 'finds parameters before methods' do
|
103
|
-
parameterized(1) { |a| a.
|
103
|
+
parameterized(1) { |a| expect(a).to eq(1) }
|
104
104
|
end
|
105
105
|
|
106
106
|
it 'find outer dsl parameters in inner dsl scope' do
|
107
107
|
parameterized(1,2,3) do |a,b,c|
|
108
108
|
inner_with_params(c) do |d,e|
|
109
|
-
a.
|
110
|
-
b.
|
111
|
-
c.
|
112
|
-
d.
|
113
|
-
e.
|
109
|
+
expect(a).to eq(1)
|
110
|
+
expect(b).to eq(2)
|
111
|
+
expect(c).to eq(3)
|
112
|
+
expect(d).to eq(c)
|
113
|
+
expect(e).to eq(:foo)
|
114
114
|
end
|
115
115
|
end
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
119
|
+
class DSLWithNoMethod
|
120
|
+
def initialize(b); @b = b; end
|
121
|
+
attr_accessor :b
|
122
|
+
def push_element
|
123
|
+
@b.push 1
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
context 'when DSL have NoMethod error inside' do
|
128
|
+
it 'raise error from nil' do
|
129
|
+
Docile.dsl_eval(DSLWithNoMethod.new(nil)) do
|
130
|
+
expect { push_element }.to raise_error(NoMethodError, /undefined method `push' (for|on) nil:NilClass/)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
119
135
|
context 'when DSL blocks are nested' do
|
120
136
|
|
121
137
|
context 'method lookup' do
|
122
138
|
it 'finds method of outer dsl in outer dsl scope' do
|
123
|
-
outer { a.
|
139
|
+
outer { expect(a).to eq('a') }
|
124
140
|
end
|
125
141
|
|
126
142
|
it 'finds method of inner dsl in inner dsl scope' do
|
127
|
-
outer { inner { b.
|
143
|
+
outer { inner { expect(b).to eq('b') } }
|
128
144
|
end
|
129
145
|
|
130
146
|
it 'finds method of outer dsl in inner dsl scope' do
|
131
|
-
outer { inner { a.
|
147
|
+
outer { inner { expect(a).to eq('a') } }
|
132
148
|
end
|
133
149
|
|
134
150
|
it "finds method of block's context in outer dsl scope" do
|
135
151
|
def c; 'c'; end
|
136
|
-
outer { c.
|
152
|
+
outer { expect(c).to eq('c') }
|
137
153
|
end
|
138
154
|
|
139
155
|
it "finds method of block's context in inner dsl scope" do
|
140
156
|
def c; 'c'; end
|
141
|
-
outer { inner { c.
|
157
|
+
outer { inner { expect(c).to eq('c') } }
|
142
158
|
end
|
143
159
|
|
144
160
|
it 'finds method of outer dsl in preference to block context' do
|
145
161
|
def a; 'not a'; end
|
146
|
-
outer { a.
|
147
|
-
outer { inner { a.
|
162
|
+
outer { expect(a).to eq('a') }
|
163
|
+
outer { inner { expect(a).to eq('a') } }
|
148
164
|
end
|
149
165
|
end
|
150
166
|
|
151
167
|
context 'local variable lookup' do
|
152
168
|
it 'finds local variable from block context in outer dsl scope' do
|
153
169
|
foo = 'foo'
|
154
|
-
outer { foo.
|
170
|
+
outer { expect(foo).to eq('foo') }
|
155
171
|
end
|
156
172
|
|
157
173
|
it 'finds local variable from block definition in inner dsl scope' do
|
158
174
|
bar = 'bar'
|
159
|
-
outer { inner { bar.
|
175
|
+
outer { inner { expect(bar).to eq('bar') } }
|
160
176
|
end
|
161
177
|
end
|
162
178
|
|
163
179
|
context 'instance variable lookup' do
|
164
180
|
it 'finds instance variable from block definition in outer dsl scope' do
|
165
|
-
@iv1 = 'iv1'; outer { @iv1.
|
181
|
+
@iv1 = 'iv1'; outer { expect(@iv1).to eq('iv1') }
|
166
182
|
end
|
167
183
|
|
168
184
|
it "proxies instance variable assignments in block in outer dsl scope back into block's context" do
|
169
|
-
@iv1 = 'foo'; outer { @iv1 = 'bar' }; @iv1.
|
185
|
+
@iv1 = 'foo'; outer { @iv1 = 'bar' }; expect(@iv1).to eq('bar')
|
170
186
|
end
|
171
187
|
|
172
188
|
it 'finds instance variable from block definition in inner dsl scope' do
|
173
|
-
@iv2 = 'iv2'; outer { inner { @iv2.
|
189
|
+
@iv2 = 'iv2'; outer { inner { expect(@iv2).to eq('iv2') } }
|
174
190
|
end
|
175
191
|
|
176
192
|
it "proxies instance variable assignments in block in inner dsl scope back into block's context" do
|
177
|
-
@iv2 = 'foo'; outer { inner { @iv2 = 'bar' } }; @iv2.
|
193
|
+
@iv2 = 'foo'; outer { inner { @iv2 = 'bar' } }; expect(@iv2).to eq('bar')
|
178
194
|
end
|
179
195
|
end
|
180
196
|
|
@@ -224,7 +240,7 @@ describe Docile do
|
|
224
240
|
|
225
241
|
def x(y) ; "Got a #{y}"; end
|
226
242
|
respond '/third' do |third|
|
227
|
-
x(third).
|
243
|
+
expect(x(third)).to eq('Got a third thing')
|
228
244
|
end
|
229
245
|
|
230
246
|
fourth = nil
|
@@ -237,9 +253,9 @@ describe Docile do
|
|
237
253
|
send_request '/third', 'third thing'
|
238
254
|
send_request '/params', :b
|
239
255
|
|
240
|
-
@first.
|
241
|
-
@second.
|
242
|
-
fourth.
|
256
|
+
expect(@first).to eq(1)
|
257
|
+
expect(@second).to eq('Got a new ten speed')
|
258
|
+
expect(fourth).to eq(2)
|
243
259
|
end
|
244
260
|
|
245
261
|
end
|
@@ -260,11 +276,11 @@ describe Docile do
|
|
260
276
|
end
|
261
277
|
|
262
278
|
it "doesn't modify the original string" do
|
263
|
-
|
279
|
+
expect(original).to eq("I'm immutable!")
|
264
280
|
end
|
265
281
|
|
266
282
|
it 'chains the commands in the block against the DSL context object' do
|
267
|
-
|
283
|
+
expect(result).to eq("!ELBATUMMI M'I")
|
268
284
|
end
|
269
285
|
end
|
270
286
|
|
@@ -280,7 +296,7 @@ describe Docile do
|
|
280
296
|
end
|
281
297
|
|
282
298
|
it 'chains the commands in the block against the DSL context object' do
|
283
|
-
|
299
|
+
expect(result).to eq(42)
|
284
300
|
end
|
285
301
|
end
|
286
302
|
end
|
@@ -289,7 +305,7 @@ end
|
|
289
305
|
|
290
306
|
describe Docile::FallbackContextProxy do
|
291
307
|
|
292
|
-
describe
|
308
|
+
describe '#instance_variables' do
|
293
309
|
subject { create_fcp_and_set_one_instance_variable.instance_variables }
|
294
310
|
let(:expected_type_of_names) { type_of_ivar_names_on_this_ruby }
|
295
311
|
let(:actual_type_of_names) { subject.first.class }
|
@@ -307,15 +323,15 @@ describe Docile::FallbackContextProxy do
|
|
307
323
|
end
|
308
324
|
|
309
325
|
it 'returns proxied instance variables' do
|
310
|
-
subject.map(&:to_sym).
|
326
|
+
expect(subject.map(&:to_sym)).to include(:@foo)
|
311
327
|
end
|
312
328
|
|
313
329
|
it "doesn't return non-proxied instance variables" do
|
314
|
-
subject.map(&:to_sym).
|
330
|
+
expect(subject.map(&:to_sym)).not_to include(*excluded)
|
315
331
|
end
|
316
332
|
|
317
333
|
it 'preserves the type (String or Symbol) of names on this ruby version' do
|
318
|
-
actual_type_of_names.
|
334
|
+
expect(actual_type_of_names).to eq(expected_type_of_names)
|
319
335
|
end
|
320
336
|
end
|
321
337
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,22 +1,37 @@
|
|
1
|
-
|
2
|
-
require '
|
3
|
-
require '
|
4
|
-
require 'simplecov'
|
5
|
-
require 'coveralls'
|
1
|
+
begin
|
2
|
+
require 'simplecov'
|
3
|
+
require 'coveralls'
|
6
4
|
|
7
|
-
#
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
5
|
+
# On Ruby 1.9+ use SimpleCov and publish to Coveralls.io
|
6
|
+
if !RUBY_VERSION.start_with? '1.8'
|
7
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
8
|
+
SimpleCov::Formatter::HTMLFormatter,
|
9
|
+
Coveralls::SimpleCov::Formatter
|
10
|
+
]
|
11
|
+
SimpleCov.start do
|
12
|
+
add_filter '/spec/' # exclude test code
|
13
|
+
add_filter '/vendor/' # exclude gems which are vendored on Travis CI
|
14
|
+
end
|
15
15
|
|
16
|
-
|
17
|
-
|
16
|
+
# Remove Docile, which was required by SimpleCov, to require again later
|
17
|
+
Object.send(:remove_const, :Docile)
|
18
|
+
$LOADED_FEATURES.reject! { |f| f =~ /\/docile\// }
|
19
|
+
end
|
20
|
+
rescue LoadError
|
21
|
+
warn 'warning: simplecov/coveralls gems not found; skipping coverage'
|
22
|
+
end
|
18
23
|
|
19
|
-
lib_dir = File.join(File.dirname(
|
20
|
-
$LOAD_PATH.unshift lib_dir unless $LOAD_PATH.include?
|
24
|
+
lib_dir = File.join(File.dirname(File.dirname(__FILE__)), 'lib')
|
25
|
+
$LOAD_PATH.unshift lib_dir unless $LOAD_PATH.include? lib_dir
|
21
26
|
|
27
|
+
# Require Docile again, now with coverage enabled on 1.9+
|
22
28
|
require 'docile'
|
29
|
+
|
30
|
+
require 'singleton'
|
31
|
+
require 'rspec'
|
32
|
+
|
33
|
+
RSpec.configure do |config|
|
34
|
+
config.expect_with :rspec do |c|
|
35
|
+
c.syntax = :expect
|
36
|
+
end
|
37
|
+
end
|
metadata
CHANGED
@@ -1,97 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marc Siegel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 10.1.1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 10.1.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.
|
33
|
+
version: 2.14.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 2.
|
40
|
+
version: 2.14.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: mime-types
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.25.1
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.25.1
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: yard
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- -
|
59
|
+
- - ">="
|
46
60
|
- !ruby/object:Gem::Version
|
47
61
|
version: '0'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
|
-
- -
|
66
|
+
- - ">="
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: redcarpet
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- - '
|
73
|
+
- - '='
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
75
|
+
version: 2.3.0
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- - '
|
80
|
+
- - '='
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
82
|
+
version: 2.3.0
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: github-markup
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ">="
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: '0'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: coveralls
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ">="
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: '0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
description: Docile turns any Ruby object into a DSL. Especially useful with the Builder
|
@@ -102,13 +116,12 @@ executables: []
|
|
102
116
|
extensions: []
|
103
117
|
extra_rdoc_files: []
|
104
118
|
files:
|
105
|
-
- .
|
106
|
-
- .
|
107
|
-
- .
|
108
|
-
- .ruby-
|
109
|
-
- .
|
110
|
-
- .
|
111
|
-
- .yardopts
|
119
|
+
- ".gitignore"
|
120
|
+
- ".rspec"
|
121
|
+
- ".ruby-gemset"
|
122
|
+
- ".ruby-version"
|
123
|
+
- ".travis.yml"
|
124
|
+
- ".yardopts"
|
112
125
|
- Gemfile
|
113
126
|
- HISTORY.md
|
114
127
|
- LICENSE
|
@@ -122,7 +135,7 @@ files:
|
|
122
135
|
- lib/docile/version.rb
|
123
136
|
- spec/docile_spec.rb
|
124
137
|
- spec/spec_helper.rb
|
125
|
-
homepage:
|
138
|
+
homepage: https://ms-ati.github.io/docile/
|
126
139
|
licenses:
|
127
140
|
- MIT
|
128
141
|
metadata: {}
|
@@ -132,20 +145,21 @@ require_paths:
|
|
132
145
|
- lib
|
133
146
|
required_ruby_version: !ruby/object:Gem::Requirement
|
134
147
|
requirements:
|
135
|
-
- -
|
148
|
+
- - ">="
|
136
149
|
- !ruby/object:Gem::Version
|
137
150
|
version: '0'
|
138
151
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
152
|
requirements:
|
140
|
-
- -
|
153
|
+
- - ">="
|
141
154
|
- !ruby/object:Gem::Version
|
142
155
|
version: '0'
|
143
156
|
requirements: []
|
144
157
|
rubyforge_project: docile
|
145
|
-
rubygems_version: 2.
|
158
|
+
rubygems_version: 2.2.0
|
146
159
|
signing_key:
|
147
160
|
specification_version: 4
|
148
161
|
summary: Docile keeps your Ruby DSLs tame and well-behaved
|
149
162
|
test_files:
|
150
163
|
- spec/docile_spec.rb
|
151
164
|
- spec/spec_helper.rb
|
165
|
+
has_rdoc:
|
data/.coveralls.yml
DELETED