Module: SqlBeautifier
- Defined in:
- lib/sql_beautifier.rb,
lib/sql_beautifier/base.rb,
lib/sql_beautifier/join.rb,
lib/sql_beautifier/util.rb,
lib/sql_beautifier/query.rb,
lib/sql_beautifier/types.rb,
lib/sql_beautifier/comment.rb,
lib/sql_beautifier/in_list.rb,
lib/sql_beautifier/scanner.rb,
lib/sql_beautifier/version.rb,
lib/sql_beautifier/condition.rb,
lib/sql_beautifier/constants.rb,
lib/sql_beautifier/cte_query.rb,
lib/sql_beautifier/formatter.rb,
lib/sql_beautifier/tokenizer.rb,
lib/sql_beautifier/drop_table.rb,
lib/sql_beautifier/expression.rb,
lib/sql_beautifier/normalizer.rb,
lib/sql_beautifier/clauses/base.rb,
lib/sql_beautifier/clauses/from.rb,
lib/sql_beautifier/create_table.rb,
lib/sql_beautifier/delete_query.rb,
lib/sql_beautifier/insert_query.rb,
lib/sql_beautifier/update_query.rb,
lib/sql_beautifier/clauses/limit.rb,
lib/sql_beautifier/clauses/where.rb,
lib/sql_beautifier/configuration.rb,
lib/sql_beautifier/dml_rendering.rb,
lib/sql_beautifier/clauses/having.rb,
lib/sql_beautifier/clauses/select.rb,
lib/sql_beautifier/comment_parser.rb,
lib/sql_beautifier/compound_query.rb,
lib/sql_beautifier/cte_definition.rb,
lib/sql_beautifier/table_registry.rb,
lib/sql_beautifier/case_expression.rb,
lib/sql_beautifier/create_table_as.rb,
lib/sql_beautifier/sort_expression.rb,
lib/sql_beautifier/table_reference.rb,
lib/sql_beautifier/clauses/group_by.rb,
lib/sql_beautifier/clauses/order_by.rb,
lib/sql_beautifier/statement_splitter.rb,
lib/sql_beautifier/statement_assembler.rb,
lib/sql_beautifier/create_table_parsing.rb,
lib/sql_beautifier/clauses/condition_clause.rb
Defined Under Namespace
Modules: Clauses, Constants, CreateTableParsing, DmlRendering, InList, StatementSplitter, Tokenizer, Types, Util
Classes: Base, CaseExpression, Comment, CommentParser, CompoundQuery, Condition, Configuration, CreateTable, CreateTableAs, CteDefinition, CteQuery, DeleteQuery, DropTable, Error, Expression, Formatter, InsertQuery, Join, Normalizer, Query, Scanner, SortExpression, StatementAssembler, TableReference, TableRegistry, UpdateQuery
Constant Summary
collapse
- VERSION =
"0.10.7"
Class Method Summary
collapse
Class Method Details
.call(value, config = {}) ⇒ Object
55
56
57
58
59
60
61
|
# File 'lib/sql_beautifier.rb', line 55
def call(value, config = {})
return unless value.present?
with_configuration(config) do
StatementAssembler.call(value)
end
end
|
.config_for(key) ⇒ Object
71
72
73
74
75
76
|
# File 'lib/sql_beautifier.rb', line 71
def config_for(key)
overrides = Thread.current[:sql_beautifier_config]
return overrides[key] if overrides&.key?(key)
configuration.public_send(key)
end
|
.configuration ⇒ Object
63
64
65
|
# File 'lib/sql_beautifier.rb', line 63
def configuration
@configuration ||= Configuration.new
end
|
67
68
69
|
# File 'lib/sql_beautifier.rb', line 67
def configure
yield configuration
end
|
.reset_configuration! ⇒ Object
78
79
80
|
# File 'lib/sql_beautifier.rb', line 78
def reset_configuration!
@configuration = Configuration.new
end
|
.validate_configuration_keys!(config) ⇒ Object
95
96
97
98
|
# File 'lib/sql_beautifier.rb', line 95
def validate_configuration_keys!(config)
invalid_keys = config.keys - Configuration::DEFAULTS.keys
raise ArgumentError, "Unknown configuration keys: #{invalid_keys.join(', ')}" if invalid_keys.any?
end
|
.with_configuration(config) ⇒ Object
82
83
84
85
86
87
88
89
90
91
92
93
|
# File 'lib/sql_beautifier.rb', line 82
def with_configuration(config)
raise ArgumentError, "Expected a Hash for configuration overrides, got #{config.class}" unless config.is_a?(Hash)
return yield if config.empty?
previous = Thread.current[:sql_beautifier_config]
validate_configuration_keys!(config)
Thread.current[:sql_beautifier_config] = config
yield
ensure
Thread.current[:sql_beautifier_config] = previous if config.is_a?(Hash) && config.any?
end
|