opendelivery 0.1.25 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/opendelivery/domain.rb +16 -2
  2. metadata +34 -2
@@ -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 = nil
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.1.25
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-11-18 00:00:00.000000000 Z
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