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.
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