activecube 0.1.31 → 0.1.35

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
  SHA256:
3
- metadata.gz: 6c706faf950e642b3216ee5bce134ae45c9ad1047395825426897961a2bf357e
4
- data.tar.gz: eb49f277b4fe9ade7817fd9b3d69389ec0879ae3a92004c5d2fa85a2a19a1d70
3
+ metadata.gz: 946404c43c88aa42570d8224b1e2419298eb04f5b2ca3294e874a2ef394b26ec
4
+ data.tar.gz: 6e282374863673eed33448f0685360707ef0ab76e97c407dd9558ed3b4c3534c
5
5
  SHA512:
6
- metadata.gz: 5754c7e2658c9456bee51c66f21ca42da0f7198bf155b06386e845745da098c282a89cd4c388d3581421d0c9e89704accd2249c45b3c30ff32e72744d0b52fbe
7
- data.tar.gz: e5ff2a9a0ac8706dae669b7c0355f2e04ff5f6bb2ca7415253ada1fe76d1036dbdcd8d5b9202b3c10cd19996184b52498fecd7debf4be4547af01f3b27a0e36b
6
+ metadata.gz: 5e19e4c1aded7105504bf70ca2696aff4ff92b691e665685f01fd1bfca5274fe9719e2dbd07c6912d15a869a3e65b6c8b23b429177820d293511ce4641541e87
7
+ data.tar.gz: 74b03d055b8a68508ca2230ded3feb74d8f4a20ef5e717d73cf8c356c7d5f2c28865b9c53944956d355441d3e9af8aeba562a1a7411dd106fb22ca7b35cf931b
data/.idea/workspace.xml CHANGED
@@ -10,7 +10,9 @@
10
10
  <select />
11
11
  </component>
12
12
  <component name="ChangeListManager">
13
- <list default="true" id="77368870-4045-496a-9737-2c7f83086a16" name="Default Changelist" comment="initial implementation" />
13
+ <list default="true" id="77368870-4045-496a-9737-2c7f83086a16" name="Default Changelist" comment="initial implementation">
14
+ <change beforePath="$PROJECT_DIR$/Gemfile.lock" beforeDir="false" afterPath="$PROJECT_DIR$/Gemfile.lock" afterDir="false" />
15
+ </list>
14
16
  <option name="SHOW_DIALOG" value="false" />
15
17
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
16
18
  <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@@ -26,6 +28,8 @@
26
28
  <option name="showLibraryContents" value="true" />
27
29
  </component>
28
30
  <component name="PropertiesComponent">
31
+ <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
32
+ <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
29
33
  <property name="WebServerToolWindowFactoryState" value="false" />
30
34
  <property name="last_opened_file_path" value="$PROJECT_DIR$/lib/activecube" />
31
35
  <property name="node.js.detected.package.eslint" value="true" />
@@ -46,6 +50,7 @@
46
50
  <recent name="$PROJECT_DIR$/lib/activecube" />
47
51
  </key>
48
52
  </component>
53
+ <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
49
54
  <component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" RAKE_SPRING_PRE_LOADER_OPTION="true" RAILS_SPRING_PRE_LOADER_OPTION="true" />
50
55
  <component name="SvnConfiguration">
51
56
  <configuration />
@@ -58,6 +63,7 @@
58
63
  <option name="presentableId" value="Default" />
59
64
  <updated>1581885096407</updated>
60
65
  <workItem from="1581885099890" duration="3547000" />
66
+ <workItem from="1621436559886" duration="39000" />
61
67
  </task>
62
68
  <task id="LOCAL-00001" summary="initial commit">
63
69
  <created>1581885128091</created>
@@ -98,7 +104,7 @@
98
104
  <servers />
99
105
  </component>
100
106
  <component name="TypeScriptGeneratedFilesManager">
101
- <option name="version" value="2" />
107
+ <option name="version" value="3" />
102
108
  </component>
103
109
  <component name="Vcs.Log.Tabs.Properties">
104
110
  <option name="TAB_STATES">
@@ -110,6 +116,7 @@
110
116
  </entry>
111
117
  </map>
112
118
  </option>
119
+ <option name="oldMeFiltersMigrated" value="true" />
113
120
  </component>
114
121
  <component name="VcsManagerConfiguration">
115
122
  <MESSAGE value="initial commit" />
data/Gemfile.lock CHANGED
@@ -9,7 +9,7 @@ GIT
9
9
  PATH
