opendelivery 0.1.25 → 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/lib/opendelivery/domain.rb +16 -2
- metadata +34 -2
data/lib/opendelivery/domain.rb
CHANGED
@@ -1,9 +1,12 @@
|
|
1
1
|
require 'aws-sdk'
|
2
|
+
require 'encrypto_signo'
|
2
3
|
|
3
4
|
module OpenDelivery
|
4
5
|
class Domain
|
5
6
|
|
6
|
-
def initialize(region=nil)
|
7
|
+
def initialize(region=nil, key_path=nil)
|
8
|
+
@key_path = File.read(key_path) unless key_path.nil?
|
9
|
+
|
7
10
|
if region.nil?
|
8
11
|
@sdb = AWS::SimpleDB.new
|
9
12
|
else
|
@@ -37,11 +40,16 @@ module OpenDelivery
|
|
37
40
|
end
|
38
41
|
end
|
39
42
|
|
43
|
+
def get_encrypted_property(domain, item_name, key, index=0, name=nil)
|
44
|
+
value = get_property(domain, item_name, key, index, name)
|
45
|
+
decrypted_value = EncryptoSigno.decrypt(@key_path, value.chomp)
|
46
|
+
end
|
47
|
+
|
40
48
|
# Look for AWS::Some:Type|MyItemName or just AWS::Some::Type.
|
41
49
|
|
42
50
|
def get_property(domain, item_name, key, index=0, name=nil)
|
43
51
|
property_value = nil
|
44
|
-
attribute
|
52
|
+
attribute = nil
|
45
53
|
|
46
54
|
AWS::SimpleDB.consistent_reads do
|
47
55
|
item = @sdb.domains[domain].items[item_name]
|
@@ -90,8 +98,14 @@ module OpenDelivery
|
|
90
98
|
return property_value
|
91
99
|
end
|
92
100
|
|
101
|
+
def set_encrypted_property(domain, item_name, key, value, name=nil)
|
102
|
+
encrypted_value = EncryptoSigno.encrypt(@key_path, value.chomp)
|
103
|
+
set_property(domain, item_name, key, encrypted_value, name)
|
104
|
+
end
|
105
|
+
|
93
106
|
def set_property(domain, item_name, key, value, name=nil)
|
94
107
|
if name then key = key + "|" + name end
|
108
|
+
|
95
109
|
AWS::SimpleDB.consistent_reads do
|
96
110
|
item = @sdb.domains[domain].items[item_name]
|
97
111
|
item.attributes.set(key => [value])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opendelivery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-
|
14
|
+
date: 2013-12-04 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rspec
|
@@ -77,6 +77,38 @@ dependencies:
|
|
77
77
|
- - '='
|
78
78
|
- !ruby/object:Gem::Version
|
79
79
|
version: 1.16.0
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: encrypto_signo
|
82
|
+
requirement: !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - '='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 1.0.0
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - '='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 1.0.0
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: encrypto_signo
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.0.0
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
108
|
+
requirements:
|
109
|
+
- - '='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 1.0.0
|
80
112
|
- !ruby/object:Gem::Dependency
|
81
113
|
name: aws-sdk
|
82
114
|
requirement: !ruby/object:Gem::Requirement
|