Module: Arel
- Defined in:
- lib/arel/crud.rb,
lib/arel.rb,
lib/arel/math.rb,
lib/arel/table.rb,
lib/arel/errors.rb,
lib/arel/nodes/in.rb,
lib/arel/visitors.rb,
lib/arel/nodes/and.rb,
lib/arel/nodes/case.rb,
lib/arel/nodes/node.rb,
lib/arel/nodes/over.rb,
lib/arel/nodes/true.rb,
lib/arel/nodes/with.rb,
lib/arel/expressions.rb,
lib/arel/nodes/count.rb,
lib/arel/nodes/false.rb,
lib/arel/nodes/unary.rb,
lib/arel/nodes/binary.rb,
lib/arel/nodes/casted.rb,
lib/arel/nodes/regexp.rb,
lib/arel/nodes/window.rb,
lib/arel/predications.rb,
lib/arel/tree_manager.rb,
lib/arel/visitors/dot.rb,
lib/arel/nodes/comment.rb,
lib/arel/nodes/extract.rb,
lib/arel/nodes/matches.rb,
lib/arel/delete_manager.rb,
lib/arel/insert_manager.rb,
lib/arel/nodes/equality.rb,
lib/arel/nodes/function.rb,
lib/arel/nodes/grouping.rb,
lib/arel/nodes/ordering.rb,
lib/arel/nodes/terminal.rb,
lib/arel/select_manager.rb,
lib/arel/update_manager.rb,
lib/arel/visitors/mysql.rb,
lib/arel/collectors/bind.rb,
lib/arel/factory_methods.rb,
lib/arel/nodes/ascending.rb,
lib/arel/visitors/sqlite.rb,
lib/arel/visitors/to_sql.rb,
lib/arel/nodes/bind_param.rb,
lib/arel/nodes/descending.rb,
lib/arel/nodes/inner_join.rb,
lib/arel/nodes/outer_join.rb,
lib/arel/visitors/visitor.rb,
lib/arel/alias_predication.rb,
lib/arel/nodes/join_source.rb,
lib/arel/nodes/select_core.rb,
lib/arel/nodes/sql_literal.rb,
lib/arel/nodes/string_join.rb,
lib/arel/nodes/table_alias.rb,
lib/arel/nodes/values_list.rb,
lib/arel/order_predications.rb,
lib/arel/visitors/postgresql.rb,
lib/arel/window_predications.rb,
lib/arel/attributes/attribute.rb,
lib/arel/collectors/composite.rb,
lib/arel/nodes/homogeneous_in.rb,
lib/arel/nodes/named_function.rb,
lib/arel/collectors/sql_string.rb,
lib/arel/nodes/full_outer_join.rb,
lib/arel/nodes/infix_operation.rb,
lib/arel/nodes/node_expression.rb,
lib/arel/nodes/unary_operation.rb,
lib/arel/nodes/delete_statement.rb,
lib/arel/nodes/insert_statement.rb,
lib/arel/nodes/right_outer_join.rb,
lib/arel/nodes/select_statement.rb,
lib/arel/nodes/update_statement.rb,
lib/arel/collectors/plain_string.rb,
lib/arel/nodes/unqualified_column.rb,
lib/arel/collectors/substitute_binds.rb
Overview
:nodoc: all
Defined Under Namespace
Modules: AliasPredication, Attributes, Collectors, Crud, Expressions, FactoryMethods, Math, Nodes, OrderPredications, Predications, Visitors, WindowPredications Classes: ArelError, DeleteManager, EmptyJoinError, InsertManager, SelectManager, Table, TreeManager, UpdateManager
Constant Summary collapse
- VERSION =
"10.0.0"
- Attribute =
Attributes::Attribute
Class Method Summary collapse
-
.arel_node?(value) ⇒ Boolean
:nodoc:.
-
.fetch_attribute(value, &block) ⇒ Object
:nodoc:.
-
.sql(raw_sql) ⇒ Object
Wrap a known-safe SQL string for passing to query methods, e.g.
-
.star ⇒ Object
:nodoc:.
Class Method Details
.arel_node?(value) ⇒ Boolean
:nodoc:
45 46 47 |
# File 'lib/arel.rb', line 45 def self.arel_node?(value) # :nodoc: value.is_a?(Arel::Nodes::Node) || value.is_a?(Arel::Attribute) || value.is_a?(Arel::Nodes::SqlLiteral) end |
.fetch_attribute(value, &block) ⇒ Object
:nodoc:
49 50 51 52 53 |
# File 'lib/arel.rb', line 49 def self.fetch_attribute(value, &block) # :nodoc: unless String === value value.fetch_attribute(&block) end end |
.sql(raw_sql) ⇒ Object
Wrap a known-safe SQL string for passing to query methods, e.g.
Post.order(Arel.sql("length(title)")).last
Great caution should be taken to avoid SQL injection vulnerabilities. This method should not be used with unsafe values such as request parameters or model attributes.
37 38 39 |
# File 'lib/arel.rb', line 37 def self.sql(raw_sql) Arel::Nodes::SqlLiteral.new raw_sql end |
.star ⇒ Object
:nodoc:
41 42 43 |
# File 'lib/arel.rb', line 41 def self.star # :nodoc: sql "*" end |