gooddata 0.6.20 → 0.6.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -1
- data/DEPENDENCIES.md +816 -0
- data/LICENSE +1 -1
- data/LICENSE.rb +5 -0
- data/Rakefile +74 -22
- data/dependency_decisions.yml +102 -0
- data/gooddata.gemspec +39 -38
- data/lib/gooddata.rb +4 -0
- data/lib/gooddata/app/app.rb +4 -0
- data/lib/gooddata/bricks/base_downloader.rb +5 -1
- data/lib/gooddata/bricks/brick.rb +4 -0
- data/lib/gooddata/bricks/bricks.rb +5 -0
- data/lib/gooddata/bricks/middleware/aws_middleware.rb +5 -0
- data/lib/gooddata/bricks/middleware/base_middleware.rb +5 -0
- data/lib/gooddata/bricks/middleware/bench_middleware.rb +5 -0
- data/lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb +5 -0
- data/lib/gooddata/bricks/middleware/decode_params_middleware.rb +6 -0
- data/lib/gooddata/bricks/middleware/fs_download_middleware.rb +6 -0
- data/lib/gooddata/bricks/middleware/fs_upload_middleware.rb +6 -0
- data/lib/gooddata/bricks/middleware/gooddata_middleware.rb +6 -0
- data/lib/gooddata/bricks/middleware/logger_middleware.rb +5 -0
- data/lib/gooddata/bricks/middleware/middleware.rb +5 -0
- data/lib/gooddata/bricks/middleware/restforce_middleware.rb +4 -0
- data/lib/gooddata/bricks/middleware/stdout_middleware.rb +5 -0
- data/lib/gooddata/bricks/middleware/twitter_middleware.rb +5 -0
- data/lib/gooddata/bricks/middleware/undot_params_middleware.rb +4 -0
- data/lib/gooddata/bricks/pipeline.rb +4 -0
- data/lib/gooddata/bricks/utils.rb +4 -0
- data/lib/gooddata/cli/cli.rb +4 -0
- data/lib/gooddata/cli/commands/api_cmd.rb +4 -0
- data/lib/gooddata/cli/commands/auth_cmd.rb +4 -0
- data/lib/gooddata/cli/commands/console_cmd.rb +4 -0
- data/lib/gooddata/cli/commands/domain_cmd.rb +4 -0
- data/lib/gooddata/cli/commands/process_cmd.rb +4 -0
- data/lib/gooddata/cli/commands/project_cmd.rb +4 -0
- data/lib/gooddata/cli/commands/projects_cmd.rb +4 -0
- data/lib/gooddata/cli/commands/run_ruby_cmd.rb +4 -0
- data/lib/gooddata/cli/commands/scaffold_cmd.rb +4 -0
- data/lib/gooddata/cli/commands/user_cmd.rb +4 -0
- data/lib/gooddata/cli/hooks.rb +4 -0
- data/lib/gooddata/cli/shared.rb +4 -0
- data/lib/gooddata/cli/terminal.rb +4 -0
- data/lib/gooddata/client.rb +4 -0
- data/lib/gooddata/commands/api.rb +4 -0
- data/lib/gooddata/commands/auth.rb +4 -0
- data/lib/gooddata/commands/base.rb +4 -0
- data/lib/gooddata/commands/commands.rb +5 -0
- data/lib/gooddata/commands/datasets.rb +5 -1
- data/lib/gooddata/commands/datawarehouse.rb +4 -0
- data/lib/gooddata/commands/domain.rb +4 -0
- data/lib/gooddata/commands/process.rb +4 -0
- data/lib/gooddata/commands/project.rb +7 -9
- data/lib/gooddata/commands/projects.rb +4 -0
- data/lib/gooddata/commands/role.rb +4 -0
- data/lib/gooddata/commands/runners.rb +4 -0
- data/lib/gooddata/commands/scaffold.rb +4 -0
- data/lib/gooddata/commands/user.rb +4 -0
- data/lib/gooddata/connection.rb +83 -0
- data/lib/gooddata/core/core.rb +4 -0
- data/lib/gooddata/core/logging.rb +4 -0
- data/lib/gooddata/core/nil_logger.rb +4 -0
- data/lib/gooddata/core/project.rb +4 -0
- data/lib/gooddata/core/rest.rb +14 -16
- data/lib/gooddata/core/user.rb +4 -0
- data/lib/gooddata/data/data.rb +4 -0
- data/lib/gooddata/data/guesser.rb +4 -0
- data/lib/gooddata/exceptions/attr_element_not_found.rb +4 -0
- data/lib/gooddata/exceptions/command_failed.rb +4 -0
- data/lib/gooddata/exceptions/exceptions.rb +4 -0
- data/lib/gooddata/exceptions/execution_limit_exceeded.rb +4 -0
- data/lib/gooddata/exceptions/filter_maqlization.rb +16 -0
- data/lib/gooddata/exceptions/malformed_user.rb +15 -0
- data/lib/gooddata/exceptions/no_project_error.rb +4 -0
- data/lib/gooddata/exceptions/object_migration.rb +28 -0
- data/lib/gooddata/exceptions/project_not_found.rb +5 -0
- data/lib/gooddata/exceptions/uncomputable_report.rb +5 -0
- data/lib/gooddata/exceptions/user_in_different_domain.rb +4 -0
- data/lib/gooddata/exceptions/validation_error.rb +4 -0
- data/lib/gooddata/extensions/big_decimal.rb +4 -0
- data/lib/gooddata/extensions/enumerable.rb +4 -0
- data/lib/gooddata/extensions/extensions.rb +4 -0
- data/lib/gooddata/extensions/false.rb +4 -0
- data/lib/gooddata/extensions/hash.rb +4 -0
- data/lib/gooddata/extensions/nil.rb +4 -0
- data/lib/gooddata/extensions/numeric.rb +4 -0
- data/lib/gooddata/extensions/object.rb +4 -0
- data/lib/gooddata/extensions/symbol.rb +4 -0
- data/lib/gooddata/extensions/true.rb +4 -0
- data/lib/gooddata/extract.rb +4 -0
- data/lib/gooddata/goodzilla/goodzilla.rb +87 -77
- data/lib/gooddata/helpers/auth_helpers.rb +6 -2
- data/lib/gooddata/helpers/csv_helper.rb +4 -0
- data/lib/gooddata/helpers/data_helper.rb +4 -0
- data/lib/gooddata/helpers/global_helpers.rb +35 -6
- data/lib/gooddata/helpers/global_helpers_params.rb +34 -7
- data/lib/gooddata/helpers/helpers.rb +4 -0
- data/lib/gooddata/mixins/author.rb +4 -0
- data/lib/gooddata/mixins/content_getter.rb +4 -0
- data/lib/gooddata/mixins/content_property_reader.rb +4 -0
- data/lib/gooddata/mixins/content_property_writer.rb +4 -0
- data/lib/gooddata/mixins/contributor.rb +4 -0
- data/lib/gooddata/mixins/data_getter.rb +4 -0
- data/lib/gooddata/mixins/data_property_reader.rb +4 -0
- data/lib/gooddata/mixins/data_property_writer.rb +4 -0
- data/lib/gooddata/mixins/inspector.rb +4 -0
- data/lib/gooddata/mixins/is_attribute.rb +4 -0
- data/lib/gooddata/mixins/is_dimension.rb +4 -0
- data/lib/gooddata/mixins/is_fact.rb +4 -0
- data/lib/gooddata/mixins/is_label.rb +4 -0
- data/lib/gooddata/mixins/links.rb +4 -0
- data/lib/gooddata/mixins/md_finders.rb +4 -0
- data/lib/gooddata/mixins/md_id_to_uri.rb +4 -0
- data/lib/gooddata/mixins/md_json.rb +4 -0
- data/lib/gooddata/mixins/md_lock.rb +4 -0
- data/lib/gooddata/mixins/md_object_id.rb +5 -1
- data/lib/gooddata/mixins/md_object_indexer.rb +4 -0
- data/lib/gooddata/mixins/md_object_query.rb +4 -0
- data/lib/gooddata/mixins/md_relations.rb +4 -0
- data/lib/gooddata/mixins/meta_getter.rb +4 -0
- data/lib/gooddata/mixins/meta_property_reader.rb +4 -0
- data/lib/gooddata/mixins/meta_property_writer.rb +4 -0
- data/lib/gooddata/mixins/mixins.rb +4 -0
- data/lib/gooddata/mixins/not_attribute.rb +4 -0
- data/lib/gooddata/mixins/not_exportable.rb +4 -0
- data/lib/gooddata/mixins/not_fact.rb +4 -0
- data/lib/gooddata/mixins/not_label.rb +4 -0
- data/lib/gooddata/mixins/not_metric.rb +6 -0
- data/lib/gooddata/mixins/obj_id.rb +4 -0
- data/lib/gooddata/mixins/rest_getters.rb +4 -0
- data/lib/gooddata/mixins/rest_resource.rb +4 -0
- data/lib/gooddata/mixins/root_key_getter.rb +4 -0
- data/lib/gooddata/mixins/root_key_setter.rb +4 -0
- data/lib/gooddata/mixins/timestamps.rb +4 -0
- data/lib/gooddata/models/blueprint/anchor_field.rb +4 -0
- data/lib/gooddata/models/blueprint/attribute_field.rb +4 -0
- data/lib/gooddata/models/blueprint/blueprint.rb +4 -0
- data/lib/gooddata/models/blueprint/blueprint_field.rb +4 -0
- data/lib/gooddata/models/blueprint/dashboard_builder.rb +4 -0
- data/lib/gooddata/models/blueprint/dataset_blueprint.rb +6 -0
- data/lib/gooddata/models/blueprint/date_dimension.rb +4 -0
- data/lib/gooddata/models/blueprint/fact_field.rb +4 -0
- data/lib/gooddata/models/blueprint/label_field.rb +4 -0
- data/lib/gooddata/models/blueprint/project_blueprint.rb +6 -0
- data/lib/gooddata/models/blueprint/project_builder.rb +4 -0
- data/lib/gooddata/models/blueprint/reference_field.rb +4 -0
- data/lib/gooddata/models/blueprint/schema_blueprint.rb +4 -0
- data/lib/gooddata/models/blueprint/schema_builder.rb +4 -0
- data/lib/gooddata/models/blueprint/to_manifest.rb +17 -1
- data/lib/gooddata/models/blueprint/to_wire.rb +4 -0
- data/lib/gooddata/models/datawarehouse.rb +5 -0
- data/lib/gooddata/models/domain.rb +25 -7
- data/lib/gooddata/models/execution.rb +4 -0
- data/lib/gooddata/models/execution_detail.rb +4 -0
- data/lib/gooddata/models/from_wire.rb +4 -0
- data/lib/gooddata/models/invitation.rb +4 -0
- data/lib/gooddata/models/links.rb +4 -0
- data/lib/gooddata/models/membership.rb +4 -0
- data/lib/gooddata/models/metadata.rb +37 -10
- data/lib/gooddata/models/metadata/attribute.rb +6 -0
- data/lib/gooddata/models/metadata/dashboard.rb +54 -16
- data/lib/gooddata/models/metadata/dashboard/dashboard_item.rb +60 -0
- data/lib/gooddata/models/metadata/dashboard/filter_item.rb +15 -0
- data/lib/gooddata/models/metadata/dashboard/report_item.rb +51 -0
- data/lib/gooddata/models/metadata/dashboard_tab.rb +88 -0
- data/lib/gooddata/models/metadata/dataset.rb +4 -0
- data/lib/gooddata/models/metadata/dimension.rb +4 -0
- data/lib/gooddata/models/metadata/fact.rb +6 -0
- data/lib/gooddata/models/metadata/label.rb +15 -0
- data/lib/gooddata/models/metadata/metadata.rb +4 -0
- data/lib/gooddata/models/metadata/metric.rb +5 -4
- data/lib/gooddata/models/metadata/report.rb +62 -16
- data/lib/gooddata/models/metadata/report_definition.rb +44 -47
- data/lib/gooddata/models/metadata/variable.rb +4 -0
- data/lib/gooddata/models/model.rb +85 -36
- data/lib/gooddata/models/models.rb +4 -0
- data/lib/gooddata/models/module_constants.rb +4 -0
- data/lib/gooddata/models/process.rb +4 -0
- data/lib/gooddata/models/profile.rb +13 -0
- data/lib/gooddata/models/project.rb +173 -92
- data/lib/gooddata/models/project_creator.rb +18 -10
- data/lib/gooddata/models/project_metadata.rb +4 -0
- data/lib/gooddata/models/project_role.rb +4 -0
- data/lib/gooddata/models/report_data_result.rb +217 -125
- data/lib/gooddata/models/schedule.rb +140 -65
- data/lib/gooddata/models/tab_builder.rb +4 -0
- data/lib/gooddata/models/user_filters/mandatory_user_filter.rb +4 -0
- data/lib/gooddata/models/user_filters/user_filter.rb +4 -0
- data/lib/gooddata/models/user_filters/user_filter_builder.rb +98 -56
- data/lib/gooddata/models/user_filters/user_filters.rb +4 -0
- data/lib/gooddata/models/user_filters/variable_user_filter.rb +4 -0
- data/lib/gooddata/rest/client.rb +41 -38
- data/lib/gooddata/rest/connection.rb +91 -20
- data/lib/gooddata/rest/connections/rest_client_connection.rb +5 -1
- data/lib/gooddata/rest/object.rb +9 -1
- data/lib/gooddata/rest/object_factory.rb +5 -1
- data/lib/gooddata/rest/resource.rb +5 -1
- data/lib/gooddata/rest/rest.rb +4 -0
- data/lib/gooddata/version.rb +5 -1
- data/spec/bricks/bricks_spec.rb +4 -0
- data/spec/data/blueprints/test_project_model_spec.json +2 -2
- data/spec/data/gooddata_version_process/gooddata_version.rb +6 -0
- data/spec/data/hello_world_process/hello_world.rb +6 -0
- data/spec/data/manifests/test_project.json +5 -5
- data/spec/data/reports/left_attr_report.json +108 -0
- data/spec/data/reports/metric_only_one_line.json +83 -0
- data/spec/data/reports/report_1.json +197 -0
- data/spec/data/reports/top_attr_report.json +108 -0
- data/spec/data/ruby_params_process/ruby_params.rb +6 -0
- data/spec/data/ruby_process/process.rb +6 -0
- data/spec/environment/default.rb +5 -0
- data/spec/environment/develop.rb +10 -5
- data/spec/environment/environment.rb +4 -0
- data/spec/environment/hotfix.rb +5 -1
- data/spec/environment/production.rb +4 -0
- data/spec/environment/release.rb +4 -0
- data/spec/environment/staging.rb +30 -0
- data/spec/environment/staging_3.rb +37 -0
- data/spec/helpers/blueprint_helper.rb +4 -0
- data/spec/helpers/cli_helper.rb +4 -0
- data/spec/helpers/connection_helper.rb +24 -17
- data/spec/helpers/crypto_helper.rb +6 -0
- data/spec/helpers/csv_helper.rb +4 -0
- data/spec/helpers/process_helper.rb +5 -1
- data/spec/helpers/project_helper.rb +34 -29
- data/spec/helpers/schedule_helper.rb +4 -0
- data/spec/helpers/spec_helper.rb +4 -0
- data/spec/integration/blueprint_updates_spec.rb +28 -20
- data/spec/integration/command_datawarehouse_spec.rb +6 -0
- data/spec/integration/command_projects_spec.rb +6 -4
- data/spec/integration/create_from_template_spec.rb +6 -0
- data/spec/integration/create_project_spec.rb +6 -0
- data/spec/integration/deprecated_load_spec.rb +58 -0
- data/spec/integration/full_process_schedule_spec.rb +9 -0
- data/spec/integration/full_project_spec.rb +63 -9
- data/spec/integration/over_to_user_filters_spec.rb +7 -2
- data/spec/integration/partial_md_export_import_spec.rb +6 -0
- data/spec/integration/project_spec.rb +12 -6
- data/spec/integration/rest_spec.rb +6 -2
- data/spec/integration/schedule_spec.rb +627 -0
- data/spec/integration/user_filters_spec.rb +122 -21
- data/spec/integration/variables_spec.rb +8 -15
- data/spec/logging_in_logging_out_spec.rb +58 -0
- data/spec/spec_helper.rb +10 -5
- data/spec/unit/bricks/bricks_spec.rb +4 -0
- data/spec/unit/bricks/middleware/aws_middelware_spec.rb +4 -0
- data/spec/unit/bricks/middleware/bench_middleware_spec.rb +4 -0
- data/spec/unit/bricks/middleware/bulk_salesforce_middleware_spec.rb +4 -0
- data/spec/unit/bricks/middleware/gooddata_middleware_spec.rb +4 -0
- data/spec/unit/bricks/middleware/logger_middleware_spec.rb +4 -0
- data/spec/unit/bricks/middleware/restforce_middleware_spec.rb +4 -0
- data/spec/unit/bricks/middleware/stdout_middleware_spec.rb +4 -0
- data/spec/unit/bricks/middleware/twitter_middleware_spec.rb +4 -0
- data/spec/unit/cli/cli_spec.rb +4 -0
- data/spec/unit/cli/commands/cmd_api_spec.rb +4 -0
- data/spec/unit/cli/commands/cmd_auth_spec.rb +4 -0
- data/spec/unit/cli/commands/cmd_domain_spec.rb +4 -0
- data/spec/unit/cli/commands/cmd_process_spec.rb +4 -0
- data/spec/unit/cli/commands/cmd_project_spec.rb +4 -0
- data/spec/unit/cli/commands/cmd_role_spec.rb +4 -0
- data/spec/unit/cli/commands/cmd_run_ruby_spec.rb +4 -0
- data/spec/unit/cli/commands/cmd_scaffold_spec.rb +6 -0
- data/spec/unit/cli/commands/cmd_user_spec.rb +6 -0
- data/spec/unit/commands/command_api_spec.rb +6 -0
- data/spec/unit/commands/command_auth_spec.rb +6 -0
- data/spec/unit/commands/command_dataset_spec.rb +10 -4
- data/spec/unit/commands/command_process_spec.rb +6 -0
- data/spec/unit/commands/command_projects_spec.rb +6 -0
- data/spec/unit/commands/command_scaffold_spec.rb +6 -0
- data/spec/unit/commands/command_user_spec.rb +6 -0
- data/spec/unit/core/connection_spec.rb +6 -0
- data/spec/unit/core/logging_spec.rb +4 -0
- data/spec/unit/core/nil_logger_spec.rb +4 -0
- data/spec/unit/core/project_spec.rb +4 -0
- data/spec/unit/data/guesser_spec.rb +6 -2
- data/spec/unit/extensions/hash_spec.rb +4 -0
- data/spec/unit/godzilla/goodzilla_spec.rb +4 -0
- data/spec/unit/helpers/csv_helper_spec.rb +4 -0
- data/spec/unit/helpers/data_helper_spec.rb +4 -0
- data/spec/unit/helpers/global_helpers_spec.rb +54 -0
- data/spec/unit/helpers_spec.rb +6 -1
- data/spec/unit/models/blueprint/attributes_spec.rb +5 -0
- data/spec/unit/models/blueprint/dataset_spec.rb +5 -0
- data/spec/unit/models/blueprint/labels_spec.rb +5 -0
- data/spec/unit/models/blueprint/project_blueprint_spec.rb +5 -0
- data/spec/unit/models/blueprint/reference_spec.rb +5 -0
- data/spec/unit/models/blueprint/schema_builder_spec.rb +4 -0
- data/spec/unit/models/blueprint/to_wire_spec.rb +5 -0
- data/spec/unit/models/domain_spec.rb +9 -7
- data/spec/unit/models/execution_spec.rb +6 -0
- data/spec/unit/models/from_wire_spec.rb +4 -0
- data/spec/unit/models/invitation_spec.rb +4 -0
- data/spec/unit/models/membership_spec.rb +4 -0
- data/spec/unit/models/metadata_spec.rb +46 -0
- data/spec/unit/models/metric_spec.rb +4 -0
- data/spec/unit/models/model_spec.rb +4 -0
- data/spec/unit/models/params_spec.rb +4 -0
- data/spec/unit/models/profile_spec.rb +4 -0
- data/spec/unit/models/project_creator_spec.rb +127 -0
- data/spec/unit/models/project_role_spec.rb +4 -0
- data/spec/unit/models/project_spec.rb +4 -0
- data/spec/unit/models/report_result_data_spec.rb +193 -0
- data/spec/unit/models/schedule_spec.rb +241 -386
- data/spec/unit/models/to_manifest_spec.rb +21 -0
- data/spec/unit/models/{unit_project.rb → unit_project_spec.rb} +21 -18
- data/spec/unit/models/user_filters_spec.rb +7 -1
- data/spec/unit/models/variable_spec.rb +6 -0
- data/spec/unit/rest/polling_spec.rb +8 -5
- data/spec/unit/rest/resource_spec.rb +4 -0
- metadata +190 -129
- data/.autotest +0 -2
- data/.travis.yml +0 -22
- data/examples.rb +0 -69
- data/lib/gooddata/models/data_result.rb +0 -38
- data/lib/gooddata/models/empty_result.rb +0 -57
- data/spec/unit/models/project_creator.rb +0 -73
data/.autotest
DELETED
data/.travis.yml
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
cache: bundler
|
3
|
-
sudo: false
|
4
|
-
branches:
|
5
|
-
except:
|
6
|
-
- gh-pages
|
7
|
-
- next_doc_release
|
8
|
-
env:
|
9
|
-
global:
|
10
|
-
- TRAVIS_BUILD=true
|
11
|
-
- secure: XIcBVui9577vRAtz23JoM9ZDSol4sY3XC0GP3kH4/fRnmf/zoYS3OmkfFUZ484RS2YmLPuSQvSfwaobRkYCnuc6iFNCEZD1Bxr7f1BT1rc5Sb9PZTdNBIHORnWimFcanGsTERWJiocCShL8miuTF3l1P0JAsjXoeVWI82oMz7xE=
|
12
|
-
rvm:
|
13
|
-
- 1.9.3
|
14
|
-
- jruby-19mode
|
15
|
-
- 2.1
|
16
|
-
- 2.2
|
17
|
-
before_install:
|
18
|
-
- gem update --system
|
19
|
-
- gem update bundler
|
20
|
-
before_script:
|
21
|
-
- cp spec/data/.gooddata ~/
|
22
|
-
script: bundle exec rake ci
|
data/examples.rb
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
# This file shows how the GoodData Ruby API could be used from
|
4
|
-
# a client code
|
5
|
-
#
|
6
|
-
# Caution: this is far from describing the current functionality!
|
7
|
-
|
8
|
-
require 'gooddata'
|
9
|
-
|
10
|
-
# Note: this call will store the connection in a thread-local
|
11
|
-
# variable so this construction and following static method
|
12
|
-
# calls can be used even in a multi-threaded environment
|
13
|
-
#
|
14
|
-
# The connect call is not necessary if credentials are already
|
15
|
-
# stored in ~/.gooddata (e.g. using bin/gooddata auth:store)
|
16
|
-
|
17
|
-
GoodData.connect 'test@example.org', '$3[r37'
|
18
|
-
|
19
|
-
# Connect to a specific project
|
20
|
-
GoodData.project = 'afawtv356b6usdfsdf34vt'
|
21
|
-
|
22
|
-
# ... or even during login time
|
23
|
-
GoodData.connect 'test@example.org', '$3[r37', 'afawtv356b6usdfsdf34vt'
|
24
|
-
|
25
|
-
# Get a metadata object
|
26
|
-
a = Attribute[123]
|
27
|
-
a = Attribute['attr.country']
|
28
|
-
|
29
|
-
# Guess a model from a CSV data set
|
30
|
-
Model.guess 'data.csv'
|
31
|
-
# > [ { "type" => "ATTRIBUTE", "title" => "Country" }, ... ]
|
32
|
-
|
33
|
-
Model.add_dataset "title" => "Test", "columns" => [
|
34
|
-
{ "type" => "ATTRIBUTE", "title" => "Country" }
|
35
|
-
]
|
36
|
-
# > Dataset<"dataset.test">
|
37
|
-
|
38
|
-
# Populate a data set from a file
|
39
|
-
Dataset['dataset.test'].load 'data.csv'
|
40
|
-
|
41
|
-
# The previous line is actually a short cut for the following call:
|
42
|
-
p1.datasets['dataset.test'].load GoodData::Source::CsvFile.new 'data.csv'
|
43
|
-
|
44
|
-
# Populate a data set from the result of a SalesForce query
|
45
|
-
Dataset['dataset.test'].load GoodData::Source::SalesForce.new({
|
46
|
-
:username => "test@example.org",
|
47
|
-
:password => "blahblah",
|
48
|
-
:key => "mkjlnlkh845n4lhasdsdagddddddfa",
|
49
|
-
:query => "SELECT Id, Name FROM Account"
|
50
|
-
})
|
51
|
-
|
52
|
-
# Get a representation of a specific project
|
53
|
-
p1 = Project['afawtv356b6usdfsdf34vt']
|
54
|
-
p2 = Project['/gdc/projects/afawtv356b6usdfsdf34vt']
|
55
|
-
|
56
|
-
# Get a specific object by id from a specific project
|
57
|
-
a = p1.objects[123]
|
58
|
-
# > Attribute<"attr.country">
|
59
|
-
|
60
|
-
# ... or by identifier
|
61
|
-
a = p1.objects['attr.country']
|
62
|
-
# > Attribute<"attr.country">
|
63
|
-
|
64
|
-
##
|
65
|
-
# Create a data set from a model
|
66
|
-
p1.model.add_dataset "title" => "Test", "columns" => [
|
67
|
-
{ "type" => "ATTRIBUTE", "title" => "Country" }
|
68
|
-
]
|
69
|
-
# > Dataset<"dataset.test">
|
@@ -1,38 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
require_relative '../extensions/big_decimal'
|
4
|
-
require_relative '../rest/object'
|
5
|
-
|
6
|
-
module GoodData
|
7
|
-
class DataResult < Rest::Object
|
8
|
-
attr_reader :data
|
9
|
-
|
10
|
-
def initialize(data)
|
11
|
-
@data = data
|
12
|
-
end
|
13
|
-
|
14
|
-
def print
|
15
|
-
puts to_s
|
16
|
-
end
|
17
|
-
|
18
|
-
def to_s(options = {})
|
19
|
-
with_indices = options[:index]
|
20
|
-
|
21
|
-
a = to_table.to_a
|
22
|
-
data = a.transpose
|
23
|
-
data.unshift((1..a.length).to_a) if with_indices
|
24
|
-
processed_data = data.each_with_index.map do |col, i|
|
25
|
-
col.unshift(i.zero? ? nil : i) if with_indices # inserts row labels #
|
26
|
-
w = col.map { |cell| cell.to_s.length }.max # w = "column width" #
|
27
|
-
col.each_with_index.map do |cell, j|
|
28
|
-
j.zero? ? cell.to_s.center(w) : cell.to_s.ljust(w)
|
29
|
-
end # alligns the column #
|
30
|
-
end
|
31
|
-
processed_data.transpose.map { |row| "[#{row.join(' | ')}]" }.unshift('').join("\n")
|
32
|
-
end
|
33
|
-
|
34
|
-
def to_table
|
35
|
-
fail 'Should be implemented in subclass'
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
require_relative 'data_result.rb'
|
4
|
-
|
5
|
-
module GoodData
|
6
|
-
class EmptyResult < DataResult
|
7
|
-
attr_reader :table
|
8
|
-
|
9
|
-
def initialize(data, options = {})
|
10
|
-
super(data)
|
11
|
-
@options = options
|
12
|
-
assemble_table
|
13
|
-
end
|
14
|
-
|
15
|
-
def to_s
|
16
|
-
'No Data'
|
17
|
-
end
|
18
|
-
|
19
|
-
def assemble_table
|
20
|
-
@table = [[]]
|
21
|
-
# CSV::Table.new([GoodData::Row.new([],[],false)])
|
22
|
-
end
|
23
|
-
|
24
|
-
alias_method :to_table, :table
|
25
|
-
alias_method :without_column_headers, :table
|
26
|
-
|
27
|
-
def ==(_other)
|
28
|
-
false
|
29
|
-
end
|
30
|
-
|
31
|
-
def diff(_otherDataResult)
|
32
|
-
['empty']
|
33
|
-
end
|
34
|
-
|
35
|
-
def [](index, _options = {})
|
36
|
-
to_table[index]
|
37
|
-
end
|
38
|
-
|
39
|
-
alias_method :row, :[]
|
40
|
-
|
41
|
-
def empty?
|
42
|
-
true
|
43
|
-
end
|
44
|
-
|
45
|
-
def column(index)
|
46
|
-
table[index]
|
47
|
-
end
|
48
|
-
|
49
|
-
def include_row?(_row = nil)
|
50
|
-
false
|
51
|
-
end
|
52
|
-
|
53
|
-
def include_column?(_row = nil)
|
54
|
-
false
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
@@ -1,73 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
require 'gooddata/models/project_creator'
|
4
|
-
|
5
|
-
describe GoodData::Model::ProjectCreator do
|
6
|
-
|
7
|
-
it 'should say it contains a depending metric if it does' do
|
8
|
-
# response['projectModelDiff']['updateScripts']
|
9
|
-
|
10
|
-
data = [
|
11
|
-
{ 'updateScript' => {
|
12
|
-
'preserveData' => true,
|
13
|
-
'cascadeDrops' => false,
|
14
|
-
'maqlDdlChunks' => "a"
|
15
|
-
}},
|
16
|
-
{ 'updateScript' => {
|
17
|
-
'preserveData' => false,
|
18
|
-
'cascadeDrops' => false,
|
19
|
-
'maqlDdlChunks' => "b"
|
20
|
-
}}
|
21
|
-
]
|
22
|
-
chunk = GoodData::Model::ProjectCreator.pick_correct_chunks(data)
|
23
|
-
chunk.should == {
|
24
|
-
'updateScript' => {
|
25
|
-
'preserveData' => true,
|
26
|
-
'cascadeDrops' => false,
|
27
|
-
'maqlDdlChunks' => "a"
|
28
|
-
}}
|
29
|
-
|
30
|
-
|
31
|
-
data = [
|
32
|
-
{ 'updateScript' => {
|
33
|
-
'preserveData' => true,
|
34
|
-
'cascadeDrops' => true,
|
35
|
-
'maqlDdlChunks' => "a"
|
36
|
-
}},
|
37
|
-
{ 'updateScript' => {
|
38
|
-
'preserveData' => false,
|
39
|
-
'cascadeDrops' => true,
|
40
|
-
'maqlDdlChunks' => "b"
|
41
|
-
}}
|
42
|
-
]
|
43
|
-
chunk = GoodData::Model::ProjectCreator.pick_correct_chunks(data)
|
44
|
-
chunk.should == {
|
45
|
-
'updateScript' => {
|
46
|
-
'preserveData' => true,
|
47
|
-
'cascadeDrops' => true,
|
48
|
-
'maqlDdlChunks' => "a"
|
49
|
-
}}
|
50
|
-
|
51
|
-
|
52
|
-
data = [
|
53
|
-
{ 'updateScript' => {
|
54
|
-
'preserveData' => false,
|
55
|
-
'cascadeDrops' => true,
|
56
|
-
'maqlDdlChunks' => "a"
|
57
|
-
}},
|
58
|
-
{ 'updateScript' => {
|
59
|
-
'preserveData' => true,
|
60
|
-
'cascadeDrops' => true,
|
61
|
-
'maqlDdlChunks' => "b"
|
62
|
-
}}
|
63
|
-
]
|
64
|
-
chunk = GoodData::Model::ProjectCreator.pick_correct_chunks(data)
|
65
|
-
chunk.should == {
|
66
|
-
'updateScript' => {
|
67
|
-
'preserveData' => true,
|
68
|
-
'cascadeDrops' => true,
|
69
|
-
'maqlDdlChunks' => "b"
|
70
|
-
}}
|
71
|
-
|
72
|
-
end
|
73
|
-
end
|