vault_client 0.1.0 → 0.1.2

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.
@@ -5,6 +5,10 @@ module VC
5
5
  OPEN = "open"
6
6
  CLOSE = "close"
7
7
 
8
+ def all
9
+ VC.handle_req {RestClient.get([VC.url, "/billable_events"].join, VC.headers)}
10
+ end
11
+
8
12
  def open(args)
9
13
  hid = args.delete(:hid)
10
14
  entity_id = args.delete(:entity_id)
@@ -0,0 +1,14 @@
1
+ module VC
2
+ module RCode
3
+ extend self
4
+
5
+ def create(args)
6
+ VC.handle_req {RestClient.post(rate_codes_url, args, VC.headers)}
7
+ end
8
+
9
+ def rate_codes_url
10
+ [VC.url, "/rate_codes"].join
11
+ end
12
+
13
+ end
14
+ end
@@ -22,6 +22,7 @@ require 'models/unit_group'
22
22
  require 'models/line_item'
23
23
  require 'models/b_event'
24
24
  require 'models/res_own'
25
+ require 'models/r_code'
25
26
 
26
27
  require 'services/line_item_builder'
27
28
 
data/readme.md CHANGED
@@ -80,6 +80,26 @@ API docs.](https://github.com/heroku/shushu/blob/master/doc/account_ownership_ap
80
80
  #=> {"payment_method_id"=>"456", "account_id"=>"1", "entity_id"=>"event124"}
81
81
  ```
82
82
 
83
+ ### RateCodes
84
+
85
+ Before you can send BillableEvents to Shushu, you will need to provision a
86
+ RateCode.
87
+
88
+ * rate - int. units should be pennies.
89
+ * product_group - string.
90
+ * product_name - string. optional. you can also pass the product name in an event.
91
+
92
+ [Shushu API Docs](https://github.com/heroku/shushu/blob/master/doc/rate_code_api.md)
93
+
94
+ ```ruby
95
+ VC::RCode.create(
96
+ :rate => 5,
97
+ :product_group => "addon",
98
+ :product_name => "postgres"
99
+ )
100
+ #=> {:slug => "AO01", :rate => 5, :product_group => "addon", :product_name => "postgres"}
101
+ ```
102
+
83
103
  ### ResourceOwnerships
84
104
 
85
105
  Use this API when dealing with resources and Vault accounts. For instance:
@@ -0,0 +1,18 @@
1
+ require File.expand_path('../../test_helper', __FILE__)
2
+
3
+ class RCodeTest < VCTest
4
+ def test_open
5
+ our_params = {
6
+ :rate => 5,
7
+ :product_group => "addon",
8
+ :product_name => "postgres",
9
+ :description => "A database service."
10
+ }
11
+ api_resp_body = VC::HttpHelpers.enc_json(our_params.merge(:slug => "AO01"))
12
+ VC.url = "http://provider:password@shushu.heroku.com"
13
+ FakeWeb.register_uri(:post, (VC.url + "/rate_codes"), :body => api_resp_body)
14
+ rate_code = VC::RCode.create(our_params)
15
+ assert_equal("AO01", rate_code["slug"])
16
+ end
17
+ end
18
+
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.1.0
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-12-29 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
16
- requirement: &10827140 !ruby/object:Gem::Requirement
16
+ requirement: &19156220 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.6.7
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *10827140
24
+ version_requirements: *19156220
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: yajl-ruby
27
- requirement: &10826660 !ruby/object:Gem::Requirement
27
+ requirement: &19155740 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: 1.1.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *10826660
35
+ version_requirements: *19155740
36
36
  description: A ruby wrapper around The Vault's HTTP API.
37
37
  email: ryan@heroku.com
38
38
  executables: []
@@ -51,6 +51,7 @@ files:
51
51
  - lib/models/report.rb
52
52
  - lib/models/unit_group.rb
53
53
  - lib/models/line_item.rb
54
+ - lib/models/r_code.rb
54
55
  - lib/models/res_own.rb
55
56
  - lib/models/b_event.rb
56
57
  - lib/models/billable_unit.rb
@@ -59,6 +60,7 @@ files:
59
60
  - test/presenters/line_item_presenter_test.rb
60
61
  - test/presenters/report_presenter_test.rb
61
62
  - test/fixtures.rb
63
+ - test/models/r_code_test.rb
62
64
  - test/models/billable_unit_test.rb
63
65
  - test/models/b_event_test.rb
64
66
  - test/models/unit_group_test.rb
@@ -92,6 +94,7 @@ summary: The Vault Client
92
94
  test_files:
93
95
  - test/presenters/line_item_presenter_test.rb
94
96
  - test/presenters/report_presenter_test.rb
97
+ - test/models/r_code_test.rb
95
98
  - test/models/billable_unit_test.rb
96
99
  - test/models/b_event_test.rb
97
100
  - test/models/unit_group_test.rb