Module: Canon
- Defined in:
- lib/canon.rb,
lib/canon/cli.rb,
lib/canon/html.rb,
lib/canon/cache.rb,
lib/canon/config.rb,
lib/canon/errors.rb,
lib/canon/version.rb,
lib/canon/xml/c14n.rb,
lib/canon/xml/node.rb,
lib/canon/tree_diff.rb,
lib/canon/comparison.rb,
lib/canon/data_model.rb,
lib/canon/xml/processor.rb,
lib/canon/color_detector.rb,
lib/canon/diff/diff_line.rb,
lib/canon/diff/diff_node.rb,
lib/canon/diff_formatter.rb,
lib/canon/rspec_matchers.rb,
lib/canon/xml/data_model.rb,
lib/canon/diff/diff_block.rb,
lib/canon/html/data_model.rb,
lib/canon/xml/sax_builder.rb,
lib/canon/diff/diff_report.rb,
lib/canon/options/registry.rb,
lib/canon/config/env_schema.rb,
lib/canon/diff/diff_context.rb,
lib/canon/diff/path_builder.rb,
lib/canon/pretty_printer/xml.rb,
lib/canon/config/env_provider.rb,
lib/canon/diff/source_locator.rb,
lib/canon/pretty_printer/html.rb,
lib/canon/pretty_printer/json.rb,
lib/canon/xml/element_matcher.rb,
lib/canon/xml/nodes/root_node.rb,
lib/canon/xml/nodes/text_node.rb,
lib/canon/diff/diff_char_range.rb,
lib/canon/diff/diff_classifier.rb,
lib/canon/diff/node_serializer.rb,
lib/canon/diff/text_decomposer.rb,
lib/canon/diff_formatter/theme.rb,
lib/canon/xml/namespace_helper.rb,
lib/canon/xml/xml_base_handler.rb,
lib/canon/commands/diff_command.rb,
lib/canon/comparison/dimensions.rb,
lib/canon/comparison/xml_parser.rb,
lib/canon/config/profile_loader.rb,
lib/canon/config/type_converter.rb,
lib/canon/diff/diff_node_mapper.rb,
lib/canon/diff_formatter/legend.rb,
lib/canon/options/cli_generator.rb,
lib/canon/xml/attribute_handler.rb,
lib/canon/xml/character_encoder.rb,
lib/canon/xml/line_range_mapper.rb,
lib/canon/xml/namespace_handler.rb,
lib/canon/comparison/html_parser.rb,
lib/canon/comparison/json_parser.rb,
lib/canon/diff/diff_line_builder.rb,
lib/canon/xml/nodes/comment_node.rb,
lib/canon/xml/nodes/element_node.rb,
lib/canon/commands/format_command.rb,
lib/canon/diff/diff_block_builder.rb,
lib/canon/diff/diff_node_enricher.rb,
lib/canon/tree_diff/core/matching.rb,
lib/canon/comparison/match_options.rb,
lib/canon/config/override_resolver.rb,
lib/canon/diff/diff_report_builder.rb,
lib/canon/diff/formatting_detector.rb,
lib/canon/formatters/xml_formatter.rb,
lib/canon/tree_diff/core/tree_node.rb,
lib/canon/validators/xml_validator.rb,
lib/canon/xml/nodes/attribute_node.rb,
lib/canon/xml/nodes/namespace_node.rb,
lib/canon/comparison/xml_comparator.rb,
lib/canon/diff/diff_context_builder.rb,
lib/canon/formatters/html_formatter.rb,
lib/canon/formatters/json_formatter.rb,
lib/canon/formatters/yaml_formatter.rb,
lib/canon/validators/base_validator.rb,
lib/canon/validators/html_validator.rb,
lib/canon/validators/json_validator.rb,
lib/canon/validators/yaml_validator.rb,
lib/canon/xml/whitespace_normalizer.rb,
lib/canon/comparison/base_comparator.rb,
lib/canon/comparison/compare_profile.rb,
lib/canon/comparison/format_detector.rb,
lib/canon/comparison/html_comparator.rb,
lib/canon/comparison/json_comparator.rb,
lib/canon/comparison/yaml_comparator.rb,
lib/canon/formatters/html4_formatter.rb,
lib/canon/formatters/html5_formatter.rb,
lib/canon/tree_diff/core/node_weight.rb,
lib/canon/diff_formatter/debug_output.rb,
lib/canon/comparison/comparison_result.rb,
lib/canon/comparison/markup_comparator.rb,
lib/canon/comparison/profile_definition.rb,
lib/canon/pretty_printer/xml_normalized.rb,
lib/canon/tree_diff/core/node_signature.rb,
lib/canon/tree_diff/operation_converter.rb,
lib/canon/comparison/dimensions/registry.rb,
lib/canon/comparison/xml_node_comparison.rb,
lib/canon/formatters/html_formatter_base.rb,
lib/canon/tree_diff/adapters/xml_adapter.rb,
lib/canon/tree_diff/operations/operation.rb,
lib/canon/tree_diff/tree_diff_integrator.rb,
lib/canon/comparison/html_compare_profile.rb,
lib/canon/tree_diff/adapters/html_adapter.rb,
lib/canon/tree_diff/adapters/json_adapter.rb,
lib/canon/tree_diff/adapters/yaml_adapter.rb,
lib/canon/tree_diff/matchers/hash_matcher.rb,
lib/canon/diff/xml_serialization_formatter.rb,
lib/canon/comparison/ruby_object_comparator.rb,
lib/canon/comparison/whitespace_sensitivity.rb,
lib/canon/tree_diff/core/xml_entity_decoder.rb,
lib/canon/tree_diff/core/attribute_comparator.rb,
lib/canon/comparison/dimensions/base_dimension.rb,
lib/canon/diff_formatter/by_line/xml_formatter.rb,
lib/canon/diff_formatter/diff_detail_formatter.rb,
lib/canon/tree_diff/matchers/universal_matcher.rb,
lib/canon/comparison/match_options/xml_resolver.rb,
lib/canon/comparison/xml_comparator/node_parser.rb,
lib/canon/diff_formatter/by_line/base_formatter.rb,
lib/canon/diff_formatter/by_line/html_formatter.rb,
lib/canon/diff_formatter/by_line/json_formatter.rb,
lib/canon/diff_formatter/by_line/yaml_formatter.rb,
lib/canon/tree_diff/matchers/similarity_matcher.rb,
lib/canon/xml/nodes/processing_instruction_node.rb,
lib/canon/comparison/match_options/base_resolver.rb,
lib/canon/comparison/match_options/json_resolver.rb,
lib/canon/comparison/match_options/yaml_resolver.rb,
lib/canon/diff_formatter/by_object/xml_formatter.rb,
lib/canon/diff_formatter/by_line/simple_formatter.rb,
lib/canon/diff_formatter/by_object/base_formatter.rb,
lib/canon/diff_formatter/by_object/json_formatter.rb,
lib/canon/diff_formatter/by_object/yaml_formatter.rb,
lib/canon/tree_diff/operations/operation_detector.rb,
lib/canon/comparison/dimensions/comments_dimension.rb,
lib/canon/tree_diff/matchers/structural_propagator.rb,
lib/canon/comparison/strategies/base_match_strategy.rb,
lib/canon/comparison/xml_comparator/attribute_filter.rb,
lib/canon/comparison/xml_comparator/child_comparison.rb,
lib/canon/comparison/xml_comparator/diff_node_builder.rb,
lib/canon/comparison/dimensions/text_content_dimension.rb,
lib/canon/comparison/strategies/match_strategy_factory.rb,
lib/canon/comparison/xml_comparator/attribute_comparator.rb,
lib/canon/comparison/xml_comparator/namespace_comparator.rb,
lib/canon/comparison/xml_comparator/node_type_comparator.rb,
lib/canon/comparison/dimensions/attribute_order_dimension.rb,
lib/canon/diff_formatter/diff_detail_formatter/node_utils.rb,
lib/canon/diff_formatter/diff_detail_formatter/text_utils.rb,
lib/canon/comparison/dimensions/attribute_values_dimension.rb,
lib/canon/comparison/dimensions/element_position_dimension.rb,
lib/canon/diff_formatter/diff_detail_formatter/color_helper.rb,
lib/canon/comparison/dimensions/attribute_presence_dimension.rb,
lib/canon/comparison/strategies/semantic_tree_match_strategy.rb,
lib/canon/tree_diff/operation_converter_helpers/post_processor.rb,
lib/canon/tree_diff/operation_converter_helpers/reason_builder.rb,
lib/canon/comparison/dimensions/structural_whitespace_dimension.rb,
lib/canon/diff_formatter/diff_detail_formatter/location_extractor.rb,
lib/canon/tree_diff/operation_converter_helpers/metadata_enricher.rb,
lib/canon/diff_formatter/diff_detail_formatter/dimension_formatter.rb,
lib/canon/tree_diff/operation_converter_helpers/update_change_handler.rb
Defined Under Namespace
Modules: Cache, Commands, Comparison, Diff, Formatters, Html, Options, PrettyPrinter, RSpecMatchers, TreeDiff, Validators, Xml Classes: Cli, ColorDetector, CompareFormatMismatchError, Config, DataModel, DiffFormatter, Error, SizeLimitExceededError, ValidationError
Constant Summary collapse
- SUPPORTED_FORMATS =
%i[xml yaml json html html4 html5 string].freeze
- VERSION =
"0.2.1"
Class Method Summary collapse
-
.format(content, format = :xml) ⇒ String
Format content based on the specified format type.
-
.get_formatter(format) ⇒ Object
rubocop:disable Metrics/MethodLength.
-
.parse(content, format = :xml) ⇒ Object
Parse content based on the specified format type.
Class Method Details
.format(content, format = :xml) ⇒ String
Format content based on the specified format type
25 26 27 |
# File 'lib/canon.rb', line 25 def self.format(content, format = :xml) get_formatter(format).format(content) end |
.get_formatter(format) ⇒ Object
rubocop:disable Metrics/MethodLength
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/canon.rb', line 38 def self.get_formatter(format) case format.to_sym when :xml Formatters::XmlFormatter when :yaml Formatters::YamlFormatter when :json Formatters::JsonFormatter when :html Formatters::HtmlFormatter when :html4 Formatters::Html4Formatter when :html5 Formatters::Html5Formatter else raise Error, "Unsupported format: #{format}" end end |
.parse(content, format = :xml) ⇒ Object
Parse content based on the specified format type
33 34 35 |
# File 'lib/canon.rb', line 33 def self.parse(content, format = :xml) get_formatter(format).parse(content) end |