vault_client 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -37,11 +37,9 @@ module BillableEventsClient
37
37
  end
38
38
 
39
39
  def resource(hid, event_id)
40
- url = VaultClient.url.dup
41
- url << "/resources/#{hid}/billable_events/#{event_id}"
42
- @resource ||= begin
43
- RestClient::Resource.new(url, :headers => {:accept => "application/json"})
44
- end
40
+ url = VaultClient.url
41
+ url += "/resources/#{hid}/billable_events/#{event_id}"
42
+ RestClient::Resource.new(url, :headers => {:accept => "application/json"})
45
43
  end
46
44
 
47
45
  end
File without changes
@@ -16,7 +16,7 @@ module VaultClient
16
16
  def query(args)
17
17
  assert_args!(args, :account_id, :from, :to)
18
18
  res = resource(args[:account_id])
19
- JSON.parse res.get(:params => {:from => encode_time(args[:from]), :to => encode_time(args[:to])})
19
+ Yajl::Parser.parse(res.get(:params => {:from => encode_time(args[:from]), :to => encode_time(args[:to])}))
20
20
  end
21
21
 
22
22
  def resource(account_id)
@@ -1,6 +1,14 @@
1
1
  module VaultClient
2
2
  class UsageReport
3
3
 
4
+ def self.build(account_id, from, to)
5
+ dto = DataTransferObject::UsageReport.query(:account_id => account_id, :from => from, :to => to)
6
+ billable_units = dto["billable_units"].map{|bu| BillableUnit.new(bu)}
7
+ total = dto["total"].to_i
8
+ from, to = [dto["from"], dto["to"]].map {|t| Time.parse(t)}
9
+ new(account_id, from, to, billable_units, total)
10
+ end
11
+
4
12
  attr_accessor(
5
13
  :account_id,
6
14
  :from,
@@ -65,4 +65,3 @@ module VaultClient
65
65
 
66
66
  end
67
67
  end
68
-
data/lib/vault_client.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'rest-client'
2
- require 'json'
2
+ require 'yajl'
3
3
  require 'vault_helper'
4
4
  require 'resource_ownership_client'
5
5
  require 'billable_events_client'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vault_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-12-16 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
16
- requirement: &8576100 !ruby/object:Gem::Requirement
16
+ requirement: &17073680 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,18 +21,18 @@ dependencies:
21
21
  version: 1.6.7
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *8576100
24
+ version_requirements: *17073680
25
25
  - !ruby/object:Gem::Dependency
26
- name: json
27
- requirement: &8572460 !ruby/object:Gem::Requirement
26
+ name: yajl-ruby
27
+ requirement: &17689640 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
31
31
  - !ruby/object:Gem::Version
32
- version: 1.6.1
32
+ version: 1.1.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *8572460
35
+ version_requirements: *17689640
36
36
  description: A ruby wrapper around The Vault's HTTP API.
37
37
  email: ryan@heroku.com
38
38
  executables: []
@@ -40,6 +40,7 @@ extensions: []
40
40
  extra_rdoc_files: []
41
41
  files:
42
42
  - readme.md
43
+ - lib/dto/billable_event.rb
43
44
  - lib/dto/usage_report.rb
44
45
  - lib/presenters/base_presenter.rb
45
46
  - lib/presenters/unit_presenter.rb