gooddata 0.6.11 → 0.6.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +6 -0
- data/.travis.yml +5 -0
- data/CHANGELOG.md +34 -1
- data/CLI.md +1 -1
- data/authors.sh +4 -0
- data/lib/gooddata.rb +1 -1
- data/lib/gooddata/cli/commands/api_cmd.rb +0 -2
- data/lib/gooddata/cli/commands/auth_cmd.rb +0 -3
- data/lib/gooddata/cli/commands/console_cmd.rb +1 -2
- data/lib/gooddata/cli/commands/domain_cmd.rb +0 -2
- data/lib/gooddata/cli/commands/process_cmd.rb +0 -2
- data/lib/gooddata/cli/commands/project_cmd.rb +0 -2
- data/lib/gooddata/cli/commands/projects_cmd.rb +0 -2
- data/lib/gooddata/cli/commands/run_ruby_cmd.rb +2 -3
- data/lib/gooddata/cli/commands/scaffold_cmd.rb +0 -3
- data/lib/gooddata/cli/commands/user_cmd.rb +0 -2
- data/lib/gooddata/cli/shared.rb +1 -2
- data/lib/gooddata/commands/datawarehouse.rb +24 -0
- data/lib/gooddata/commands/process.rb +0 -1
- data/lib/gooddata/commands/project.rb +1 -1
- data/lib/gooddata/commands/scaffold.rb +0 -1
- data/lib/gooddata/core/connection.rb +376 -0
- data/lib/gooddata/core/logging.rb +13 -0
- data/lib/gooddata/core/rest.rb +40 -16
- data/lib/gooddata/exceptions/user_in_different_domain.rb +11 -0
- data/lib/gooddata/extensions/enumerable.rb +8 -0
- data/lib/gooddata/goodzilla/goodzilla.rb +24 -0
- data/lib/gooddata/helpers/global_helpers.rb +126 -12
- data/lib/gooddata/mixins/author.rb +11 -5
- data/lib/gooddata/mixins/is_dimension.rb +13 -0
- data/lib/gooddata/mixins/md_object_indexer.rb +17 -1
- data/lib/gooddata/mixins/md_object_query.rb +10 -2
- data/lib/gooddata/mixins/md_relations.rb +2 -2
- data/lib/gooddata/mixins/rest_resource.rb +1 -0
- data/lib/gooddata/models/data_result.rb +0 -1
- data/lib/gooddata/models/datawarehouse.rb +90 -0
- data/lib/gooddata/models/domain.rb +202 -76
- data/lib/gooddata/models/execution.rb +11 -0
- data/lib/gooddata/models/from_wire.rb +4 -4
- data/lib/gooddata/models/invitation.rb +0 -5
- data/lib/gooddata/models/membership.rb +121 -91
- data/lib/gooddata/models/metadata.rb +1 -2
- data/lib/gooddata/models/metadata/attribute.rb +7 -0
- data/lib/gooddata/models/metadata/dashboard.rb +1 -1
- data/lib/gooddata/models/metadata/dimension.rb +52 -0
- data/lib/gooddata/models/metadata/fact.rb +1 -1
- data/lib/gooddata/models/metadata/label.rb +21 -7
- data/lib/gooddata/models/metadata/metric.rb +1 -23
- data/lib/gooddata/models/metadata/report.rb +2 -2
- data/lib/gooddata/models/metadata/report_definition.rb +22 -2
- data/lib/gooddata/models/metadata/variable.rb +81 -0
- data/lib/gooddata/models/model.rb +2 -1
- data/lib/gooddata/models/process.rb +3 -4
- data/lib/gooddata/models/profile.rb +50 -82
- data/lib/gooddata/models/project.rb +170 -213
- data/lib/gooddata/models/project_blueprint.rb +14 -5
- data/lib/gooddata/models/project_creator.rb +2 -2
- data/lib/gooddata/models/schedule.rb +10 -8
- data/lib/gooddata/models/to_wire.rb +2 -2
- data/lib/gooddata/models/user_filters/mandatory_user_filter.rb +67 -0
- data/lib/gooddata/models/user_filters/user_filter.rb +96 -0
- data/lib/gooddata/models/user_filters/user_filter_builder.rb +409 -0
- data/lib/gooddata/{rest/connections/connections.rb → models/user_filters/user_filters.rb} +1 -0
- data/lib/gooddata/models/user_filters/variable_user_filter.rb +14 -0
- data/lib/gooddata/rest/client.rb +32 -21
- data/lib/gooddata/rest/connection.rb +283 -11
- data/lib/gooddata/rest/connections/rest_client_connection.rb +47 -109
- data/lib/gooddata/version.rb +1 -1
- data/spec/data/column_based_permissions.csv +7 -0
- data/spec/data/column_based_permissions2.csv +6 -0
- data/spec/data/hello_world_process/hello_world.rb +3 -1
- data/spec/data/line_based_permissions.csv +3 -0
- data/spec/data/m_n_model/blueprint.json +76 -0
- data/spec/data/{model_view.json → wire_models/model_view.json} +0 -0
- data/spec/data/wire_models/nu_model.json +3046 -0
- data/spec/helpers/process_helper.rb +2 -2
- data/spec/helpers/project_helper.rb +29 -0
- data/spec/helpers/schedule_helper.rb +1 -1
- data/spec/integration/command_datawarehouse_spec.rb +32 -0
- data/spec/integration/create_project_spec.rb +0 -1
- data/spec/integration/full_process_schedule_spec.rb +13 -5
- data/spec/integration/full_project_spec.rb +2 -1
- data/spec/integration/over_to_user_filters_spec.rb +92 -0
- data/spec/integration/project_spec.rb +233 -0
- data/spec/integration/rest_spec.rb +209 -0
- data/spec/integration/user_filters_spec.rb +193 -0
- data/spec/integration/variables_spec.rb +196 -0
- data/spec/unit/commands/command_auth_spec.rb +0 -7
- data/spec/unit/commands/command_process_spec.rb +10 -13
- data/spec/unit/core/connection_spec.rb +0 -19
- data/spec/unit/helpers/global_helpers_spec.rb +57 -0
- data/spec/unit/models/domain_spec.rb +80 -40
- data/spec/unit/models/from_wire_spec.rb +8 -1
- data/spec/unit/models/params_spec.rb +6 -6
- data/spec/unit/models/profile_spec.rb +23 -22
- data/spec/unit/models/project_blueprint_spec.rb +1 -6
- data/spec/unit/models/project_spec.rb +331 -286
- data/spec/unit/models/schedule_spec.rb +39 -14
- data/spec/unit/models/user_filters_spec.rb +89 -0
- data/spec/unit/models/variable_spec.rb +259 -0
- metadata +31 -7
- data/lib/gooddata/rest/connections/dummy_connection.rb +0 -52
- data/spec/unit/core/rest_spec.rb +0 -106
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gooddata
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Kolesnikov
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2015-01-21 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rake
|
@@ -567,6 +567,7 @@ files:
|
|
567
567
|
- README.md
|
568
568
|
- Rakefile
|
569
569
|
- TODO.md
|
570
|
+
- authors.sh
|
570
571
|
- bin/gooddata
|
571
572
|
- examples.rb
|
572
573
|
- gooddata
|
@@ -610,6 +611,7 @@ files:
|
|
610
611
|
- lib/gooddata/commands/base.rb
|
611
612
|
- lib/gooddata/commands/commands.rb
|
612
613
|
- lib/gooddata/commands/datasets.rb
|
614
|
+
- lib/gooddata/commands/datawarehouse.rb
|
613
615
|
- lib/gooddata/commands/domain.rb
|
614
616
|
- lib/gooddata/commands/process.rb
|
615
617
|
- lib/gooddata/commands/project.rb
|
@@ -619,6 +621,7 @@ files:
|
|
619
621
|
- lib/gooddata/commands/scaffold.rb
|
620
622
|
- lib/gooddata/commands/user.rb
|
621
623
|
- lib/gooddata/connection.rb
|
624
|
+
- lib/gooddata/core/connection.rb
|
622
625
|
- lib/gooddata/core/core.rb
|
623
626
|
- lib/gooddata/core/logging.rb
|
624
627
|
- lib/gooddata/core/nil_logger.rb
|
@@ -632,6 +635,7 @@ files:
|
|
632
635
|
- lib/gooddata/exceptions/exceptions.rb
|
633
636
|
- lib/gooddata/exceptions/no_project_error.rb
|
634
637
|
- lib/gooddata/exceptions/project_not_found.rb
|
638
|
+
- lib/gooddata/exceptions/user_in_different_domain.rb
|
635
639
|
- lib/gooddata/exceptions/validation_error.rb
|
636
640
|
- lib/gooddata/extensions/big_decimal.rb
|
637
641
|
- lib/gooddata/extensions/enumerable.rb
|
@@ -653,6 +657,7 @@ files:
|
|
653
657
|
- lib/gooddata/mixins/data_property_writer.rb
|
654
658
|
- lib/gooddata/mixins/inspector.rb
|
655
659
|
- lib/gooddata/mixins/is_attribute.rb
|
660
|
+
- lib/gooddata/mixins/is_dimension.rb
|
656
661
|
- lib/gooddata/mixins/is_fact.rb
|
657
662
|
- lib/gooddata/mixins/is_label.rb
|
658
663
|
- lib/gooddata/mixins/links.rb
|
@@ -681,6 +686,7 @@ files:
|
|
681
686
|
- lib/gooddata/mixins/timestamps.rb
|
682
687
|
- lib/gooddata/models/dashboard_builder.rb
|
683
688
|
- lib/gooddata/models/data_result.rb
|
689
|
+
- lib/gooddata/models/datawarehouse.rb
|
684
690
|
- lib/gooddata/models/domain.rb
|
685
691
|
- lib/gooddata/models/empty_result.rb
|
686
692
|
- lib/gooddata/models/execution.rb
|
@@ -692,12 +698,14 @@ files:
|
|
692
698
|
- lib/gooddata/models/metadata.rb
|
693
699
|
- lib/gooddata/models/metadata/attribute.rb
|
694
700
|
- lib/gooddata/models/metadata/dashboard.rb
|
701
|
+
- lib/gooddata/models/metadata/dimension.rb
|
695
702
|
- lib/gooddata/models/metadata/fact.rb
|
696
703
|
- lib/gooddata/models/metadata/label.rb
|
697
704
|
- lib/gooddata/models/metadata/metadata.rb
|
698
705
|
- lib/gooddata/models/metadata/metric.rb
|
699
706
|
- lib/gooddata/models/metadata/report.rb
|
700
707
|
- lib/gooddata/models/metadata/report_definition.rb
|
708
|
+
- lib/gooddata/models/metadata/variable.rb
|
701
709
|
- lib/gooddata/models/model.rb
|
702
710
|
- lib/gooddata/models/models.rb
|
703
711
|
- lib/gooddata/models/module_constants.rb
|
@@ -716,11 +724,14 @@ files:
|
|
716
724
|
- lib/gooddata/models/tab_builder.rb
|
717
725
|
- lib/gooddata/models/to_manifest.rb
|
718
726
|
- lib/gooddata/models/to_wire.rb
|
727
|
+
- lib/gooddata/models/user_filters/mandatory_user_filter.rb
|
728
|
+
- lib/gooddata/models/user_filters/user_filter.rb
|
729
|
+
- lib/gooddata/models/user_filters/user_filter_builder.rb
|
730
|
+
- lib/gooddata/models/user_filters/user_filters.rb
|
731
|
+
- lib/gooddata/models/user_filters/variable_user_filter.rb
|
719
732
|
- lib/gooddata/rest/README.md
|
720
733
|
- lib/gooddata/rest/client.rb
|
721
734
|
- lib/gooddata/rest/connection.rb
|
722
|
-
- lib/gooddata/rest/connections/connections.rb
|
723
|
-
- lib/gooddata/rest/connections/dummy_connection.rb
|
724
735
|
- lib/gooddata/rest/connections/rest_client_connection.rb
|
725
736
|
- lib/gooddata/rest/object.rb
|
726
737
|
- lib/gooddata/rest/object_factory.rb
|
@@ -746,6 +757,8 @@ files:
|
|
746
757
|
- spec/data/cc/devel.prm
|
747
758
|
- spec/data/cc/graph/graph.grf
|
748
759
|
- spec/data/cc/workspace.prm
|
760
|
+
- spec/data/column_based_permissions.csv
|
761
|
+
- spec/data/column_based_permissions2.csv
|
749
762
|
- spec/data/gd_gse_data_blueprint.json
|
750
763
|
- spec/data/gd_gse_data_manifest.json
|
751
764
|
- spec/data/gd_gse_data_model.json
|
@@ -753,9 +766,10 @@ files:
|
|
753
766
|
- spec/data/gooddata_version_process/gooddata_version.zip
|
754
767
|
- spec/data/hello_world_process/hello_world.rb
|
755
768
|
- spec/data/hello_world_process/hello_world.zip
|
769
|
+
- spec/data/line_based_permissions.csv
|
770
|
+
- spec/data/m_n_model/blueprint.json
|
756
771
|
- spec/data/manifest_test_project.json
|
757
772
|
- spec/data/model_module.json
|
758
|
-
- spec/data/model_view.json
|
759
773
|
- spec/data/ruby_params_process/ruby_params.rb
|
760
774
|
- spec/data/ruby_process/deep_files/deep_stuff.txt
|
761
775
|
- spec/data/ruby_process/process.rb
|
@@ -764,6 +778,8 @@ files:
|
|
764
778
|
- spec/data/test-ci-data.csv
|
765
779
|
- spec/data/test_project_model_spec.json
|
766
780
|
- spec/data/users.csv
|
781
|
+
- spec/data/wire_models/model_view.json
|
782
|
+
- spec/data/wire_models/nu_model.json
|
767
783
|
- spec/data/wire_test_project.json
|
768
784
|
- spec/helpers/blueprint_helper.rb
|
769
785
|
- spec/helpers/cli_helper.rb
|
@@ -773,12 +789,18 @@ files:
|
|
773
789
|
- spec/helpers/process_helper.rb
|
774
790
|
- spec/helpers/project_helper.rb
|
775
791
|
- spec/helpers/schedule_helper.rb
|
792
|
+
- spec/integration/command_datawarehouse_spec.rb
|
776
793
|
- spec/integration/command_projects_spec.rb
|
777
794
|
- spec/integration/create_from_template_spec.rb
|
778
795
|
- spec/integration/create_project_spec.rb
|
779
796
|
- spec/integration/full_process_schedule_spec.rb
|
780
797
|
- spec/integration/full_project_spec.rb
|
798
|
+
- spec/integration/over_to_user_filters_spec.rb
|
781
799
|
- spec/integration/partial_md_export_import_spec.rb
|
800
|
+
- spec/integration/project_spec.rb
|
801
|
+
- spec/integration/rest_spec.rb
|
802
|
+
- spec/integration/user_filters_spec.rb
|
803
|
+
- spec/integration/variables_spec.rb
|
782
804
|
- spec/logging_in_logging_out_spec.rb
|
783
805
|
- spec/spec_helper.rb
|
784
806
|
- spec/unit/bricks/bricks_spec.rb
|
@@ -810,11 +832,11 @@ files:
|
|
810
832
|
- spec/unit/core/logging_spec.rb
|
811
833
|
- spec/unit/core/nil_logger_spec.rb
|
812
834
|
- spec/unit/core/project_spec.rb
|
813
|
-
- spec/unit/core/rest_spec.rb
|
814
835
|
- spec/unit/data/guesser_spec.rb
|
815
836
|
- spec/unit/extensions/hash_spec.rb
|
816
837
|
- spec/unit/godzilla/goodzilla_spec.rb
|
817
838
|
- spec/unit/helpers/csv_helper_spec.rb
|
839
|
+
- spec/unit/helpers/global_helpers_spec.rb
|
818
840
|
- spec/unit/helpers_spec.rb
|
819
841
|
- spec/unit/models/attribute_column_spec.rb
|
820
842
|
- spec/unit/models/domain_spec.rb
|
@@ -834,6 +856,8 @@ files:
|
|
834
856
|
- spec/unit/models/schema_builder_spec.rb
|
835
857
|
- spec/unit/models/to_manifest_spec.rb
|
836
858
|
- spec/unit/models/to_wire_spec.rb
|
859
|
+
- spec/unit/models/user_filters_spec.rb
|
860
|
+
- spec/unit/models/variable_spec.rb
|
837
861
|
- spec/unit/rest/resource_spec.rb
|
838
862
|
- tmp/.gitkeepme
|
839
863
|
- yard-server.sh
|
@@ -857,7 +881,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
857
881
|
version: '0'
|
858
882
|
requirements: []
|
859
883
|
rubyforge_project:
|
860
|
-
rubygems_version: 2.
|
884
|
+
rubygems_version: 2.4.5
|
861
885
|
signing_key:
|
862
886
|
specification_version: 4
|
863
887
|
summary: A convenient Ruby wrapper around the GoodData RESTful API
|
@@ -1,52 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require_relative '../connection'
|
4
|
-
|
5
|
-
module GoodData
|
6
|
-
module Rest
|
7
|
-
module Connections
|
8
|
-
# Implementation of GoodData::Rest::Connection using https://rubygems.org/gems/rest-client
|
9
|
-
class DummyConnection < GoodData::Rest::Connection
|
10
|
-
def initialize(opts = {})
|
11
|
-
super
|
12
|
-
end
|
13
|
-
|
14
|
-
# Connect using username and password
|
15
|
-
def connect(_username, _password)
|
16
|
-
end
|
17
|
-
|
18
|
-
# Disconnect
|
19
|
-
def disconnect
|
20
|
-
end
|
21
|
-
|
22
|
-
# HTTP DELETE
|
23
|
-
#
|
24
|
-
# @param uri [String] Target URI
|
25
|
-
def delete(uri, _options = {})
|
26
|
-
puts "DELETE #{uri}"
|
27
|
-
end
|
28
|
-
|
29
|
-
# HTTP GET
|
30
|
-
#
|
31
|
-
# @param uri [String] Target URI
|
32
|
-
def get(uri, _options = {})
|
33
|
-
puts "GET #{uri}"
|
34
|
-
end
|
35
|
-
|
36
|
-
# HTTP PUT
|
37
|
-
#
|
38
|
-
# @param uri [String] Target URI
|
39
|
-
def put(uri, _data, _options = {})
|
40
|
-
puts "PUT #{uri}"
|
41
|
-
end
|
42
|
-
|
43
|
-
# HTTP POST
|
44
|
-
#
|
45
|
-
# @param uri [String] Target URI
|
46
|
-
def post(uri, _data, _options = {})
|
47
|
-
puts "POST #{uri}"
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
data/spec/unit/core/rest_spec.rb
DELETED
@@ -1,106 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
require 'tempfile'
|
3
|
-
|
4
|
-
require 'gooddata/core/rest'
|
5
|
-
|
6
|
-
describe GoodData do
|
7
|
-
before(:each) do
|
8
|
-
@client = ConnectionHelper.create_default_connection
|
9
|
-
@project = ProjectHelper.get_default_project(:client => @client)
|
10
|
-
end
|
11
|
-
|
12
|
-
after(:each) do
|
13
|
-
@client.disconnect
|
14
|
-
end
|
15
|
-
|
16
|
-
describe '#get_project_webdav_path' do
|
17
|
-
it 'Returns path' do
|
18
|
-
@client.get_project_webdav_path('test-file.csv', :project => @project)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
|
23
|
-
def test_webdav_upload(params)
|
24
|
-
GoodData.with_project(@project, :client => @client) do
|
25
|
-
dir = Time.now.to_i.to_s
|
26
|
-
|
27
|
-
path = 'spec/data/test-ci-data.csv'
|
28
|
-
|
29
|
-
if params[:special_chars]
|
30
|
-
source_file = Tempfile.new('abc-16:55:29+ha#he.csv')
|
31
|
-
FileUtils.cp(path, source_file)
|
32
|
-
path = source_file.path
|
33
|
-
end
|
34
|
-
|
35
|
-
path = File.expand_path(path) if params[:absolute_path]
|
36
|
-
|
37
|
-
# upload it there
|
38
|
-
upload_method = GoodData.method(params[:upload_method])
|
39
|
-
upload_method.call(path, directory: dir)
|
40
|
-
|
41
|
-
# download it from there
|
42
|
-
file = Tempfile.new('foo.csv')
|
43
|
-
|
44
|
-
download_method = GoodData.method(params[:download_method])
|
45
|
-
download_method.call(File.basename(path), file, directory: dir)
|
46
|
-
|
47
|
-
expect(file.size).to be > 0
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
51
|
-
describe '#upload_to_project_webdav' do
|
52
|
-
it 'Uploads file with relative path to a dir' do
|
53
|
-
test_webdav_upload(
|
54
|
-
upload_method: 'upload_to_project_webdav',
|
55
|
-
download_method: 'download_from_project_webdav'
|
56
|
-
)
|
57
|
-
end
|
58
|
-
|
59
|
-
it 'Uploads file with absolute path to a dir' do
|
60
|
-
test_webdav_upload(
|
61
|
-
absolute_path: true,
|
62
|
-
upload_method: 'upload_to_project_webdav',
|
63
|
-
download_method: 'download_from_project_webdav'
|
64
|
-
)
|
65
|
-
end
|
66
|
-
|
67
|
-
it 'Uploads file with special chars in filename' do
|
68
|
-
test_webdav_upload(
|
69
|
-
special_chars: true,
|
70
|
-
upload_method: 'upload_to_project_webdav',
|
71
|
-
download_method: 'download_from_project_webdav'
|
72
|
-
)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
describe '#upload_to_user_webdav' do
|
77
|
-
it 'Uploads file with relative path to a dir' do
|
78
|
-
test_webdav_upload(
|
79
|
-
upload_method: 'upload_to_user_webdav',
|
80
|
-
download_method: 'download_from_user_webdav'
|
81
|
-
)
|
82
|
-
end
|
83
|
-
|
84
|
-
it 'Uploads file with absolute path to a dir' do
|
85
|
-
test_webdav_upload(
|
86
|
-
absolute_path: true,
|
87
|
-
upload_method: 'upload_to_user_webdav',
|
88
|
-
download_method: 'download_from_user_webdav'
|
89
|
-
)
|
90
|
-
end
|
91
|
-
it 'Uploads file with special chars in filename' do
|
92
|
-
test_webdav_upload(
|
93
|
-
special_chars: true,
|
94
|
-
upload_method: 'upload_to_user_webdav',
|
95
|
-
download_method: 'download_from_user_webdav'
|
96
|
-
)
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
|
101
|
-
describe '#get_user_webdav_path' do
|
102
|
-
it 'Gets the path' do
|
103
|
-
@client.get_user_webdav_path('test.csv', :project => @project)
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|