hexp 0.3.3 → 0.4.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +8 -3
  4. data/Changelog.md +32 -1
  5. data/Gemfile +0 -5
  6. data/Rakefile +21 -15
  7. data/hexp.gemspec +6 -4
  8. data/lib/hexp.rb +5 -14
  9. data/lib/hexp/core_ext/nil.rb +9 -0
  10. data/lib/hexp/css_selector.rb +2 -1
  11. data/lib/hexp/h.rb +9 -1
  12. data/lib/hexp/list.rb +6 -1
  13. data/lib/hexp/node.rb +9 -2
  14. data/lib/hexp/node/attributes.rb +1 -1
  15. data/lib/hexp/node/children.rb +4 -2
  16. data/lib/hexp/node/normalize.rb +24 -28
  17. data/lib/hexp/nokogiri/reader.rb +1 -1
  18. data/lib/hexp/text_node.rb +6 -0
  19. data/lib/hexp/unparser.rb +73 -0
  20. data/lib/hexp/version.rb +1 -1
  21. data/spec/integration/literal_syntax_spec.rb +2 -2
  22. data/spec/shared_helper.rb +1 -1
  23. data/spec/unit/hexp/builder_spec.rb +2 -2
  24. data/spec/unit/hexp/css_selector/attribute_spec.rb +24 -24
  25. data/spec/unit/hexp/css_selector/class_spec.rb +3 -3
  26. data/spec/unit/hexp/css_selector/comma_sequence_spec.rb +1 -1
  27. data/spec/unit/hexp/css_selector/element_spec.rb +2 -2
  28. data/spec/unit/hexp/css_selector/simple_sequence_spec.rb +8 -8
  29. data/spec/unit/hexp/css_selector/universal_spec.rb +1 -1
  30. data/spec/unit/hexp/dsl_spec.rb +3 -3
  31. data/spec/unit/hexp/h_spec.rb +2 -2
  32. data/spec/unit/hexp/node/attributes_spec.rb +4 -4
  33. data/spec/unit/hexp/node/class_spec.rb +7 -7
  34. data/spec/unit/hexp/node/normalize_spec.rb +14 -6
  35. data/spec/unit/hexp/node/rewrite_spec.rb +1 -1
  36. data/spec/unit/hexp/node/text_spec.rb +1 -1
  37. data/spec/unit/hexp/node/to_dom_spec.rb +1 -1
  38. data/spec/unit/hexp/node/to_html_spec.rb +17 -1
  39. data/spec/unit/hexp/nokogiri/equality_spec.rb +6 -6
  40. data/spec/unit/hexp/text_node_spec.rb +2 -2
  41. metadata +62 -34
  42. data/Gemfile.devtools +0 -55
  43. data/Gemfile.lock +0 -186
@@ -60,7 +60,7 @@ describe Hexp::Node, 'rewrite' do
60
60
  end
61
61
 
62
62
  it 'should not pass those nodes again to the block' do
