hexp 0.0.1 → 0.2.0

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.
Files changed (69) hide show
  1. data/.travis.yml +12 -3
  2. data/Changelog.md +9 -0
  3. data/Gemfile +3 -5
  4. data/Gemfile.devtools +20 -18
  5. data/Gemfile.lock +97 -84
  6. data/Rakefile +16 -0
  7. data/config/flay.yml +2 -2
  8. data/config/flog.yml +1 -1
  9. data/config/reek.yml +42 -18
  10. data/config/rubocop.yml +31 -0
  11. data/config/yardstick.yml +39 -1
  12. data/examples/from_nokogiri.rb +77 -0
  13. data/examples/selector_rewriter_chaining.rb +14 -0
  14. data/examples/todo.rb +138 -0
  15. data/examples/widget.rb +64 -0
  16. data/hexp.gemspec +8 -3
  17. data/lib/hexp.rb +103 -2
  18. data/lib/hexp/builder.rb +256 -0
  19. data/lib/hexp/css_selector.rb +205 -0
  20. data/lib/hexp/css_selector/parser.rb +74 -0
  21. data/lib/hexp/css_selector/sass_parser.rb +22 -0
  22. data/lib/hexp/dom.rb +0 -2
  23. data/lib/hexp/dsl.rb +27 -0
  24. data/lib/hexp/errors.rb +21 -0
  25. data/lib/hexp/h.rb +5 -2
  26. data/lib/hexp/list.rb +67 -9
  27. data/lib/hexp/node.rb +197 -41
  28. data/lib/hexp/node/attributes.rb +176 -0
  29. data/lib/hexp/node/children.rb +44 -0
  30. data/lib/hexp/node/css_selection.rb +73 -0
  31. data/lib/hexp/node/domize.rb +52 -6
  32. data/lib/hexp/node/normalize.rb +19 -9
  33. data/lib/hexp/node/pp.rb +32 -0
  34. data/lib/hexp/node/rewriter.rb +52 -0
  35. data/lib/hexp/node/selector.rb +59 -0
  36. data/lib/hexp/nokogiri/equality.rb +61 -0
  37. data/lib/hexp/nokogiri/reader.rb +27 -0
  38. data/lib/hexp/sass/selector_parser.rb +4 -0
  39. data/lib/hexp/text_node.rb +129 -9
  40. data/lib/hexp/version.rb +1 -1
  41. data/notes +34 -0
  42. data/spec/shared_helper.rb +6 -0
  43. data/spec/spec_helper.rb +2 -6
  44. data/spec/unit/hexp/builder_spec.rb +101 -0
  45. data/spec/unit/hexp/css_selector/attribute_spec.rb +137 -0
  46. data/spec/unit/hexp/css_selector/class_spec.rb +15 -0
  47. data/spec/unit/hexp/css_selector/comma_sequence_spec.rb +20 -0
  48. data/spec/unit/hexp/css_selector/element_spec.rb +11 -0
  49. data/spec/unit/hexp/css_selector/parser_spec.rb +51 -0
  50. data/spec/unit/hexp/css_selector/simple_sequence_spec.rb +48 -0
  51. data/spec/unit/hexp/dsl_spec.rb +55 -0
  52. data/spec/unit/hexp/h_spec.rb +38 -0
  53. data/spec/unit/hexp/list_spec.rb +19 -0
  54. data/spec/unit/hexp/node/attr_spec.rb +55 -0
  55. data/spec/unit/hexp/node/attributes_spec.rb +125 -0
  56. data/spec/unit/hexp/node/children_spec.rb +33 -0
  57. data/spec/unit/hexp/node/class_spec.rb +37 -0
  58. data/spec/unit/hexp/node/css_selection_spec.rb +86 -0
  59. data/spec/unit/hexp/node/normalize_spec.rb +12 -6
  60. data/spec/unit/hexp/node/rewrite_spec.rb +67 -30
  61. data/spec/unit/hexp/node/selector_spec.rb +78 -0
  62. data/spec/unit/hexp/node/text_spec.rb +7 -0
  63. data/spec/unit/hexp/node/to_dom_spec.rb +1 -1
  64. data/spec/unit/hexp/nokogiri/reader_spec.rb +8 -0
  65. data/spec/unit/hexp/parse_spec.rb +23 -0
  66. data/spec/unit/hexp/text_node_spec.rb +25 -0
  67. data/spec/unit/hexp_spec.rb +33 -0
  68. metadata +129 -16
  69. data/lib/hexp/format_error.rb +0 -8
