squeel 0.8.3 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -41,11 +41,18 @@ module Arel
41
41
  end
42
42
  end
43
43
 
44
+ class Function < Arel::Nodes::Node
45
+ include Arel::Predications
46
+
47
+ def as aliaz
48
+ self.alias = SqlLiteral.new(aliaz)
49
+ self
50
+ end
51
+ end
52
+
44
53
  class NamedFunction < Arel::Nodes::Function
45
54
  attr_accessor :name, :distinct
46
55
 
47
- include Arel::Predications
48
-
49
56
  def initialize name, expr, aliaz = nil
50
57
  super(expr, aliaz)
51
58
  @name = name
@@ -1,3 +1,3 @@
1
1
  module Squeel
2
- VERSION = "0.8.3"
2
+ VERSION = "0.8.4"
3
3
  end
@@ -100,7 +100,9 @@ module Squeel
100
100
  quote arg
101
101
  end
102
102
  end
103
- Arel::Nodes::NamedFunction.new(o.name, args, o.alias)
103
+ func = Arel::Nodes::NamedFunction.new(o.name, args)
104
+
105
+ o.alias ? func.as(o.alias) : func
104
106
  end
105
107
 
106
108
  # Visit an Operation node. Each operand will be accepted or
@@ -125,7 +125,9 @@ module Squeel
125
125
  quote arg
126
126
  end
127
127
  end
128
- Arel::Nodes::NamedFunction.new(o.name, args, o.alias)
128
+ func = Arel::Nodes::NamedFunction.new(o.name, args)
129
+
130
+ o.alias ? func.as(o.alias) : func
129
131
  end
130
132
 
131
133
  # Visit an ActiveRecord Relation, returning an Arel::SelectManager
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: squeel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-06-20 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- requirement: &2156248280 !ruby/object:Gem::Requirement
16
+ requirement: &2156148420 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2156248280
24
+ version_requirements: *2156148420
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &2156247580 !ruby/object:Gem::Requirement
27
+ requirement: &2156147780 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '3.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2156247580
35
+ version_requirements: *2156147780
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &2156246920 !ruby/object:Gem::Requirement
38
+ requirement: &2156147200 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.5.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2156246920
46
+ version_requirements: *2156147200
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: machinist
49
- requirement: &2156246220 !ruby/object:Gem::Requirement
49
+ requirement: &2156146440 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.6
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2156246220
57
+ version_requirements: *2156146440
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: faker
60
- requirement: &2156245480 !ruby/object:Gem::Requirement
60
+ requirement: &2156145780 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.9.5
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2156245480
68
+ version_requirements: *2156145780
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sqlite3
71
- requirement: &2156244820 !ruby/object:Gem::Requirement
71
+ requirement: &2156145020 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: 1.3.3
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2156244820
79
+ version_requirements: *2156145020
80
80
  description: ! "\n Squeel unlocks the power of ARel in your Rails 3 application
81
81
  with\n a handy block-based syntax. You can write subqueries, access named\n
82
82
  \ functions provided by your RDBMS, and more, all without writing\n SQL