dbag 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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