10
10
  remote: .
11
11
  specs:
12
- activecube (0.1.30)
12
+ activecube (0.1.34)
13
13
  activerecord (>= 5.2)
14
14
 
15
15
  GEM
@@ -14,7 +14,7 @@ module Activecube
14
14
  end
15
15
 
16
16
  def matches? query, measures
17
- !required || (fields - query.column_names(measures)).empty?
17
+ !required || (fields - query.column_names_required(measures)).empty?
18
18
  end
19
19
  end
20
20
  end
@@ -16,6 +16,8 @@ module Activecube::Query
16
16
  include ChainAppender
17
17
 
18
18
  attr_reader :cube, :slices, :measures, :selectors, :options, :tables, :sql
19
+ attr_accessor :user_agent
20
+
19
21
  def initialize cube, slices = [], measures = [], selectors = [], options = [], model_tables = nil
20
22
  @cube = cube
21
23
  @slices = slices
@@ -92,7 +94,11 @@ module Activecube::Query
92
94
 
93
95
  def query
94
96
  sql = to_query.to_sql
95
- @composed.connection.exec_query(sql)
97
+ connection = @composed.connection
98
+ if user_agent
99
+ connection.headers = {'User-Agent': user_agent}
100
+ end
101
+ connection.exec_query(sql)
96
102
  end
97
103
 
98
104
  def to_query
@@ -107,6 +113,10 @@ module Activecube::Query
107
113
  (measures + slices + selectors).map(&:required_column_names).flatten.uniq
108
114
  end
109
115
 
116
+ def column_names_required measures = self.measures
117
+ (measures + slices + selectors.select{|s| !s.kind_of?(Selector::CombineSelector)}).map(&:required_column_names).flatten.uniq
118
+ end
119
+
110
120
  def selector_column_names measures = self.measures
111
121
  (measures.map(&:selectors) + slices.map(&:selectors) + selectors).flatten.map(&:required_column_names).flatten.uniq
112
122
  end
@@ -22,9 +22,6 @@ module Activecube::Query
22
22
  "#{definition.class.name}(#{key})"
23
23
  end
24
24
 
25
-
26
- private
27
-
28
25
  def append_with! model, cube_query, table, query
29
26
 
30
27
  if definition.respond_to?(:with_expression) &&
@@ -36,8 +33,13 @@ module Activecube::Query
36
33
  query
37
34
  end
38
35
 
36
+ private
37
+
38
+
39
+
39
40
  def try_append_with(query, key, expr)
40
41
  expr = Arel.sql(expr) if expr.kind_of?(String)
42
+ query = query.where(Arel.sql('1')) unless query.respond_to?(:ast)
41
43
  if (with = query.ast.with)
42
44
  existing = with.expr.detect{|expr| expr.right==key }
43
45
  if existing
@@ -32,7 +32,11 @@ module Activecube::Query
32
32
  end
33
33
 
34
34
  def append_query model, cube_query, arel_table, query
35
- query = append_with!(model, cube_query, arel_table, query)
35
+
36
+ @selectors.each do |s|
37
+ query = s.append_with!(model, cube_query, arel_table, query)
38
+ end
39
+
36
40
  query.where expression(model, arel_table, cube_query)
37
41
  end
38
42
 
@@ -111,6 +115,7 @@ module Activecube::Query
111
115
  end
112
116
 
113
117
  def append_query model, cube_query, table, query
118
+ query = append_with!(model, cube_query, table, query)
114
119
  query.where(expression model, table, cube_query)
115
120
  end
116
121
 
@@ -1,3 +1,3 @@
1
1
  module Activecube
2
- VERSION = "0.1.31"
2
+ VERSION = "0.1.35"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activecube
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.31
4
+ version: 0.1.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aleksey Studnev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-19 00:00:00.000000000 Z
11
+ date: 2021-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -126,7 +126,7 @@ homepage: https://github.com/bitquery/activecube
126
126
  licenses:
127
127
  - MIT
128
128
  metadata: {}
129
- post_install_message:
129
+ post_install_message:
130
130
  rdoc_options: []
131
131
  require_paths:
132
132
  - lib
@@ -142,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  version: '0'
143
143
  requirements: []
144
144
  rubygems_version: 3.0.4
145
- signing_key:
145
+ signing_key:
146
146
  specification_version: 4
147
147
  summary: Multi-Dimensional Queries with Rails
148
148
  test_files: []