activecube 0.1.31 → 0.1.35
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 +4 -4
- data/.idea/workspace.xml +9 -2
- data/Gemfile.lock +1 -1
- data/lib/activecube/processor/index.rb +1 -1
- data/lib/activecube/query/cube_query.rb +11 -1
- data/lib/activecube/query/item.rb +5 -3
- data/lib/activecube/query/selector.rb +6 -1
- data/lib/activecube/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 946404c43c88aa42570d8224b1e2419298eb04f5b2ca3294e874a2ef394b26ec
|
4
|
+
data.tar.gz: 6e282374863673eed33448f0685360707ef0ab76e97c407dd9558ed3b4c3534c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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="
|
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
@@ -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
|
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
|
-
|
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
|
|
data/lib/activecube/version.rb
CHANGED
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.
|
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-
|
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: []
|