power-bi 0.4.0 → 0.5.0

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: a9193c3d643da35d86134e135a564a6e09864ae9bc95faa3e443d51624f9d8bb
4
- data.tar.gz: 0e6a92e0ba9f7afea7b7ecc30afabfdaccbcbb67919c2f8bc3d2981f542d9b75
3
+ metadata.gz: b5ef83e5bdcaaa737a8bd83a825b597d302d70b31ff35b3aff95a6b3c1c7f2a4
4
+ data.tar.gz: '019b0bd626eccac2f699d500d3eec467cfa209ee1658cd85e5ee9323856e4fa8'
5
5
  SHA512:
6
- metadata.gz: 6d4f514fa5df2146b9304e48a43a33013e2bd09ddb24ad47cb1dd1a9437759b2507b3d16b8aa6593c79de073f9fd6c340d70cd081ef23c0dd35615c069ebb48c
7
- data.tar.gz: 9633e6e5e1e7c9e123312794e294ff47d28bff8943ea7166c17832da05a8a65373185bd719b4719b2dfd1f7cc43d141ab739cd765d6755fd8236544ca9d7bc36
6
+ metadata.gz: a0432e8d536199d1edacb320ddabf5a4abc819a1c2e565c647727c12cad819f10696043d57b102611e5adcf5facf8553f2d2702cd6879fd24a82f335033ba95b
7
+ data.tar.gz: ed395225b4a0a26645a167cb17319ee5c8714195680fbbbb13e533f6293152de58aae3fc823b7540b0dcb26f1523e014be7e107f66386e61b7756508a51c8374
data/lib/power-bi.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'pry' # TODO remove in final product
2
2
  require 'faraday'
3
3
  require 'json'
4
+ require 'date'
4
5
 
5
6
  module PowerBI
6
7
  BASE_URL = 'https://api.powerbi.com/v1.0/myorg'
@@ -16,3 +17,4 @@ require_relative "power-bi/report"
16
17
  require_relative "power-bi/dataset"
17
18
  require_relative "power-bi/datasource"
18
19
  require_relative "power-bi/parameter"
20
+ require_relative "power-bi/refresh"
@@ -2,7 +2,7 @@ module PowerBI
2
2
  class Dataset
3
3
  attr_reader :id, :name, :add_rows_API_enabled, :configured_by, :is_refreshable, :is_effective_identity_required,
4
4
  :is_effective_identity_roles_required, :is_on_prem_gateway_required, :target_storage_mode, :workspace, :datasources,
5
- :parameters
5
+ :parameters, :refresh_history
6
6
 
7
7
  def initialize(tenant, data)
8
8
  @id = data[:id]
@@ -18,6 +18,7 @@ module PowerBI
18
18
  @tenant = tenant
19
19
  @datasources = DatasourceArray.new(@tenant, self)
20
20
  @parameters = ParameterArray.new(@tenant, self)
21
+ @refresh_history = RefreshArray.new(@tenant, self)
21
22
  end
22
23
 
23
24
  def update_parameter(name, value)
@@ -30,6 +31,9 @@ module PowerBI
30
31
  true
31
32
  end
32
33
 
34
+ def last_refresh
35
+ @refresh_history.first
36
+ end
33
37
 
34
38
  def refresh
35
39
  @tenant.post("/groups/#{workspace.id}/datasets/#{id}/refreshes") do |req|
@@ -37,6 +41,7 @@ module PowerBI
37
41
  notifyOption: "NoNotification"
38
42
  }.to_json
39
43
  end
44
+ @refresh_history.reload
40
45
  true
41
46
  end
42
47
 
@@ -0,0 +1,32 @@
1
+ module PowerBI
2
+ class Refresh
3
+ attr_reader :refresh_type, :start_time, :end_time, :service_exception_json, :status, :request_id
4
+
5
+ def initialize(tenant, data)
6
+ @id = data[:id]
7
+ @refresh_type = data[:refreshType]
8
+ @start_time = DateTime.iso8601(data[:startTime])
9
+ @end_time = DateTime.iso8601(data[:endTime])
10
+ @service_exception_json = data[:serviceExceptionJson]
11
+ @status = data[:status]
12
+ @request_id = data[:requestId]
13
+ end
14
+
15
+ end
16
+
17
+ class RefreshArray < Array
18
+
19
+ def initialize(tenant, dataset)
20
+ super(tenant)
21
+ @dataset = dataset
22
+ end
23
+
24
+ def self.get_class
25
+ Refresh
26
+ end
27
+
28
+ def get_data
29
+ @tenant.get("/groups/#{@dataset.workspace.id}/datasets/#{@dataset.id}/refreshes", {'$top': '3'})[:value]
30
+ end
31
+ end
32
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: power-bi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lode Cools
@@ -51,6 +51,7 @@ files:
51
51
  - lib/power-bi/dataset.rb
52
52
  - lib/power-bi/datasource.rb
53
53
  - lib/power-bi/parameter.rb
54
+ - lib/power-bi/refresh.rb
54
55
  - lib/power-bi/report.rb
55
56
  - lib/power-bi/tenant.rb
56
57
  - lib/power-bi/workspace.rb