63
- rewriter.to_hexp.should == H[:div, [
63
+ expect(rewriter.to_hexp).to eql H[:div, [
64
64
  [:a],
65
65
  [:blockquote, [
66
66
  [:p]]],
@@ -3,5 +3,5 @@ require 'spec_helper'
3
3
  describe Hexp::Node do
4
4
  subject { described_class[:p] }
5
5
 
6
- its(:text?) { should be_false }
6
+ its(:text?) { should be false }
7
7
  end
@@ -5,6 +5,6 @@ describe Hexp::Node, 'to_dom' do
5
5
 
6
6
  it 'should delegate to Domize' do
7
7
  expect(Hexp::Node::Domize).to receive(:new).with(subject, {}).and_return( ->{ 'result' } )
8
- subject.to_dom.should == 'result'
8
+ expect(subject.to_dom).to eql 'result'
9
9
  end
10
10
  end
@@ -4,6 +4,22 @@ describe Hexp::Node, 'to_html' do
4
4
  subject { Hexp::Node[:tt] }
5
5
 
6
6
  it 'should render HTML' do
7
- subject.to_html.should =~ %r{<tt></tt>}
7
+ expect(subject.to_html).to eql '<tt></tt>'
8
+ end
9
+
10
+ describe 'attribute escaping' do
11
+ subject { Hexp::Node[:foo, {bar: "it's fine&dandy"}] }
12
+
13
+ it 'should escape ampersand, single quote' do
14
+ expect(subject.to_html).to eql "<foo bar='it&#x27;s fine&amp;dandy'></foo>"
15
+ end
16
+ end
17
+
18
+ describe 'text node escaping' do
19
+ subject { Hexp::Node[:foo, "it's 5 > 3, & 6 < 3, \"fine chap\""] }
20
+
21
+ it 'should escape ampersand, single quote, double quote, lower than, greater than' do
22
+ expect(subject.to_html).to eql "<foo>it&#x27;s 5 &gt; 3, &amp; 6 &lt; 3, &quot;fine chap&quot;</foo>"
23
+ end
8
24
  end
9
25
  end
@@ -5,7 +5,7 @@ describe Hexp::Nokogiri::Equality do
5
5
 
6
6
  context 'two empty documents' do
7
7
  it 'should be equal' do
8
- described_class.new(Nokogiri::HTML::Document.new, Nokogiri::HTML::Document.new).call.should be_true
8
+ expect(described_class.new(Nokogiri::HTML::Document.new, Nokogiri::HTML::Document.new).call).to be true
9
9
  end
10
10
  end
11
11
 
@@ -16,7 +16,7 @@ describe Hexp::Nokogiri::Equality do
16
16
  node2 = Nokogiri::XML::Node.new('div', doc)
17
17
  node2['class'] = 'hello'
18
18
 
19
- described_class.new(node1, node2).call.should be_true
19
+ expect(described_class.new(node1, node2).call).to be true
20
20
  end
21
21
  end
22
22
 
@@ -28,7 +28,7 @@ describe Hexp::Nokogiri::Equality do
28
28
  node2['class'] = 'hello'
29
29
  node2['id'] = 'zigzag'
30
30
 
31
- described_class.new(node1, node2).call.should be_true
31
+ expect(described_class.new(node1, node2).call).to be true
32
32
  end
33
33
  end
34
34
 
@@ -39,7 +39,7 @@ describe Hexp::Nokogiri::Equality do
39
39
  node2 = Nokogiri::XML::Node.new('div', doc)
40
40
  node2 << Nokogiri::XML::Node.new('p', doc)
41
41
 
42
- described_class.new(node1, node2).call.should be_true
42
+ expect(described_class.new(node1, node2).call).to be true
43
43
  end
44
44
  end
45
45
 
@@ -50,7 +50,7 @@ describe Hexp::Nokogiri::Equality do
50
50
  node2 = Nokogiri::XML::Node.new('div', doc)
51
51
  node2 << Nokogiri::XML::Node.new('em', doc)
52
52
 
53
- described_class.new(node1, node2).call.should be_false
53
+ expect(described_class.new(node1, node2).call).to be false
54
54
  end
55
55
  end
56
56
 
@@ -62,7 +62,7 @@ describe Hexp::Nokogiri::Equality do
62
62
  node2 << Nokogiri::XML::Node.new('p', doc)
63
63
  node2 << Nokogiri::XML::Node.new('em', doc)
64
64
 
65
- described_class.new(node1, node2).call.should be_false
65
+ expect(described_class.new(node1, node2).call).to be false
66
66
  end
67
67
  end
68
68
 
@@ -12,13 +12,13 @@ describe Hexp::TextNode do
12
12
  end
13
13
 
14
14
  describe 'DSL methods' do
15
- its(:text?) { should be_true }
15
+ its(:text?) { should be true }
16
16
  its(:rewrite) { should eq(subject) }
17
17
  its(:to_hexp) { should eq(subject) }
18
18
 
19
19
  describe 'class?' do
20
20
  it 'should always return false' do
21
- expect(subject.class?('strong')).to be_false
21
+ expect(subject.class?('strong')).to be false
22
22
  end
23
23
  end
24
24
  end
metadata CHANGED
@@ -1,113 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hexp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arne Brasseur
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-16 00:00:00.000000000 Z
11
+ date: 2014-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.2.19
20
20
  type: :runtime
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: 3.2.19
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.6'
34
34
  type: :runtime
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: '1.6'
41
41
  - !ruby/object:Gem::Dependency
42
- name: ice_nine
42
+ name: adamantium
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.9'
47
+ version: '0.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.9'
54
+ version: '0.2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: equalizer
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0.0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '10.1'
75
+ version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '10.1'
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '2.14'
89
+ version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '2.14'
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: benchmark_suite
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '1.0'
103
+ version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '1.0'
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: mutant-rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec-its
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
111
139
  description: Generate and manipulate HTML documents and nodes.
112
140
  email:
113
141
  - arne@arnebrasseur.net
@@ -116,13 +144,11 @@ extensions: []
116
144
  extra_rdoc_files:
117
145
  - README.md
118
146
  files:
119
- - .gitignore
120
- - .travis.yml
121
- - .yardopts
147
+ - ".gitignore"
148
+ - ".travis.yml"
149
+ - ".yardopts"
122
150
  - Changelog.md
123
151
  - Gemfile
124
- - Gemfile.devtools
125
- - Gemfile.lock
126
152
  - LICENSE
127
153
  - README.md
128
154
  - Rakefile
@@ -143,6 +169,7 @@ files:
143
169
  - hexp.gemspec
144
170
  - lib/hexp.rb
145
171
  - lib/hexp/builder.rb
172
+ - lib/hexp/core_ext/nil.rb
146
173
  - lib/hexp/css_selector.rb
147
174
  - lib/hexp/css_selector/parser.rb
148
175
  - lib/hexp/css_selector/sass_parser.rb
@@ -164,6 +191,7 @@ files:
164
191
  - lib/hexp/nokogiri/reader.rb
165
192
  - lib/hexp/sass/selector_parser.rb
166
193
  - lib/hexp/text_node.rb
194
+ - lib/hexp/unparser.rb
167
195
  - lib/hexp/version.rb
168
196
  - spec/integration/literal_syntax_spec.rb
169
197
  - spec/shared_helper.rb
@@ -208,17 +236,17 @@ require_paths:
208
236
  - lib
209
237
  required_ruby_version: !ruby/object:Gem::Requirement
210
238
  requirements:
211
- - - '>='
239
+ - - ">="
212
240
  - !ruby/object:Gem::Version
213
241
  version: '0'
214
242
  required_rubygems_version: !ruby/object:Gem::Requirement
215
243
  requirements:
216
- - - '>='
244
+ - - ">"
217
245
  - !ruby/object:Gem::Version
218
- version: '0'
246
+ version: 1.3.1
219
247
  requirements: []
220
248
  rubyforge_project:
221
- rubygems_version: 2.0.14
249
+ rubygems_version: 2.4.2
222
250
  signing_key:
223
251
  specification_version: 4
224
252
  summary: Generate and manipulate HTML documents and nodes.
@@ -1,55 +0,0 @@
1
- # encoding: utf-8
2
-
3
- group :development do
4
- gem 'rake', '~> 10.1.0'
5
- gem 'rspec', '~> 2.14.1'
6
- gem 'yard', '~> 0.8.7'
7
- end
8
-
9
- group :yard do
10
- gem 'kramdown', '~> 1.1.0'
11
- end
12
-
13
- group :guard do
14
- gem 'guard', '~> 1.8.1'
15
- gem 'guard-bundler', '~> 1.0.0'
16
- gem 'guard-rspec', '~> 3.0.2'
17
- gem 'guard-rubocop', '~> 0.2.0'
18
- # gem 'guard-mutant', '~> 0.0.1'
19
-
20
- # file system change event handling
21
- gem 'listen', '~> 1.3.0'
22
- gem 'rb-fchange', '~> 0.0.6', require: false
23
- gem 'rb-fsevent', '~> 0.9.3', require: false
24
- gem 'rb-inotify', '~> 0.9.0', require: false
25
-
26
- # notification handling
27
- gem 'libnotify', '~> 0.8.0', require: false
28
- gem 'rb-notifu', '~> 0.0.4', require: false
29
- gem 'terminal-notifier-guard', '~> 1.5.3', require: false
30
- end
31
-
32
- group :metrics do
33
- gem 'coveralls', '~> 0.6.7'
34
- gem 'flay', '~> 2.4.0'
35
- gem 'flog', '~> 4.1.1'
36
- gem 'reek', '~> 1.3.2'
37
- gem 'rubocop', '~> 0.11.0'
38
- gem 'simplecov', '~> 0.7.1'
39
- gem 'yardstick', '~> 0.9.7', git: 'https://github.com/dkubb/yardstick.git'
40
-
41
- platforms :ruby_19, :ruby_20 do
42
- # gem 'mutant', git: 'https://github.com/mbj/mutant.git'
43
- gem 'yard-spellcheck', '~> 0.1.5'
44
- end
45
- end
46
-
47
- group :benchmarks do
48
- gem 'rbench', '~> 0.2.3'
49
- end
50
-
51
- platform :jruby do
52
- group :jruby do
53
- gem 'jruby-openssl', '~> 0.8.5'
54
- end
55
- end
@@ -1,186 +0,0 @@
1
- GIT
2
- remote: git://github.com/rom-rb/devtools.git
3
- revision: f831a3b8963ee4d4104b988b4d68e772acd25373
4
- specs:
5
- devtools (0.0.2)
6
-
7
- GIT
8
- remote: https://github.com/dkubb/yardstick.git
9
- revision: 2ab8dd59c64e9da098294b9056d08794cb06e994
10
- specs:
11
- yardstick (0.9.9)
12
- yard (~> 0.8, >= 0.8.7.2)
13
-
14
- PATH
15
- remote: .
16
- specs:
17
- hexp (0.3.3)
18
- equalizer (~> 0.0)
19
- ice_nine (~> 0.9)
20
- nokogiri (~> 1.6)
21
- sass (~> 3.2.19)
22
-
23
- GEM
24
- remote: https://rubygems.org/
25
- specs:
26
- ast (1.1.0)
27
- backports (3.3.5)
28
- benchmark-ips (1.2.0)
29
- benchmark_suite (1.0.0)
30
- benchmark-ips (~> 1.0)
31
- bouncy-castle-java (1.5.0147)
32
- coderay (1.1.0)
33
- coveralls (0.6.9)
34
- multi_json (~> 1.3)
35
- rest-client
36
- simplecov (>= 0.7)
37
- term-ansicolor
38
- thor
39
- diff-lcs (1.2.5)
40
- equalizer (0.0.9)
41
- ffi (1.9.3)
42
- ffi (1.9.3-java)
43
- ffi-hunspell (0.3.0)
44
- ffi (~> 1.0)
45
- flay (2.4.0)
46
- ruby_parser (~> 3.0)
47
- sexp_processor (~> 4.0)
48
- flog (4.1.2)
49
- ruby_parser (~> 3.1, > 3.1.0)
50
- sexp_processor (~> 4.0)
51
- formatador (0.2.4)
52
- guard (1.8.3)
53
- formatador (>= 0.2.4)
54
- listen (~> 1.3)
55
- lumberjack (>= 1.0.2)
56
- pry (>= 0.9.10)
57
- thor (>= 0.14.6)
58
- guard-bundler (1.0.0)
59
- bundler (~> 1.0)
60
- guard (~> 1.1)
61
- guard-rspec (3.0.3)
62
- guard (>= 1.8)
63
- rspec (~> 2.13)
64
- guard-rubocop (0.2.2)
65
- guard (~> 1.8)
66
- rubocop (~> 0.10)
67
- ice_nine (0.11.0)
68
- jruby-openssl (0.8.10)
69
- bouncy-castle-java (>= 1.5.0147)
70
- kramdown (1.1.0)
71
- libnotify (0.8.2)
72
- ffi (>= 1.0.11)
73
- listen (1.3.1)
74
- rb-fsevent (>= 0.9.3)
75
- rb-inotify (>= 0.9)
76
- rb-kqueue (>= 0.2)
77
- lumberjack (1.0.5)
78
- method_source (0.8.2)
79
- mime-types (2.2)
80
- mini_portile (0.5.3)
81
- multi_json (1.9.2)
82
- nokogiri (1.6.1)
83
- mini_portile (~> 0.5.0)
84
- nokogiri (1.6.1-java)
85
- mini_portile (~> 0.5.0)
86
- parser (2.0.0)
87
- ast (~> 1.1)
88
- slop (~> 3.4, >= 3.4.5)
89
- powerpack (0.0.9)
90
- pry (0.9.12.6)
91
- coderay (~> 1.0)
92
- method_source (~> 0.8)
93
- slop (~> 3.4)
94
- pry (0.9.12.6-java)
95
- coderay (~> 1.0)
96
- method_source (~> 0.8)
97
- slop (~> 3.4)
98
- spoon (~> 0.0)
99
- rainbow (2.0.0)
100
- rake (10.1.1)
101
- rb-fchange (0.0.6)
102
- ffi
103
- rb-fsevent (0.9.4)
104
- rb-inotify (0.9.3)
105
- ffi (>= 0.5.0)
106
- rb-kqueue (0.2.2)
107
- ffi (>= 0.5.0)
108
- rb-notifu (0.0.4)
109
- rbench (0.2.3)
110
- reek (1.3.7)
111
- rainbow
112
- ruby2ruby (~> 2.0.8)
113
- ruby_parser (~> 3.3)
114
- sexp_processor
115
- rest-client (1.6.7)
116
- mime-types (>= 1.16)
117
- rspec (2.14.1)
118
- rspec-core (~> 2.14.0)
119
- rspec-expectations (~> 2.14.0)
120
- rspec-mocks (~> 2.14.0)
121
- rspec-core (2.14.8)
122
- rspec-expectations (2.14.5)
123
- diff-lcs (>= 1.1.3, < 2.0)
124
- rspec-mocks (2.14.6)
125
- rubocop (0.11.1)
126
- backports (~> 3.3.3)
127
- parser (~> 2.0.0.pre6)
128
- powerpack (~> 0.0.3)
129
- rainbow (>= 1.1.4)
130
- ruby2ruby (2.0.8)
131
- ruby_parser (~> 3.1)
132
- sexp_processor (~> 4.0)
133
- ruby_parser (3.5.0)
134
- sexp_processor (~> 4.1)
135
- sass (3.2.19)
136
- sexp_processor (4.4.3)
137
- simplecov (0.7.1)
138
- multi_json (~> 1.0)
139
- simplecov-html (~> 0.7.1)
140
- simplecov-html (0.7.1)
141
- slop (3.5.0)
142
- spoon (0.0.4)
143
- ffi
144
- term-ansicolor (1.3.0)
145
- tins (~> 1.0)
146
- terminal-notifier-guard (1.5.3)
147
- thor (0.19.1)
148
- tins (1.1.0)
149
- yard (0.8.7.4)
150
- yard-spellcheck (0.1.5)
151
- ffi-hunspell (~> 0.2)
152
- yard (~> 0.6)
153
-
154
- PLATFORMS
155
- java
156
- ruby
157
-
158
- DEPENDENCIES
159
- benchmark_suite (~> 1.0)
160
- coveralls (~> 0.6.7)
161
- devtools!
162
- flay (~> 2.4.0)
163
- flog (~> 4.1.1)
164
- guard (~> 1.8.1)
165
- guard-bundler (~> 1.0.0)
166
- guard-rspec (~> 3.0.2)
167
- guard-rubocop (~> 0.2.0)
168
- hexp!
169
- jruby-openssl (~> 0.8.5)
170
- kramdown (~> 1.1.0)
171
- libnotify (~> 0.8.0)
172
- listen (~> 1.3.0)
173
- rake (~> 10.1.0)
174
- rb-fchange (~> 0.0.6)
175
- rb-fsevent (~> 0.9.3)
176
- rb-inotify (~> 0.9.0)
177
- rb-notifu (~> 0.0.4)
178
- rbench (~> 0.2.3)
179
- reek (~> 1.3.2)
180
- rspec (~> 2.14.1)
181
- rubocop (~> 0.11.0)
182
- simplecov (~> 0.7.1)
183
- terminal-notifier-guard (~> 1.5.3)
184
- yard (~> 0.8.7)
185
- yard-spellcheck (~> 0.1.5)
186
- yardstick (~> 0.9.7)!