docile 1.1.0 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 57d90aa5d94c06fab36bcf2ad9c058e8b3c7ec3b
4
- data.tar.gz: c73f0d3af5a1d87fcc3ae562e2c90bdd7e06b724
3
+ metadata.gz: fb7581d7fa7a2ace7257cb7d0fac9732c80480a5
4
+ data.tar.gz: 1fab351868ad13d87ceb0882460aa059428b29f0
5
5
  SHA512:
6
- metadata.gz: 2ed37d882ad062a8ae1dc02963582c57ed51383b7916176964a55ad4833ee34e93a98743382d527113554f8cef5774ef96e8e681396de00b11bfdcb4bda80bef
7
- data.tar.gz: a000461e5ffe9649801875b2d0228d1a5d61510813713a90fe5cfb4aa594abaaa52e7f2554ec57113eb0b679712f39be469664ccbe82f0ed9afbb9c1f1324d8b
6
+ metadata.gz: 762a98e99139ca515bd787e794be284c1a3a4dd1be805869736ce8f19bb6cadbcedf6a35b9fb72f71bce5806b45171190cf63b58b02754ebaf400b705971e338
7
+ data.tar.gz: 5825352e7d6d819b557909f296e2d23ba8bb8807a212bb24781d758f2c59ab030f977bf9f2cb7af5dae7709d86fde8e306a77e1f56f0accb5b5c5b939427a215
@@ -1 +1 @@
1
- ruby-2.0.0-p247
1
+ ruby-2.0.0
@@ -8,5 +8,4 @@ rvm:
8
8
  - ree
9
9
  - jruby-18mode
10
10
  - jruby-19mode
11
- - rbx-18mode
12
- - rbx-19mode
11
+ - rbx-2.2.0
data/Gemfile CHANGED
@@ -1,11 +1,17 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
3
  # Specify gem's dependencies in docile.gemspec
4
4
  gemspec
5
5
 
6
6
  # Explicitly require test gems for Travis CI, since we're excluding dev dependencies
7
7
  group :test do
8
- gem "rake", ">= 0.9.2"
9
- gem "rspec", ">= 2.11.0"
10
- gem "coveralls", :require => false
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
11
17
  end
data/HISTORY.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # HISTORY
2
2
 
3
+ ## [v1.1.1 (Nov 26, 2013)](http://github.com/ms-ati/docile/compare/v1.1.0...v1.1.1)
4
+
5
+ - documentation updates and corrections
6
+ - fix Rubinius build in Travis CI
7
+
3
8
  ## [v1.1.0 (Jul 29, 2013)](http://github.com/ms-ati/docile/compare/v1.0.5...v1.1.0)
4
9
 
5
10
  - add functional-style DSL objects via `Docile#dsl_eval_immutable`
data/README.md CHANGED
@@ -16,7 +16,9 @@ coding a bit more docile...
16
16
 
17
17
  [1]: http://www.google.com/search?q=docile+definition "Google"
18
18
 
19
- ## Basic Usage
19
+ ## Usage
20
+
21
+ ### Basic
20
22
 
21
23
  Let's say that we want to make a DSL for modifying Array objects.
22
24
  Wouldn't it be great if we could just treat the methods of Array as a DSL?
@@ -41,7 +43,7 @@ end
41
43
 
42
44
  Easy!
43
45
 
44
- ## Advanced Usage
46
+ ### Advanced
45
47
 
46
48
  Mutating (changing) an Array instance is fine, but what usually makes a good DSL is a [Builder Pattern][2].
47
49
 
@@ -64,10 +66,10 @@ And let's say we have a PizzaBuilder, which builds a Pizza like this:
64
66
  Pizza = Struct.new(:cheese, :pepperoni, :bacon, :sauce)
65
67
 
66
68
  class PizzaBuilder
67
- def cheese(v=true); @cheese = v; end
68
- def pepperoni(v=true); @pepperoni = v; end
69
- def bacon(v=true); @bacon = v; end
70
- def sauce(v=nil); @sauce = v; end
69
+ def cheese(v=true); @cheese = v; self; end
70
+ def pepperoni(v=true); @pepperoni = v; self; end
71
+ def bacon(v=true); @bacon = v; self; end
72
+ def sauce(v=nil); @sauce = v; self; end
71
73
  def build
