dbag 0.1.0 → 0.2.0

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.
Files changed (4) hide show
  1. data/README.md +5 -5
  2. data/VERSION +1 -1
  3. data/lib/dbag/client.rb +13 -10
  4. metadata +13 -13
data/README.md CHANGED
@@ -11,7 +11,7 @@ Client library to fetch and manage data bags from a server. Databags can be used
11
11
  require "lib/dbag";
12
12
  client = Dbag::Client.new("http://YOUR_ENDPOINT", "YOUR AUTH TOKEN")
13
13
 
14
- data_bag = client.find("YOUR DATA BAG KEY")
14
+ data_bag = client.find("YOUR DATA BAG KEY", "YOUR ENVIRONMENT")
15
15
  data_bags = client.all
16
16
 
17
17
  client.to_file(data_bag, "/your/path/your_file.json")
@@ -20,12 +20,12 @@ Client library to fetch and manage data bags from a server. Databags can be used
20
20
  encrypted_on_server = false
21
21
 
22
22
  new_data_bag = {"foo" => "bar", "baz" => "foo"}
23
- client.create("NEW DATA BAG KEY", new_data_bag, encrypted_on_server)
23
+ client.create("NEW DATA BAG KEY", "production", new_data_bag, encrypted_on_server)
24
24
  new_data_bag["foo"] = "bar2"
25
- client.update("NEW DATA BAG KEY", new_data_bag, encrypted_on_server)
25
+ client.update("NEW DATA BAG KEY", "production", new_data_bag, encrypted_on_server)
26
26
 
27
- data_bag2 = client.from_file("NEW DATA BAG KEY 2", "/your/path/the_file_to_store.json", encrypted_on_server)
28
- data_bag3 = client.from_file("NEW DATA BAG KEY 3", "/path/some.yml", encrypted_on_server, :yaml)
27
+ data_bag2 = client.from_file("NEW DATA BAG KEY 2", "production", "/your/path/the_file_to_store.json", encrypted_on_server)
28
+ data_bag3 = client.from_file("NEW DATA BAG KEY 3", "development", "/path/some.yml", encrypted_on_server, :yaml)
29
29
 
30
30
  ## Contributing to dbag
31
31
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
data/lib/dbag/client.rb CHANGED
@@ -16,24 +16,24 @@ module Dbag
16
16
  end
17
17
  end
18
18
 
19
- def find(key)
20
- if (response = get_response(:get, "/data_bags/#{key}.json")).response.is_a?(Net::HTTPOK)
21
- JSON.parse(response.parsed_response["bag_string"])
19
+ def find(key, environment = 'production')
20
+ if (response = get_response(:get, "/data_bags/#{key}.json", {:environment => environment})).response.is_a?(Net::HTTPOK)
21
+ JSON.parse(response.parsed_response["bag_string"]) if response.parsed_response
22
22
  end
23
23
  end
24
24
 
25
- def create(key, data_bag = {}, encrypted = false)
25
+ def create(key, environment, data_bag = {}, encrypted = false)
26
26
  raise "Invalid Databag!" unless key or data_bag
27
27
  response = get_response(:post, '/data_bags.json',
28
28
  {:body => {:data_bag => {:key => key, :bag_string_clear => data_bag.to_json,
29
- :encrypted => encrypted}}})
29
+ :encrypted => encrypted, :environment => (environment || 'production')}}})
30
30
  end
31
31
 
32
- def update(key, data_bag = {}, encrypted = false)
32
+ def update(key, environment, data_bag = {}, encrypted = false)
33
33
  raise "Invalid Databag!" unless key or data_bag
34
34
  response = get_response(:put, "/data_bags/#{key}.json",
35
35
  {:body => {:data_bag => {:bag_string_clear => data_bag.to_json,
36
- :encrypted => encrypted}}})
36
+ :encrypted => encrypted}, :environment => (environment || 'production')}})
37
37
  end
38
38
 
39
39
  def to_file(hash, path, format = :json)
@@ -46,15 +46,15 @@ module Dbag
46
46
  end
47
47
  end
48
48
 
49
- def from_file(new_key, path, encrypted = false, format = :json)
49
+ def from_file(new_key, environment, path, encrypted = false, format = :json)
50
50
  File.open(path, "r" ) do |f|
51
51
  if format == :json
52
52
  if (json = JSON.load(f))
53
- create(new_key, json, encrypted)
53
+ create(new_key, environment, json, encrypted)
54
54
  end
55
55
  elsif format == :yaml
56
56
  if (yaml = YAML.load_file(path))
