Module: Spanner::Translator::CLI
- Defined in:
- lib/spanner/translator/cli.rb
Overview
CLI methods for calling the translator
Class Method Summary collapse
- .process_check_rule(rule_class, code) ⇒ Object
-
.process_code(code, rule_classes: Rules::Translation::ORDERED_SCHEMA_RULES, options: {}) ⇒ Object
process code translation for only the schema related rules.
-
.process_code!(code, check_classes: Rules::Check::ORDERED_CHECK_RULES, rule_classes: Rules::Translation::ORDERED_SCHEMA_RULES, options: {}) ⇒ Object
process code translation, raising errors if a CheckRule fails.
- .process_rule(rule_class, code, options: {}) ⇒ Object
Class Method Details
.process_check_rule(rule_class, code) ⇒ Object
41 42 43 44 45 46 |
# File 'lib/spanner/translator/cli.rb', line 41 def process_check_rule(rule_class, code) source = RuboCop::AST::ProcessedSource.new(code, 2.7) rule = rule_class.new(nil) source.ast.each_node { |n| rule.process(n) } rule.assert! end |
.process_code(code, rule_classes: Rules::Translation::ORDERED_SCHEMA_RULES, options: {}) ⇒ Object
process code translation for only the schema related rules
23 24 25 26 27 28 29 30 |
# File 'lib/spanner/translator/cli.rb', line 23 def process_code(code, rule_classes: Rules::Translation::ORDERED_SCHEMA_RULES, options: {}) rule_classes.each do |rule_class| code = process_rule(Spanner::Translator::Rules::Translation.const_get(rule_class), code, options:) end return code unless rule_classes == Rules::Translation::ORDERED_SCHEMA_RULES formatted_create_table(code) end |
.process_code!(code, check_classes: Rules::Check::ORDERED_CHECK_RULES, rule_classes: Rules::Translation::ORDERED_SCHEMA_RULES, options: {}) ⇒ Object
process code translation, raising errors if a CheckRule fails.
12 13 14 15 16 17 18 19 20 |
# File 'lib/spanner/translator/cli.rb', line 12 def process_code!(code, check_classes: Rules::Check::ORDERED_CHECK_RULES, rule_classes: Rules::Translation::ORDERED_SCHEMA_RULES, options: {}) check_classes.each do |rule_class| process_check_rule(Spanner::Translator::Rules::Check.const_get(rule_class), code) end process_code(code, rule_classes:, options:) end |
.process_rule(rule_class, code, options: {}) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/spanner/translator/cli.rb', line 32 def process_rule(rule_class, code, options: {}) source = RuboCop::AST::ProcessedSource.new(code, 2.7) source_buffer = source.buffer rewriter = Parser::Source::TreeRewriter.new(source_buffer) rule = rule_class.new(rewriter, options:) source.ast.each_node { |n| rule.process(n) } rewriter.process end |