custom_fielder 0.7.2 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b84eda915c5b54c9fc89c80acf7b86fab38de9e6
4
- data.tar.gz: d911d74856f866effa1b53cb8ca94c7b56741b9a
3
+ metadata.gz: cde4f35dc44de01993b5b7107a63ec6963f147ee
4
+ data.tar.gz: 87ffa9c46a22e22ba36136b97629a54a28cdc96b
5
5
  SHA512:
6
- metadata.gz: 3d46b753eb9927efbd1bc7ff824c313d3a9feb86956bb72ec7993253951bee2db0853e12c2d227ee87e733005e07769941240b24e50a6da50a29f78ba003d4c1
7
- data.tar.gz: db3d3722917352c5b58c1a83fd52935c416926b29fa173af40cc8d5e8311c687279a998968b5120baad2207ce5a1d28d7dd108df3c5ff1f3350bdf77ff448fed
6
+ metadata.gz: fd6d7741b354fbf3b6d7412475668cdbe8fa23739e148d2df5e42eaab4eaffb6efe4f79cfb6790e20073308b9554d66211be2e8a4b3113d978f71b381cc5afdd
7
+ data.tar.gz: bd6ef62263ea5da0b94fe8bc0957d9a2d68b6a8a9c65473d6567b7bf71766978a104226c69b7b79dcd323c2de457c97bfcc75982bba20cba29da9685b90908c1
@@ -15,7 +15,7 @@ module CustomFielder
15
15
 
16
16
  scope :values_with_field, -> (field) { where(field: field) }
17
17
  scope :values_with_class, -> (klass) { where(fieldable_type: klass) }
18
-
18
+
19
19
  ##
20
20
  # Because everything is stored as string with ActiveRecord
21
21
  # we use a alias method chain to rename the value method that
@@ -72,20 +72,28 @@ module CustomFielder
72
72
  # @return [Array<Hash>]
73
73
  #
74
74
  def self.custom_fielder_objects(field)
75
- columns = custom_fielder_columns
76
- sub_query = custom_fielder_search.select(columns).to_sql
77
- columns.map! { |column| "objects.#{column} as #{column}" }
75
+ object_columns = custom_fielder_columns
76
+ sub_query = custom_fielder_search.select(object_columns).to_sql
77
+
78
+ object_columns.map! { |column| "objects.#{column} AS #{column}" }
78
79
 
79
80
  query = <<-SQL
80
- SELECT #{columns.join(', ')}, cfv.id AS value_id, cfv.value AS value
81
+ SELECT
82
+ \ #{object_columns.join(', ')},
83
+ cfv.id AS value_id,
84
+ cfv.value AS value,
85
+ '#{field.id}' AS field_id
81
86
  FROM (#{sub_query}) objects
82
87
  LEFT OUTER JOIN custom_fielder_values cfv
83
88
  ON objects.id = cfv.fieldable_id
84
- AND cfv.field_id = '#{field.id}'
89
+ AND cfv.field_id = field_id
85
90
  SQL
86
91
 
87
92
  objects = ActiveRecord::Base.connection.execute(query)
88
- objects = objects.values.map { |values| Hash[objects.fields.zip(values)] } if objects.class == PG::Result
93
+
94
+ if objects.class == PG::Result
95
+ objects = objects.values.map { |values| Hash[objects.fields.zip(values)] }
96
+ end
89
97
 
90
98
  return objects
91
99
  end
@@ -1,3 +1,3 @@
1
1
  module CustomFielder
2
- VERSION = "0.7.2"
2
+ VERSION = "0.7.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: custom_fielder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Hurst
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-24 00:00:00.000000000 Z
11
+ date: 2016-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails