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.
- data/README.md +5 -5
- data/VERSION +1 -1
- data/lib/dbag/client.rb +13 -10
- 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.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:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 2
|
9
9
|
- 0
|
10
|
-
version: 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:
|
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.
|
192
|
+
rubygems_version: 1.8.25
|
193
193
|
signing_key:
|
194
194
|
specification_version: 3
|
195
195
|
summary: Client for a Data Bag server
|