├── .gitignore ├── .travis.yml ├── .yardopts ├── Changelog.md ├── Gemfile ├── LICENSE ├── README.md ├── Rakefile ├── bench └── node │ └── rewrite_bench.rb ├── code_of_conduct.md ├── config ├── devtools.yml ├── flay.yml ├── flog.yml ├── mutant.yml ├── reek.yml ├── rubocop.yml └── yardstick.yml ├── examples ├── filter.rb ├── from_nokogiri.rb ├── hexp_rails.rb ├── selector_rewriter_chaining.rb ├── todo.rb └── widget.rb ├── hexp.gemspec ├── lib ├── hexp-rails.rb ├── hexp.rb └── hexp │ ├── builder.rb │ ├── core_ext │ └── nil.rb │ ├── css_selector.rb │ ├── css_selector │ └── parser.rb │ ├── dom.rb │ ├── dsl.rb │ ├── errors.rb │ ├── h.rb │ ├── list.rb │ ├── mutable_tree_walk.rb │ ├── node.rb │ ├── node │ ├── attributes.rb │ ├── children.rb │ ├── css_selection.rb │ ├── domize.rb │ ├── normalize.rb │ ├── pp.rb │ ├── rewriter.rb │ └── selection.rb │ ├── nokogiri │ ├── equality.rb │ └── reader.rb │ ├── sass │ └── selector_parser.rb │ ├── text_node.rb │ ├── unparser.rb │ └── version.rb └── spec ├── integration └── literal_syntax_spec.rb ├── spec_helper.rb └── unit ├── hexp ├── builder_spec.rb ├── css_selector │ ├── attribute_spec.rb │ ├── class_spec.rb │ ├── comma_sequence_spec.rb │ ├── element_spec.rb │ ├── parser_spec.rb │ ├── simple_sequence_spec.rb │ └── universal_spec.rb ├── dsl_spec.rb ├── h_spec.rb ├── list_spec.rb ├── mutable_tree_walk_spec.rb ├── node │ ├── attr_spec.rb │ ├── attributes_spec.rb │ ├── children_spec.rb │ ├── class_spec.rb │ ├── css_selection_spec.rb │ ├── domize_spec.rb │ ├── normalize_spec.rb │ ├── pp_spec.rb │ ├── rewrite_spec.rb │ ├── selection_spec.rb │ ├── text_spec.rb │ ├── to_dom_spec.rb │ ├── to_hexp_spec.rb │ └── to_html_spec.rb ├── nokogiri │ ├── equality_spec.rb │ └── reader_spec.rb ├── parse_spec.rb ├── text_node_spec.rb └── unparser_spec.rb └── hexp_spec.rb /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/.travis.yml -------------------------------------------------------------------------------- /.yardopts: -------------------------------------------------------------------------------- 1 | --no-private -q - LICENSE 2 | -------------------------------------------------------------------------------- /Changelog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/Changelog.md -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/Gemfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/Rakefile -------------------------------------------------------------------------------- /bench/node/rewrite_bench.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/bench/node/rewrite_bench.rb -------------------------------------------------------------------------------- /code_of_conduct.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/code_of_conduct.md -------------------------------------------------------------------------------- /config/devtools.yml: -------------------------------------------------------------------------------- 1 | --- 2 | unit_test_timeout: 0.1 3 | -------------------------------------------------------------------------------- /config/flay.yml: -------------------------------------------------------------------------------- 1 | --- 2 | threshold: 11 3 | total_score: 302.0 4 | -------------------------------------------------------------------------------- /config/flog.yml: -------------------------------------------------------------------------------- 1 | --- 2 | threshold: 47.1 3 | -------------------------------------------------------------------------------- /config/mutant.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/config/mutant.yml -------------------------------------------------------------------------------- /config/reek.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/config/reek.yml -------------------------------------------------------------------------------- /config/rubocop.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/config/rubocop.yml -------------------------------------------------------------------------------- /config/yardstick.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/config/yardstick.yml -------------------------------------------------------------------------------- /examples/filter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/examples/filter.rb -------------------------------------------------------------------------------- /examples/from_nokogiri.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/examples/from_nokogiri.rb -------------------------------------------------------------------------------- /examples/hexp_rails.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/examples/hexp_rails.rb -------------------------------------------------------------------------------- /examples/selector_rewriter_chaining.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/examples/selector_rewriter_chaining.rb -------------------------------------------------------------------------------- /examples/todo.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/examples/todo.rb -------------------------------------------------------------------------------- /examples/widget.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/examples/widget.rb -------------------------------------------------------------------------------- /hexp.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/hexp.gemspec -------------------------------------------------------------------------------- /lib/hexp-rails.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp-rails.rb -------------------------------------------------------------------------------- /lib/hexp.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp.rb -------------------------------------------------------------------------------- /lib/hexp/builder.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/builder.rb -------------------------------------------------------------------------------- /lib/hexp/core_ext/nil.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/core_ext/nil.rb -------------------------------------------------------------------------------- /lib/hexp/css_selector.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/css_selector.rb -------------------------------------------------------------------------------- /lib/hexp/css_selector/parser.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/css_selector/parser.rb -------------------------------------------------------------------------------- /lib/hexp/dom.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/dom.rb -------------------------------------------------------------------------------- /lib/hexp/dsl.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/dsl.rb -------------------------------------------------------------------------------- /lib/hexp/errors.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/errors.rb -------------------------------------------------------------------------------- /lib/hexp/h.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/h.rb -------------------------------------------------------------------------------- /lib/hexp/list.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/list.rb -------------------------------------------------------------------------------- /lib/hexp/mutable_tree_walk.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/mutable_tree_walk.rb -------------------------------------------------------------------------------- /lib/hexp/node.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/node.rb -------------------------------------------------------------------------------- /lib/hexp/node/attributes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/node/attributes.rb -------------------------------------------------------------------------------- /lib/hexp/node/children.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/node/children.rb -------------------------------------------------------------------------------- /lib/hexp/node/css_selection.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/node/css_selection.rb -------------------------------------------------------------------------------- /lib/hexp/node/domize.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/node/domize.rb -------------------------------------------------------------------------------- /lib/hexp/node/normalize.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/node/normalize.rb -------------------------------------------------------------------------------- /lib/hexp/node/pp.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/node/pp.rb -------------------------------------------------------------------------------- /lib/hexp/node/rewriter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/node/rewriter.rb -------------------------------------------------------------------------------- /lib/hexp/node/selection.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/node/selection.rb -------------------------------------------------------------------------------- /lib/hexp/nokogiri/equality.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/nokogiri/equality.rb -------------------------------------------------------------------------------- /lib/hexp/nokogiri/reader.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/nokogiri/reader.rb -------------------------------------------------------------------------------- /lib/hexp/sass/selector_parser.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/sass/selector_parser.rb -------------------------------------------------------------------------------- /lib/hexp/text_node.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/text_node.rb -------------------------------------------------------------------------------- /lib/hexp/unparser.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/lib/hexp/unparser.rb -------------------------------------------------------------------------------- /lib/hexp/version.rb: -------------------------------------------------------------------------------- 1 | module Hexp 2 | VERSION = '0.4.6' 3 | end 4 | -------------------------------------------------------------------------------- /spec/integration/literal_syntax_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/integration/literal_syntax_spec.rb -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/spec_helper.rb -------------------------------------------------------------------------------- /spec/unit/hexp/builder_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/builder_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/css_selector/attribute_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/css_selector/attribute_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/css_selector/class_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/css_selector/class_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/css_selector/comma_sequence_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/css_selector/comma_sequence_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/css_selector/element_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/css_selector/element_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/css_selector/parser_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/css_selector/parser_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/css_selector/simple_sequence_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/css_selector/simple_sequence_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/css_selector/universal_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/css_selector/universal_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/dsl_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/dsl_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/h_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/h_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/list_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/list_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/mutable_tree_walk_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/mutable_tree_walk_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/attr_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/attr_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/attributes_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/attributes_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/children_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/children_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/class_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/class_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/css_selection_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/css_selection_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/domize_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/domize_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/normalize_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/normalize_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/pp_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/pp_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/rewrite_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/rewrite_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/selection_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/selection_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/text_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/text_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/to_dom_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/to_dom_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/to_hexp_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/to_hexp_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/node/to_html_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/node/to_html_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/nokogiri/equality_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/nokogiri/equality_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/nokogiri/reader_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/nokogiri/reader_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/parse_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/parse_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/text_node_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/text_node_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp/unparser_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp/unparser_spec.rb -------------------------------------------------------------------------------- /spec/unit/hexp_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plexus/hexp/HEAD/spec/unit/hexp_spec.rb --------------------------------------------------------------------------------