57
- create(new_key, yaml, encrypted)
57
+ create(new_key, environment, yaml, encrypted)
58
58
  end
59
59
  end
60
60
  end
@@ -70,6 +70,9 @@ module Dbag
70
70
  logger.debug("Body: #{body.inspect}")
71
71
  response = HTTParty.send(http_verb, endpoint_value, body)
72
72
  else
73
+ if options and options.any? and options[:environment]
74
+ endpoint_value = "#{endpoint_value}&environment=#{options[:environment]}"
75
+ end
73
76
  response = HTTParty.send(http_verb, endpoint_value)
74
77
  end
75
78
  logger.debug("Response: #{response.inspect}") if response
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dbag
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 0.1.0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Oliver Kiessler
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-08-04 00:00:00 Z
18
+ date: 2013-05-03 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  requirement: &id001 !ruby/object:Gem::Requirement
@@ -27,10 +27,10 @@ dependencies:
27
27
  segments:
28
28
  - 0
29
29
  version: "0"
30
+ type: :runtime
30
31
  version_requirements: *id001
31
32
  name: httparty
32
33
  prerelease: false
33
- type: :runtime
34
34
  - !ruby/object:Gem::Dependency
35
35
  requirement: &id002 !ruby/object:Gem::Requirement
36
36
  none: false
@@ -41,10 +41,10 @@ dependencies:
41
41
  segments:
42
42
  - 0
43
43
  version: "0"
44
+ type: :development
44
45
  version_requirements: *id002
45
46
  name: shoulda
46
47
  prerelease: false
47
- type: :development
48
48
  - !ruby/object:Gem::Dependency
49
49
  requirement: &id003 !ruby/object:Gem::Requirement
50
50
  none: false
@@ -56,10 +56,10 @@ dependencies:
56
56
  - 3
57
57
  - 12
58
58
  version: "3.12"
59
+ type: :development
59
60
  version_requirements: *id003
60
61
  name: rdoc
61
62
  prerelease: false
62
- type: :development
63
63
  - !ruby/object:Gem::Dependency
64
64
  requirement: &id004 !ruby/object:Gem::Requirement
65
65
  none: false
@@ -72,10 +72,10 @@ dependencies:
72
72
  - 1
73
73
  - 3
74
74
  version: 1.1.3
75
+ type: :development
75
76
  version_requirements: *id004
76
77
  name: bundler
77
78
  prerelease: false
78
- type: :development
79
79
  - !ruby/object:Gem::Dependency
80
80
  requirement: &id005 !ruby/object:Gem::Requirement
81
81
  none: false
@@ -88,10 +88,10 @@ dependencies:
88
88
  - 8
89
89
  - 4
90
90
  version: 1.8.4
91
+ type: :development
91
92
  version_requirements: *id005
92
93
  name: jeweler
93
94
  prerelease: false
94
- type: :development
95
95
  - !ruby/object:Gem::Dependency
96
96
  requirement: &id006 !ruby/object:Gem::Requirement
97
97
  none: false
@@ -102,10 +102,10 @@ dependencies:
102
102
  segments:
103
103
  - 0
104
104
  version: "0"
105
+ type: :development
105
106
  version_requirements: *id006
106
107
  name: rcov
107
108
  prerelease: false
108
- type: :development
109
109
  - !ruby/object:Gem::Dependency
110
110
  requirement: &id007 !ruby/object:Gem::Requirement
111
111
  none: false
@@ -118,10 +118,10 @@ dependencies:
118
118
  - 8
119
119
  - 3
120
120
  version: 0.8.3
121
+ type: :runtime
121
122
  version_requirements: *id007
122
123
  name: httparty
123
124
  prerelease: false
124
- type: :runtime
125
125
  - !ruby/object:Gem::Dependency
126
126
  requirement: &id008 !ruby/object:Gem::Requirement
127
127
  none: false
@@ -134,10 +134,10 @@ dependencies:
134
134
  - 3
135
135
  - 6
136
136
  version: 1.3.6
137
+ type: :runtime
137
138
  version_requirements: *id008
138
139
  name: multi_json
139
140
  prerelease: false
140
- type: :runtime
141
141
  description: Client library to fetch and manage data bags from a server. Databags can be used for settings, app configurations and arbitrary json data.
142
142
  email: kiessler@inceedo.com
143
143
  executables: []
@@ -189,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
189
189
  requirements: []
190
190
 
191
191
  rubyforge_project:
192
- rubygems_version: 1.8.24
192
+ rubygems_version: 1.8.25
193
193
  signing_key:
194
194
  specification_version: 3
195
195
  summary: Client for a Data Bag server