72
74
  Pizza.new(!!@cheese, !!@pepperoni, !!@bacon, @sauce)
73
75
  end
@@ -89,7 +91,7 @@ It's just that easy!
89
91
 
90
92
  [2]: http://stackoverflow.com/questions/328496/when-would-you-use-the-builder-pattern "Builder Pattern"
91
93
 
92
- ## Block parameters
94
+ ### Block parameters
93
95
 
94
96
  Parameters can be passed to the DSL block.
95
97
 
@@ -149,7 +151,7 @@ end
149
151
 
150
152
  [3]: http://www.sinatrarb.com "Sinatra"
151
153
 
152
- ## Functional-Style DSL Objects
154
+ ### Functional-Style DSL Objects
153
155
 
154
156
  Sometimes, you want to use an object as a DSL, but it doesn't quite fit the
155
157
  [imperative](http://en.wikipedia.org/wiki/Imperative_programming) pattern shown
@@ -166,11 +168,16 @@ order to enforce [immutability](http://en.wikipedia.org/wiki/Immutable_object).
166
168
  Wouldn't it be great if we could just treat these methods as a DSL as well?
167
169
 
168
170
  ```ruby
169
- with_immutable_string("I'm immutable!".freeze) do
171
+ s = "I'm immutable!".freeze
172
+
173
+ with_immutable_string(s) do
170
174
  reverse
171
175
  upcase
172
176
  end
173
177
  #=> "!ELBATUMMI M'I"
178
+
179
+ s
180
+ #=> "I'm immutable!"
174
181
  ```
175
182
 
176
183
  No problem, just define the method `with_immutable_string` like this:
@@ -199,15 +206,14 @@ All set!
199
206
  $ gem install docile
200
207
  ```
201
208
 
202
- ## Documentation
203
-
204
- Documentation hosted on *rubydoc.info*: [Docile Documentation](http://rubydoc.info/gems/docile)
205
-
206
- Or, read the code hosted on *github.com*: [Docile Code](https://github.com/ms-ati/docile)
209
+ ## Links
210
+ * [Source](https://github.com/ms-ati/docile)
211
+ * [Documentation](http://rubydoc.info/gems/docile)
212
+ * [Bug Tracker](https://github.com/ms-ati/docile/issues)
207
213
 
208
214
  ## Status
209
215
 
210
- Version 1.0.x works on [all ruby versions since 1.8.7](https://github.com/ms-ati/docile/blob/master/.travis.yml).
216
+ Works on [all ruby versions since 1.8.7](https://github.com/ms-ati/docile/blob/master/.travis.yml).
211
217
 
212
218
  ## Note on Patches/Pull Requests
213
219
 
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
- require "rake/clean"
2
- require "bundler/gem_tasks"
3
- require "rspec/core/rake_task"
1
+ require 'rake/clean'
2
+ require 'bundler/gem_tasks'
3
+ require 'rspec/core/rake_task'
4
4
 
5
5
  # Default task for `rake` is to run rspec
6
6
  task :default => [:spec]
@@ -9,7 +9,7 @@ task :default => [:spec]
9
9
  RSpec::Core::RakeTask.new
10
10
 
11
11
  # Configure `rake clobber` to delete all generated files
12
- CLOBBER.include("pkg", "doc", "coverage")
12
+ CLOBBER.include('pkg', 'doc', 'coverage')
13
13
 
14
14
  # Only configure yard doc generation when *not* on Travis
15
15
  if ENV['CI'] != 'true'
@@ -1,33 +1,33 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "docile/version"
1
+ $:.push File.expand_path('../lib', __FILE__)
2
+ require 'docile/version'
4
3
 
5
4
  Gem::Specification.new do |s|
6
- s.name = "docile"
5
+ s.name = 'docile'
7
6
  s.version = Docile::VERSION
8
- s.authors = ["Marc Siegel"]
9
- s.email = ["msiegel@usainnov.com"]
10
- s.homepage = "http://ms-ati.github.com/docile/"
11
- s.summary = "Docile keeps your Ruby DSL's tame and well-behaved"
12
- s.description = "Docile turns any Ruby object into a DSL. Especially useful with the Builder pattern."
7
+ s.authors = ['Marc Siegel']
8
+ s.email = %w(msiegel@usainnov.com)
9
+ s.homepage = 'http://ms-ati.github.com/docile/'
10
+ s.summary = 'Docile keeps your Ruby DSLs tame and well-behaved'
11
+ s.description = 'Docile turns any Ruby object into a DSL. Especially useful with the Builder pattern.'
12
+ s.license = 'MIT'
13
13
 
14
- s.rubyforge_project = "docile"
14
+ s.rubyforge_project = 'docile'
15
15
 
16
16
  s.files = `git ls-files`.split("\n")
17
17
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
- s.require_paths = ["lib"]
19
+ s.require_paths = %w(lib)
20
20
 
21
21
  # Running rspec tests from rake
22
- s.add_development_dependency "rake", ">= 0.9.2"
23
- s.add_development_dependency "rspec", ">= 2.11.0"
22
+ s.add_development_dependency 'rake', '~> 0.9.2'
23
+ s.add_development_dependency 'rspec', '~> 2.11.0'
24
24
 
25
25
  # Github flavored markdown in YARD documentation
26
26
  # http://blog.nikosd.com/2011/11/github-flavored-markdown-in-yard.html
27
- s.add_development_dependency "yard"
28
- s.add_development_dependency "redcarpet"
29
- s.add_development_dependency "github-markup"
27
+ s.add_development_dependency 'yard'
28
+ s.add_development_dependency 'redcarpet'
29
+ s.add_development_dependency 'github-markup'
30
30
 
31
31
  # Coveralls test coverage tool
32
- s.add_development_dependency "coveralls"
32
+ s.add_development_dependency 'coveralls'
33
33
  end
@@ -1,7 +1,7 @@
1
- require "docile/version"
2
- require "docile/execution"
3
- require "docile/fallback_context_proxy"
4
- require "docile/chaining_fallback_context_proxy"
1
+ require 'docile/version'
2
+ require 'docile/execution'
3
+ require 'docile/fallback_context_proxy'
4
+ require 'docile/chaining_fallback_context_proxy'
5
5
 
6
6
  # Docile keeps your Ruby DSLs tame and well-behaved.
7
7
  module Docile
@@ -36,7 +36,7 @@ module Docile
36
36
  #
37
37
  # @param dsl [Object] context object whose methods make up the DSL
38
38
  # @param args [Array] arguments to be passed to the block
39
- # @yield the block of DSL commands to be executed against the
39
+ # @param block [Proc] the block of DSL commands to be executed against the
40
40
  # `dsl` context object
41
41
  # @return [Object] the `dsl` context object after executing the block
42
42
  def dsl_eval(dsl, *args, &block)
@@ -74,7 +74,7 @@ module Docile
74
74
  # @param dsl [Object] immutable context object whose methods make up the
75
75
  # initial DSL
76
76
  # @param args [Array] arguments to be passed to the block
77
- # @yield the block of DSL commands to be executed against the
77
+ # @param block [Proc] the block of DSL commands to be executed against the
78
78
  # `dsl` context object and successor return values
79
79
  # @return [Object] the return value of the final command in the block
80
80
  def dsl_eval_immutable(dsl, *args, &block)
@@ -1,4 +1,4 @@
1
- require "docile/fallback_context_proxy"
1
+ require 'docile/fallback_context_proxy'
2
2
 
3
3
  module Docile
4
4
  # @api private
@@ -9,7 +9,7 @@ module Docile
9
9
  # This is useful for implementing DSL evaluation for immutable context
10
10
  # objects.
11
11
  #
12
- # @see Docile#dsl_eval_immutable
12
+ # @see Docile.dsl_eval_immutable
13
13
  class ChainingFallbackContextProxy < FallbackContextProxy
14
14
  # Proxy methods as in {FallbackContextProxy#method_missing}, replacing
15
15
  # `receiver` with the returned value.
@@ -1,7 +1,7 @@
1
1
  module Docile
2
2
  # @api private
3
3
  #
4
- # A namespace for functions relating to the execution of a block agsinst a
4
+ # A namespace for functions relating to the execution of a block against a
5
5
  # proxy object.
6
6
  module Execution
7
7
  # Execute a block in the context of an object whose methods represent the
@@ -9,14 +9,13 @@ module Docile
9
9
  #
10
10
  # @param dsl [Object] context object whose methods make up the
11
11
  # (initial) DSL
12
- # @param proxy_type [FallbackContextProxy,
13
- # ChainingFallbackContextProxy]
14
- # class to instantiate as the proxy context
12
+ # @param proxy_type [FallbackContextProxy, ChainingFallbackContextProxy]
13
+ # which class to instantiate as proxy context
15
14
  # @param args [Array] arguments to be passed to the block
16
- # @yield the block of DSL commands to be executed
15
+ # @param block [Proc] the block of DSL commands to be executed
17
16
  # @return [Object] the return value of the block
18
17
  def exec_in_proxy_context(dsl, proxy_type, *args, &block)
19
- block_context = eval("self", block.binding)
18
+ block_context = eval('self', block.binding)
20
19
  proxy_context = proxy_type.new(dsl, proxy_type.new(dsl, block_context))
21
20
  begin
22
21
  block_context.instance_variables.each do |ivar|
@@ -12,12 +12,12 @@ module Docile
12
12
  #
13
13
  # This is useful for implementing DSL evaluation in the context of an object.
14
14
  #
15
- # @see Docile#dsl_eval
15
+ # @see Docile.dsl_eval
16
16
  class FallbackContextProxy
17
17
  # The set of methods which will **not** be proxied, but instead answered
18
18
  # by this object directly.
19
19
  NON_PROXIED_METHODS = Set[:__send__, :object_id, :__id__, :==, :equal?,
20
- :"!", :"!=", :instance_exec, :instance_variables,
20
+ :'!', :'!=', :instance_exec, :instance_variables,
21
21
  :instance_variable_get, :instance_variable_set,
22
22
  :remove_instance_variable]
23
23
 
@@ -1,4 +1,4 @@
1
1
  module Docile
2
2
  # The current version of this library
3
- VERSION = "1.1.0"
3
+ VERSION = '1.1.1'
4
4
  end
@@ -1,10 +1,10 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe Docile do
4
4
 
5
- describe "#dsl_eval" do
5
+ describe '.dsl_eval' do
6
6
 
7
- context "when DSL context object is an Array" do
7
+ context 'when DSL context object is an Array' do
8
8
  let(:array) { [] }
9
9
  let!(:result) { execute_dsl_against_array }
10
10
 
@@ -17,15 +17,15 @@ describe Docile do
17
17
  end
18
18
  end
19
19
 
20
- it "executes the block against the DSL context object" do
20
+ it 'executes the block against the DSL context object' do
21
21
  array.should == [1, 3]
22
22
  end
23
23
 
24
- it "returns the DSL object after executing block against it" do
24
+ it 'returns the DSL object after executing block against it' do
25
25
  result.should == array
26
26
  end
27
27
 
28
- it "doesn't proxy #__id__" do
28
+ it "doesn't proxy #__id__" do
29
29
  Docile.dsl_eval(array) { __id__.should_not == array.__id__ }
30
30
  end
31
31
 
@@ -46,7 +46,7 @@ describe Docile do
46
46
  end
47
47
  end
48
48
 
49
- context "when DSL context object is a Builder pattern" do
49
+ context 'when DSL context object is a Builder pattern' do
50
50
  let(:builder) { PizzaBuilder.new }
51
51
  let(:result) { execute_dsl_against_builder_and_call_build }
52
52
 
@@ -59,7 +59,7 @@ describe Docile do
59
59
  end.build
60
60
  end
61
61
 
62
- it "returns correctly built object" do
62
+ it 'returns correctly built object' do
63
63
  result.should == Pizza.new(true, false, true, :extra)
64
64
  end
65
65
  end
@@ -86,12 +86,12 @@ describe Docile do
86
86
  Docile.dsl_eval(OuterDSL.new, &block)
87
87
  end
88
88
 
89
- context "when given parameters for the DSL block" do
89
+ context 'when given parameters for the DSL block' do
90
90
  def parameterized(*args, &block)
91
91
  Docile.dsl_eval(OuterDSL.new, *args, &block)
92
92
  end
93
93
 
94
- it "passes parameters to the block" do
94
+ it 'passes parameters to the block' do
95
95
  parameterized(1,2,3) do |x,y,z|
96
96
  x.should == 1
97
97
  y.should == 2
@@ -99,11 +99,11 @@ describe Docile do
99
99
  end
100
100
  end
101
101
 
102
- it "finds parameters before methods" do
102
+ it 'finds parameters before methods' do
103
103
  parameterized(1) { |a| a.should == 1 }
104
104
  end
105
105
 
106
- it "find outer dsl parameters in inner dsl scope" do
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
109
  a.should == 1
@@ -116,18 +116,18 @@ describe Docile do
116
116
  end
117
117
  end
118
118
 
119
- context "when DSL blocks are nested" do
119
+ context 'when DSL blocks are nested' do
120
120
 
121
- context "method lookup" do
122
- it "finds method of outer dsl in outer dsl scope" do
121
+ context 'method lookup' do
122
+ it 'finds method of outer dsl in outer dsl scope' do
123
123
  outer { a.should == 'a' }
124
124
  end
125
125
 
126
- it "finds method of inner dsl in inner dsl scope" do
126
+ it 'finds method of inner dsl in inner dsl scope' do
127
127
  outer { inner { b.should == 'b' } }
128
128
  end
129
129
 
130
- it "finds method of outer dsl in inner dsl scope" do
130
+ it 'finds method of outer dsl in inner dsl scope' do
131
131
  outer { inner { a.should == 'a' } }
132
132
  end
133
133
 
@@ -141,27 +141,27 @@ describe Docile do
141
141
  outer { inner { c.should == 'c' } }
142
142
  end
143
143
 
144
- it "finds method of outer dsl in preference to block context" do
144
+ it 'finds method of outer dsl in preference to block context' do
145
145
  def a; 'not a'; end
146
146
  outer { a.should == 'a' }
147
147
  outer { inner { a.should == 'a' } }
148
148
  end
149
149
  end
150
150
 
151
- context "local variable lookup" do
152
- it "finds local variable from block context in outer dsl scope" do
151
+ context 'local variable lookup' do
152
+ it 'finds local variable from block context in outer dsl scope' do
153
153
  foo = 'foo'
154
154
  outer { foo.should == 'foo' }
155
155
  end
156
156
 
157
- it "finds local variable from block definition in inner dsl scope" do
157
+ it 'finds local variable from block definition in inner dsl scope' do
158
158
  bar = 'bar'
159
159
  outer { inner { bar.should == 'bar' } }
160
160
  end
161
161
  end
162
162
 
163
- context "instance variable lookup" do
164
- it "finds instance variable from block definition in outer dsl scope" do
163
+ context 'instance variable lookup' do
164
+ it 'finds instance variable from block definition in outer dsl scope' do
165
165
  @iv1 = 'iv1'; outer { @iv1.should == 'iv1' }
166
166
  end
167
167
 
@@ -169,7 +169,7 @@ describe Docile do
169
169
  @iv1 = 'foo'; outer { @iv1 = 'bar' }; @iv1.should == 'bar'
170
170
  end
171
171
 
172
- it "finds instance variable from block definition in inner dsl scope" do
172
+ it 'finds instance variable from block definition in inner dsl scope' do
173
173
  @iv2 = 'iv2'; outer { inner { @iv2.should == 'iv2' } }
174
174
  end
175
175
 
@@ -180,7 +180,7 @@ describe Docile do
180
180
 
181
181
  end
182
182
 
183
- context "when DSL context object is a Dispatch pattern" do
183
+ context 'when DSL context object is a Dispatch pattern' do
184
184
  class DispatchScope
185
185
  def params
186
186
  { :a => 1, :b => 2, :c => 3 }
@@ -211,7 +211,7 @@ describe Docile do
211
211
  MessageDispatch.instance.dispatch(path, request)
212
212
  end
213
213
 
214
- it "dispatches correctly" do
214
+ it 'dispatches correctly' do
215
215
  @first = @second = nil
216
216
 
217
217
  respond '/path' do |request|
@@ -246,9 +246,9 @@ describe Docile do
246
246
 
247
247
  end
248
248
 
249
- describe "#dsl_eval_immutable" do
249
+ describe '.dsl_eval_immutable' do
250
250
 
251
- context "when DSL context object is a frozen String" do
251
+ context 'when DSL context object is a frozen String' do
252
252
  let(:original) { "I'm immutable!".freeze }
253
253
  let!(:result) { execute_non_mutating_dsl_against_string }
254
254
 
@@ -263,12 +263,12 @@ describe Docile do
263
263
  original.should == "I'm immutable!"
264
264
  end
265
265
 
266
- it "chains the commands in the block against the DSL context object" do
266
+ it 'chains the commands in the block against the DSL context object' do
267
267
  result.should == "!ELBATUMMI M'I"
268
268
  end
269
269
  end
270
270
 
271
- context "when DSL context object is a number" do
271
+ context 'when DSL context object is a number' do
272
272
  let(:original) { 84.5 }
273
273
  let!(:result) { execute_non_mutating_dsl_against_number }
274
274
 
@@ -279,7 +279,7 @@ describe Docile do
279
279
  end
280
280
  end
281
281
 
282
- it "chains the commands in the block against the DSL context object" do
282
+ it 'chains the commands in the block against the DSL context object' do
283
283
  result.should == 42
284
284
  end
285
285
  end
@@ -297,7 +297,7 @@ describe Docile::FallbackContextProxy do
297
297
 
298
298
  def create_fcp_and_set_one_instance_variable
299
299
  fcp = Docile::FallbackContextProxy.new(nil, nil)
300
- fcp.instance_variable_set(:@foo, "foo")
300
+ fcp.instance_variable_set(:@foo, 'foo')
301
301
  fcp
302
302
  end
303
303
 
@@ -306,7 +306,7 @@ describe Docile::FallbackContextProxy do
306
306
  instance_variables.first.class
307
307
  end
308
308
 
309
- it "returns proxied instance variables" do
309
+ it 'returns proxied instance variables' do
310
310
  subject.map(&:to_sym).should include(:@foo)
311
311
  end
312
312
 
@@ -314,7 +314,7 @@ describe Docile::FallbackContextProxy do
314
314
  subject.map(&:to_sym).should_not include(*excluded)
315
315
  end
316
316
 
317
- it "preserves the type (String or Symbol) of names on this ruby version" do
317
+ it 'preserves the type (String or Symbol) of names on this ruby version' do
318
318
  actual_type_of_names.should == expected_type_of_names
319
319
  end
320
320
  end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docile
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marc Siegel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-29 00:00:00.000000000 Z
11
+ date: 2013-11-26 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
19
  version: 0.9.2
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
26
  version: 0.9.2
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
33
  version: 2.11.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
40
  version: 2.11.0
41
41
  - !ruby/object:Gem::Dependency
@@ -123,7 +123,8 @@ files:
123
123
  - spec/docile_spec.rb
124
124
  - spec/spec_helper.rb
125
125
  homepage: http://ms-ati.github.com/docile/
126
- licenses: []
126
+ licenses:
127
+ - MIT
127
128
  metadata: {}
128
129
  post_install_message:
129
130
  rdoc_options: []
@@ -141,10 +142,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
142
  version: '0'
142
143
  requirements: []
143
144
  rubyforge_project: docile
144
- rubygems_version: 2.0.5
145
+ rubygems_version: 2.1.11
145
146
  signing_key:
146
147
  specification_version: 4
147
- summary: Docile keeps your Ruby DSL's tame and well-behaved
148
+ summary: Docile keeps your Ruby DSLs tame and well-behaved
148
149
  test_files:
149
150
  - spec/docile_spec.rb
150
151
  - spec/spec_helper.rb