@@ -1,15 +1,24 @@
1
1
  language: ruby
2
2
  before_install: gem install bundler
3
3
  bundler_args: --without yard guard benchmarks
4
- script: "bundle exec rake ci:metrics"
4
+ script: "bundle exec rake ci:travis"
5
5
  rvm:
6
6
  - 1.9.2
7
7
  - 1.9.3
8
8
  - 2.0.0
9
9
  - ruby-head
10
10
  - rbx-19mode
11
- - jruby-19mode
12
- - jruby-head
11
+ matrix:
12
+ include:
13
+ - rvm: jruby-19mode
14
+ env: JRUBY_OPTS="$JRUBY_OPTS --debug"
15
+ - rvm: jruby-head
16
+ env: JRUBY_OPTS="$JRUBY_OPTS --debug"
17
+ allow_failures:
18
+ - rvm: ruby-head
19
+ - rvm: rbx-19mode
20
+ - rvm: jruby-head
21
+ - rvm: jruby-19mode
13
22
  notifications:
14
23
  email:
15
24
  recipients:
@@ -0,0 +1,9 @@
1
+ ### Development
2
+ [full changelog](http://github.com/plexus/hexp/compare/v0.2.0...master)
3
+
4
+ ### v0.2.0
5
+
6
+ * introduce Hexp.build for creating Hexp::Node objects using Builder syntax
7
+ * introduce CSS selectors to selectively iterate over parts of a tree
8
+ * introduce Hexp.parse to integrate with legacy tools
9
+ * expand the API for manipulating nodes
data/Gemfile CHANGED
@@ -1,10 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'nokogiri'
4
- gem 'equalizer', github: 'dkubb/equalizer'
5
-
6
3
  group :development do
7
- gem 'devtools', :git => 'https://github.com/datamapper/devtools.git'
8
- gem 'json', '~> 1.8.0'
4
+ gem 'devtools', github: 'rom-rb/devtools'
9
5
  eval File.read('Gemfile.devtools')
10
6
  end
7
+
8
+ gemspec
@@ -1,22 +1,23 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  group :development do
4
- gem 'rake', '~> 10.0.4'
5
- gem 'rspec', '~> 2.13.0'
6
- gem 'yard', '~> 0.8.6.1'
4
+ gem 'rake', '~> 10.1.0'
5
+ gem 'rspec', '~> 2.14.0'
6
+ gem 'yard', '~> 0.8.6.2'
7
7
  end
8
8
 
9
9
  group :yard do
10
- gem 'kramdown', '~> 1.0.1'
10
+ gem 'kramdown', '~> 1.1.0'
11
11
  end
12
12
 
13
13
  group :guard do
14
- gem 'guard', '~> 1.8.0'
14
+ gem 'guard', '~> 1.8.1'
15
15
  gem 'guard-bundler', '~> 1.0.0'
16
- gem 'guard-rspec', '~> 2.5.4'
16
+ gem 'guard-rspec', '~> 3.0.2'
17
+ gem 'guard-rubocop', '~> 0.2.0'
17
18
 
18
19
  # file system change event handling
19
- gem 'listen', '~> 1.0.2'
20
+ gem 'listen', '~> 1.2.2'
20
21
  gem 'rb-fchange', '~> 0.0.6', :require => false
21
22
  gem 'rb-fsevent', '~> 0.9.3', :require => false
22
23
  gem 'rb-inotify', '~> 0.9.0', :require => false
@@ -28,20 +29,21 @@ group :guard do
28
29
  end
29
30
 
30
31
  group :metrics do
31
- gem 'backports', '~> 3.3', '>= 3.3.0'
32
- gem 'coveralls', '~> 0.6.6'
33
- gem 'flay', '~> 2.2.0'
34
- gem 'flog', '~> 4.0.0'
35
- gem 'reek', '~> 1.3.1', :git => 'https://github.com/troessner/reek.git'
36
- gem 'simplecov', '~> 0.7.1'
37
- gem 'yardstick', '~> 0.9.6'
38
-
39
- platforms :ruby_19 do
32
+ gem 'coveralls', '~> 0.6.7'
33
+ gem 'flay', '~> 2.3.0'
34
+ gem 'flog', '~> 4.1.0'
35
+ gem 'reek', github: 'troessner/reek'
36
+ gem 'rubocop', '~> 0.9.1'
37
+ gem 'simplecov', github: 'colszowka/simplecov'
38
+ gem 'yardstick', '~> 0.9.6'
39
+
40
+ platforms :ruby_19, :ruby_20 do
41
+ #gem 'mutant', '~> 0.3.0.beta13'
40
42
  gem 'yard-spellcheck', '~> 0.1.5'
41
43
  end
42
44
 
43
- platforms :mri_19, :rbx do
44
- gem 'mutant', '~> 0.2.20'
45
+ platforms :ruby_19 do
46
+ gem 'json', '~> 1.8.0'
45
47
  end
46
48
 
47
49
  platforms :rbx do
@@ -1,36 +1,43 @@
1
1
  GIT
2
- remote: git://github.com/dkubb/equalizer.git
3
- revision: 7b0a30dee57ed0378df6b32e5defda64adaff0da
2
+ remote: git://github.com/colszowka/simplecov.git
3
+ revision: a3387f7b25100939df6a5af339580cbe3055cdc6
4
4
  specs:
5
- equalizer (0.0.5)
6
- adamantium (~> 0.0.7)
7
- backports (~> 3.2, >= 3.2.0)
5
+ simplecov (0.8.0.pre)
6
+ multi_json
7
+ simplecov-html (~> 0.7.1)
8
8
 
9
9
  GIT
10
- remote: https://github.com/datamapper/devtools.git
11
- revision: f0e3a3a42673266c46b983bc79a4ab6e1623bccc
10
+ remote: git://github.com/rom-rb/devtools.git
11
+ revision: 49e6b05b9915c990a2e45dc24f7318b4d7a95e88
12
12
  specs:
13
- devtools (0.0.1)
14
- ice_nine (~> 0.7.0)
13
+ devtools (0.0.2)
15
14
 
16
15
  GIT
17
- remote: https://github.com/troessner/reek.git
18
- revision: f302390f533dd6b59f837821d63249d0c729f931
16
+ remote: git://github.com/troessner/reek.git
17
+ revision: c901c37f8a1de8e8a89221710ae37ea89a768db0
19
18
  specs:
20
- reek (1.3.1)
19
+ reek (1.3.2)
21
20
  ruby2ruby (~> 2.0.2)
22
21
  ruby_parser (~> 3.1.1)
23
22
  sexp_processor
24
23
 
24
+ PATH
25
+ remote: .
26
+ specs:
27
+ hexp (0.2.0)
28
+ equalizer (~> 0.0)
29
+ ice_nine (~> 0.8)
30
+ nokogiri (~> 1.6)
31
+ sass (~> 3.2)
32
+
25
33
  GEM
26
34
  remote: https://rubygems.org/
27
35
  specs:
28
- abstract_type (0.0.5)
29
- backports (~> 3.0, >= 3.0.3)
30
- adamantium (0.0.7)
31
- backports (~> 3.0, >= 3.0.3)
32
- ice_nine (~> 0.7.0)
33
- backports (3.3.1)
36
+ adamantium (0.0.11)
37
+ ice_nine (~> 0.8.0)
38
+ ast (1.1.0)
39
+ backports (3.3.3)
40
+ bouncy-castle-java (1.5.0147)
34
41
  coderay (1.0.9)
35
42
  colorize (0.5.8)
36
43
  coveralls (0.6.7)
@@ -39,19 +46,22 @@ GEM
39
46
  rest-client
40
47
  simplecov (>= 0.7)
41
48
  thor
42
- descendants_tracker (0.0.1)
43
49
  diff-lcs (1.2.4)
44
- ffi (1.8.1)
50
+ equalizer (0.0.5)
51
+ adamantium (~> 0.0.6)
52
+ backports (~> 3.0, >= 3.0.3)
53
+ ffi (1.9.0)
54
+ ffi (1.9.0-java)
45
55
  ffi-hunspell (0.3.0)
46
56
  ffi (~> 1.0)
47
- flay (2.2.0)
57
+ flay (2.3.1)
48
58
  ruby_parser (~> 3.0)
49
59
  sexp_processor (~> 4.0)
50
- flog (4.0.0)
60
+ flog (4.1.1)
51
61
  ruby_parser (~> 3.1, > 3.1.0)
52
62
  sexp_processor (~> 4.0)
53
63
  formatador (0.2.4)
54
- guard (1.8.0)
64
+ guard (1.8.2)
55
65
  formatador (>= 0.2.4)
56
66
  listen (>= 1.0.0)
57
67
  lumberjack (>= 1.0.2)
@@ -60,46 +70,51 @@ GEM
60
70
  guard-bundler (1.0.0)
61
71
  bundler (~> 1.0)
62
72
  guard (~> 1.1)
63
- guard-rspec (2.5.4)
64
- guard (>= 1.1)
65
- rspec (~> 2.11)
66
- ice_nine (0.7.0)
67
- inflecto (0.0.2)
73
+ guard-rspec (3.0.2)
74
+ guard (>= 1.8)
75
+ rspec (~> 2.13)
76
+ guard-rubocop (0.2.1)
77
+ guard (~> 1.8)
78
+ rubocop (~> 0.9)
79
+ ice_nine (0.8.0)
80
+ jruby-openssl (0.8.8)
81
+ bouncy-castle-java (>= 1.5.0147)
68
82
  json (1.8.0)
69
- kramdown (1.0.2)
70
- libnotify (0.8.0)
83
+ kramdown (1.1.0)
84
+ libnotify (0.8.1)
71
85
  ffi (>= 1.0.11)
72
- listen (1.0.3)
86
+ listen (1.2.3)
73
87
  rb-fsevent (>= 0.9.3)
74
88
  rb-inotify (>= 0.9)
75
89
  rb-kqueue (>= 0.2)
76
- lumberjack (1.0.3)
77
- method_source (0.8.1)
78
- mime-types (1.23)
79
- multi_json (1.7.4)
80
- mutant (0.2.20)
81
- abstract_type (~> 0.0.3)
82
- adamantium (~> 0.0.7)
83
- backports (~> 3.0, >= 3.0.3)
84
- descendants_tracker (~> 0.0.1)
85
- diff-lcs (~> 1.2.1)
86
- equalizer (~> 0.0.5)
87
- ice_nine (~> 0.7.0)
88
- inflecto (~> 0.0.2)
89
- rspec (~> 2.13.0)
90
- to_source (~> 0.2.19)
91
- mutant-melbourne (2.0.3)
92
- nokogiri (1.5.9)
90
+ lumberjack (1.0.4)
91
+ method_source (0.8.2)
92
+ mime-types (1.24)
93
+ mini_portile (0.5.1)
94
+ multi_json (1.7.9)
95
+ nokogiri (1.6.0)
96
+ mini_portile (~> 0.5.0)
97
+ nokogiri (1.6.0-java)
98
+ mini_portile (~> 0.5.0)
99
+ parser (2.0.0.pre1)
100
+ ast (~> 1.1)
101
+ slop (~> 3.4, >= 3.4.5)
93
102
  pelusa (0.2.2)
94
103
  pry (0.9.12.2)
95
104
  coderay (~> 1.0.5)
96
105
  method_source (~> 0.8)
97
106
  slop (~> 3.4)
98
- rake (10.0.4)
107
+ pry (0.9.12.2-java)
108
+ coderay (~> 1.0.5)
109
+ method_source (~> 0.8)
110
+ slop (~> 3.4)
111
+ spoon (~> 0.0)
112
+ rainbow (1.1.4)
113
+ rake (10.1.0)
99
114
  rb-fchange (0.0.6)
100
115
  ffi
101
116
  rb-fsevent (0.9.3)
102
- rb-inotify (0.9.0)
117
+ rb-inotify (0.9.1)
103
118
  ffi (>= 0.5.0)
104
119
  rb-kqueue (0.2.0)
105
120
  ffi (>= 0.5.0)
@@ -107,33 +122,31 @@ GEM
107
122
  rbench (0.2.3)
108
123
  rest-client (1.6.7)
109
124
  mime-types (>= 1.16)
110
- rspec (2.13.0)
111
- rspec-core (~> 2.13.0)
112
- rspec-expectations (~> 2.13.0)
113
- rspec-mocks (~> 2.13.0)
114
- rspec-core (2.13.1)
115
- rspec-expectations (2.13.0)
125
+ rspec (2.14.1)
126
+ rspec-core (~> 2.14.0)
127
+ rspec-expectations (~> 2.14.0)
128
+ rspec-mocks (~> 2.14.0)
129
+ rspec-core (2.14.5)
130
+ rspec-expectations (2.14.2)
116
131
  diff-lcs (>= 1.1.3, < 2.0)
117
- rspec-mocks (2.13.1)
118
- ruby2ruby (2.0.5)
132
+ rspec-mocks (2.14.3)
133
+ rubocop (0.9.1)
134
+ parser (= 2.0.0.pre1)
135
+ rainbow (>= 1.1.4)
136
+ ruby2ruby (2.0.6)
119
137
  ruby_parser (~> 3.1)
120
138
  sexp_processor (~> 4.0)
121
139
  ruby_parser (3.1.3)
122
140
  sexp_processor (~> 4.1)
141
+ sass (3.2.10)
123
142
  sexp_processor (4.2.1)
124
- simplecov (0.7.1)
125
- multi_json (~> 1.0)
126
- simplecov-html (~> 0.7.1)
127
143
  simplecov-html (0.7.1)
128
- slop (3.4.5)
144
+ slop (3.4.6)
145
+ spoon (0.0.4)
146
+ ffi
129
147
  terminal-notifier-guard (1.5.3)
130
148
  thor (0.18.1)
131
- to_source (0.2.20)
132
- abstract_type (~> 0.0.5)
133
- adamantium (~> 0.0.7)
134
- equalizer (~> 0.0.5)
135
- mutant-melbourne (~> 2.0.3)
136
- yard (0.8.6.1)
149
+ yard (0.8.6.2)
137
150
  yard-spellcheck (0.1.5)
138
151
  ffi-hunspell (~> 0.2)
139
152
  yard (~> 0.6)
@@ -142,36 +155,36 @@ GEM
142
155
  yard (~> 0.8, >= 0.8.6)
143
156
 
144
157
  PLATFORMS
158
+ java
145
159
  ruby
146
160
 
147
161
  DEPENDENCIES
148
- backports (~> 3.3, >= 3.3.0)
149
- coveralls (~> 0.6.6)
162
+ coveralls (~> 0.6.7)
150
163
  devtools!
151
- equalizer!
152
- flay (~> 2.2.0)
153
- flog (~> 4.0.0)
154
- guard (~> 1.8.0)
164
+ flay (~> 2.3.0)
165
+ flog (~> 4.1.0)
166
+ guard (~> 1.8.1)
155
167
  guard-bundler (~> 1.0.0)
156
- guard-rspec (~> 2.5.4)
168
+ guard-rspec (~> 3.0.2)
169
+ guard-rubocop (~> 0.2.0)
170
+ hexp!
157
171
  jruby-openssl (~> 0.8.5)
158
172
  json (~> 1.8.0)
159
- kramdown (~> 1.0.1)
173
+ kramdown (~> 1.1.0)
160
174
  libnotify (~> 0.8.0)
161
- listen (~> 1.0.2)
162
- mutant (~> 0.2.20)
163
- nokogiri
175
+ listen (~> 1.2.2)
164
176
  pelusa (~> 0.2.2)
165
- rake (~> 10.0.4)
177
+ rake (~> 10.1.0)
166
178
  rb-fchange (~> 0.0.6)
167
179
  rb-fsevent (~> 0.9.3)
168
180
  rb-inotify (~> 0.9.0)
169
181
  rb-notifu (~> 0.0.4)
170
182
  rbench (~> 0.2.3)
171
- reek (~> 1.3.1)!
172
- rspec (~> 2.13.0)
173
- simplecov (~> 0.7.1)
183
+ reek!
184
+ rspec (~> 2.14.0)
185
+ rubocop (~> 0.9.1)
186
+ simplecov!
174
187
  terminal-notifier-guard (~> 1.5.3)
175
- yard (~> 0.8.6.1)
188
+ yard (~> 0.8.6.2)
176
189
  yard-spellcheck (~> 0.1.5)
177
190
  yardstick (~> 0.9.6)
data/Rakefile CHANGED
@@ -3,6 +3,22 @@ require 'rubygems/package_task'
3
3
 
4
4
  Devtools.init_rake_tasks
5
5
 
6
+ # Redefine rake:ci:metrics to disable rubocop, will tackle that laundry list
7
+ # some other time
8
+ namespace :ci do
9
+ desc 'Run metrics (except mutant, rubocop) and spec'
10
+ task travis: %w[
11
+ metrics:coverage
12
+ spec:integration
13
+ metrics:yardstick:verify
14
+ metrics:flog
15
+ metrics:flay
16
+ metrics:reek
17
+ ]
18
+ # metrics:rubocop
19
+ end
20
+
21
+
6
22
  spec = Gem::Specification.load(File.expand_path('../hexp.gemspec', __FILE__))
7
23
  gem = Gem::PackageTask.new(spec)
8
24
  gem.define
@@ -1,3 +1,3 @@
1
1
  ---
2
- threshold: 7
3
- total_score: 94.0
2
+ threshold: 11
3
+ total_score: 293.0
@@ -1,2 +1,2 @@
1
1
  ---
2
- threshold: 29.4
2
+ threshold: 45.7
@@ -10,7 +10,10 @@ ClassVariable:
10
10
  exclude: []
11
11
  ControlParameter:
12
12
  enabled: true
13
- exclude: []
13
+ exclude:
14
+ - Hexp::Builder#initialize
15
+ - Hexp::Node#rewrite
16
+ - Hexp::Node#select
14
17
  DataClump:
15
18
  enabled: true
16
19
  exclude: []
@@ -18,23 +21,35 @@ DataClump:
18
21
  min_clump_size: 2
19
22
  DuplicateMethodCall:
20
23
  enabled: true
21
- exclude: []
24
+ exclude:
25
+ - Hexp::CssSelector::Parser#rewrite_simple
26
+ - Hexp::CssSelector::Attribute#matches?
22
27
  max_calls: 2
23
28
  allow_calls: []
24
29
  FeatureEnvy:
25
30
  enabled: true
26
31
  exclude:
32
+ - Hexp::List#initialize
27
33
  - Hexp::Node::Domize#set_attributes
28
34
  - Hexp::Node::Normalize#children
29
35
  - Hexp::Node::Normalize#normalized_children
30
36
  - Hexp::Node::PP#pp_attributes
31
37
  - Hexp::Node::PP#pp_children
38
+ - Hexp::Node#process
39
+ - Hexp::Node#rewrite_children
40
+ - Hexp::Node::Children#text
41
+ - Hexp::Node::Attributes#merge_attrs
42
+ - Hexp::Node::Rewriter#coerce_rewrite_response
43
+ - Hexp::CssSelector::Parser#rewrite_simple
44
+ - Hexp::CssSelector::CommaSequence#matches?
45
+ - Hexp::Nokogiri::Reader#call
32
46
  IrresponsibleModule:
33
47
  enabled: true
34
48
  exclude: []
35
49
  LongParameterList:
36
50
  enabled: true
37
- exclude: []
51
+ exclude:
52
+ - Hexp::CssSelector::Attribute
38
53
  max_params: 2
39
54
  overrides:
40
55
  initialize:
@@ -46,35 +61,41 @@ LongYieldList:
46
61
  NestedIterators:
47
62
  enabled: true
48
63
  exclude: []
49
- max_allowed_nesting: 1
64
+ max_allowed_nesting: 2
50
65
  ignore_iterators:
51
66
  - any?
52
67
  NilCheck:
53
- enabled: true
54
- exclude:
55
- - Hexp::Node#rewrite
68
+ enabled: false
69
+ exclude: []
56
70
  RepeatedConditional:
57
71
  enabled: true
58
- exclude: []
72
+ exclude:
73
+ - Hexp::Builder
74
+ - Hexp::Node::CssSelection
59
75
  max_ifs: 1
60
76
  TooManyInstanceVariables:
61
77
  enabled: true
62
- exclude: []
63
- max_instance_variables: 3
78
+ exclude:
79
+ - Hexp::Node::Domize
80
+ - Hexp::CssSelector::Attribute
81
+ max_instance_variables: 4
64
82
  TooManyMethods:
65
83
  enabled: true
66
- exclude: []
84
+ exclude:
85
+ - Hexp::Node
86
+ - Hexp::TextNode
67
87
  max_methods: 10
68
88
  TooManyStatements:
69
89
  enabled: true
70
90
  exclude:
71
- - each
72
- - Hexp::Node#rewrite
73
- - Hexp::Node::Normalize#normalized_children
74
- max_statements: 5
91
+ - Hexp::Builder#tag!
92
+ - Hexp::CssSelector::Attribute#matches?
93
+ - Hexp::CssSelector::Parser#rewrite_simple
94
+ max_statements: 6
75
95
  UncommunicativeMethodName:
76
96
  enabled: true
77
- exclude: []
97
+ exclude:
98
+ - Hexp#self.Array
78
99
  reject:
79
100
  - !ruby/regexp /^[a-z]$/
80
101
  - !ruby/regexp /[0-9]$/
@@ -97,7 +118,8 @@ UncommunicativeParameterName:
97
118
  accept: []
98
119
  UncommunicativeVariableName:
99
120
  enabled: true
100
- exclude: []
121
+ exclude:
122
+ - Hexp::Node::Attributes#set_attrs
101
123
  reject:
102
124
  - !ruby/regexp /^.$/
103
125
  - !ruby/regexp /[0-9]$/
@@ -105,11 +127,13 @@ UncommunicativeVariableName:
105
127
  accept: []
106
128
  UnusedParameters:
107
129
  enabled: true
108
- exclude: []
130
+ exclude:
131
+ - Hexp::TextNode#class?
109
132
  UtilityFunction:
110
133
  enabled: true
111
134
  exclude:
112
135
  - Hexp::List#initialize
113
136
  - Hexp::Node::Domize#set_attributes
114
137
  - Hexp::TextNode#attributes
138
+ - Hexp::TextNode#children
115
139
  max_helper_calls: 0