squeel 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. data/CHANGELOG.md +20 -0
  2. data/README.md +1 -1
  3. data/lib/squeel.rb +1 -2
  4. data/lib/squeel/adapters/active_record.rb +3 -1
  5. data/lib/squeel/adapters/active_record/3.0/compat.rb +5 -1
  6. data/lib/squeel/adapters/active_record/3.0/context.rb +2 -2
  7. data/lib/squeel/adapters/active_record/3.1/compat.rb +22 -0
  8. data/lib/squeel/adapters/active_record/3.1/context.rb +2 -2
  9. data/lib/squeel/adapters/active_record/compat.rb +22 -0
  10. data/lib/squeel/adapters/active_record/join_dependency_extensions.rb +2 -2
  11. data/lib/squeel/configuration.rb +2 -2
  12. data/lib/squeel/core_ext/symbol.rb +3 -13
  13. data/lib/squeel/dsl.rb +10 -1
  14. data/lib/squeel/nodes.rb +9 -1
  15. data/lib/squeel/nodes/aliasing.rb +2 -2
  16. data/lib/squeel/nodes/as.rb +1 -1
  17. data/lib/squeel/nodes/binary.rb +1 -4
  18. data/lib/squeel/nodes/function.rb +1 -10
  19. data/lib/squeel/nodes/grouping.rb +35 -0
  20. data/lib/squeel/nodes/join.rb +3 -3
  21. data/lib/squeel/nodes/key_path.rb +26 -24
  22. data/lib/squeel/nodes/literal.rb +2 -17
  23. data/lib/squeel/nodes/nary.rb +1 -2
  24. data/lib/squeel/nodes/ordering.rb +21 -0
  25. data/lib/squeel/nodes/predicate.rb +1 -4
  26. data/lib/squeel/nodes/predicate_methods.rb +16 -0
  27. data/lib/squeel/nodes/stub.rb +11 -21
  28. data/lib/squeel/nodes/unary.rb +1 -4
  29. data/lib/squeel/version.rb +1 -1
  30. data/lib/squeel/visitors/attribute_visitor.rb +12 -13
  31. data/lib/squeel/visitors/predicate_visitor.rb +38 -15
  32. data/lib/squeel/visitors/symbol_visitor.rb +2 -6
  33. data/lib/squeel/visitors/visitor.rb +24 -1
  34. data/spec/squeel/adapters/active_record/relation_extensions_spec.rb +6 -1
  35. data/spec/squeel/dsl_spec.rb +9 -1
  36. data/spec/squeel/nodes/grouping_spec.rb +177 -0
  37. data/spec/squeel/nodes/join_spec.rb +4 -5
  38. data/spec/squeel/nodes/key_path_spec.rb +3 -5
  39. data/spec/squeel/nodes/operators_spec.rb +3 -3
  40. data/spec/squeel/nodes/stub_spec.rb +6 -7
  41. data/spec/squeel/visitors/attribute_visitor_spec.rb +6 -1
  42. data/spec/squeel/visitors/predicate_visitor_spec.rb +28 -0
  43. metadata +62 -22
  44. data/lib/squeel/predicate_methods.rb +0 -14
@@ -1,14 +0,0 @@
1
- module Squeel
2
- # Defines Nodes::Predicate factories named for each of the ARel predication methods
3
- module PredicateMethods
4
-
5
- Constants::PREDICATES.each do |method_name|
6
- class_eval <<-RUBY
7
- def #{method_name}(value = :__undefined__)
8
- Nodes::Predicate.new self, :#{method_name}, value
9
- end
10
- RUBY
11
- end
12
-
13
- end
14
- end