calculable_attrs 0.0.13 → 0.0.14

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e991a08e392e45d1e2b104e38cd2b9a9df2bfd29
4
- data.tar.gz: 11557f072e7892c33b7f711bf10ca484bebd00b1
3
+ metadata.gz: ecc688e611d2c4ae90744580be8781f6b195b131
4
+ data.tar.gz: 128a18247d8821f4bf88695e73323661087732a7
5
5
  SHA512:
6
- metadata.gz: 607b9f7f49bf1994e1542b15e2163ccb32be18489aa7d1066a7ad039fdba685952bff04e717d838099ac409614f6e1b1fa679d49eaac598cb35d3a5b53533ef3
7
- data.tar.gz: 157c20cf228d1a9b747df3dbebf62cc4cf5dd2f9b43d028a038014bf4da9c2cce14374e0e6e3c9e06e8c2fc0efef63c5e5cb245438a12764624811447e8832b4
6
+ metadata.gz: dab3a4979da1031dc462552ca32384c889ad178561a58737006bae457d343be26b1be33d5ef00f2fd845f8ad3e469ab108460de2e236d9df41f5a49c10e6c928
7
+ data.tar.gz: febab48f25d4a64e30e6029aaa8c444bb5389feb329abb550c0e808020b354ed54764fce2cd849a3447c81faa064c542c2d04581d39ef86bf6a1e238832caaa8
@@ -91,7 +91,7 @@ module CalculableAttrs::ActiveRecord::Relation
91
91
  original_sql = relation.to_sql
92
92
 
93
93
  sql_parser = CalculableAttrs::Utils::SqlParser.new(original_sql)
94
- select_sql_snippets = [sql_parser.first_select_snippet]
94
+ #select_sql_snippets = [sql_parser.first_select_snippet]
95
95
  where_sql_snippet = sql_parser.last_where_snippet
96
96
  relation.reset
97
97
 
@@ -104,12 +104,12 @@ module CalculableAttrs::ActiveRecord::Relation
104
104
  " AS #{ joined_relation_name }" +
105
105
  " ON #{ joined_relation_name }.#{ calcualtor.calculable_foreign_key } = #{ klass.table_name }.id"
106
106
 
107
- calculable_values_sql = attrs_to_calculate.map do |attr|
108
- attr_name = "#{ klass.name.underscore }_#{ attr }"
109
- left_join_sql.sub!(" AS #{ attr }", " AS #{ attr_name }")
110
- klass.send(:sanitize_sql, ["COALESCE(#{ joined_relation_name }.#{ attr_name }, ?) AS #{ attr_name }", calcualtor.default(attr)])
111
- end.join(',')
112
- select_sql_snippets << calculable_values_sql
107
+ # calculable_values_sql = attrs_to_calculate.map do |attr|
108
+ # attr_name = "#{ klass.name.underscore }_#{ attr }"
109
+ # left_join_sql.sub!(" AS #{ attr }", " AS #{ attr_name }")
110
+ # klass.send(:sanitize_sql, ["COALESCE(#{ joined_relation_name }.#{ attr_name }, ?) AS #{ attr_name }", calcualtor.default(attr)])
111
+ # end.join(',')
112
+ # select_sql_snippets << calculable_values_sql
113
113
 
114
114
  if where_sql_snippet
115
115
  attrs_to_calculate.each do |attr|
@@ -119,7 +119,7 @@ module CalculableAttrs::ActiveRecord::Relation
119
119
  "#{ klass.table_name.underscore }.\"#{ attr }\"",
120
120
  "\"#{ klass.table_name.underscore }\".\"#{ attr }\"",
121
121
  ]
122
- replacement_name = "#{ joined_relation_name }.#{ klass.name.underscore }_#{ attr }"
122
+ replacement_name = "#{ joined_relation_name }.#{ attr }"
123
123
  replacement = klass.send(:sanitize_sql, ["COALESCE(#{ replacement_name }, ?)", calcualtor.default(attr)])
124
124
  original_names.each { |original_name| where_sql_snippet.gsub!(original_name, replacement) }
125
125
  end
@@ -128,13 +128,13 @@ module CalculableAttrs::ActiveRecord::Relation
128
128
  relation.joins!(left_join_sql)
129
129
 
130
130
  end
131
- sql_select = select_sql_snippets.join(',')
131
+ #sql_select = select_sql_snippets.join(',')
132
132
  #relation.rewhere(where_sql_snippet) if where_sql_snippet
133
133
  if where_sql_snippet
134
134
  relation.where_values = nil
135
135
  relation.where!(where_sql_snippet)
136
136
  end
137
- relation._select!(sql_select)
137
+ #relation._select!(sql_select)
138
138
  relation
139
139
  end
140
140
 
@@ -142,12 +142,13 @@ module CalculableAttrs::ActiveRecord::Relation
142
142
 
143
143
  def apped_calculable_attrs
144
144
  append_included_calculable_attrs
145
- append_joinded_calculable_attrs
145
+ #append_joinded_calculable_attrs
146
146
  end
147
147
 
148
148
  def append_included_calculable_attrs
149
149
  unless calculable_attrs_included.empty?
150
- attrs = calculable_attrs_included - calculable_attrs_joined
150
+ #attrs = calculable_attrs_included - calculable_attrs_joined
151
+ attrs = calculable_attrs_included | calculable_attrs_joined
151
152
  models_calculable_scopes = collect_calculable_scopes(attrs)
152
153
  collect_models_ids(models_calculable_scopes, @records, attrs)
153
154
  models_calculable_scopes.values.each { |scope| scope.calculate }
@@ -1,3 +1,3 @@
1
1
  module CalculableAttrs
2
- VERSION = "0.0.13"
2
+ VERSION = "0.0.14"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calculable_attrs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Sharkov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-05 00:00:00.000000000 Z
11
+ date: 2014-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -136,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
136
  version: '0'
137
137
  requirements: []
138
138
  rubyforge_project:
139
- rubygems_version: 2.2.2
139
+ rubygems_version: 2.4.1
140
140
  signing_key:
141
141
  specification_version: 4
142
142
  summary: Simplifies work with dynamically calculable fields.