Class: Jaxx::Process
- Inherits:
-
Object
- Object
- Jaxx::Process
- Defined in:
- lib/jaxx/process.rb
Constant Summary collapse
- PRIVACIES =
%w[public private]
Instance Attribute Summary collapse
-
#access_key ⇒ Object
readonly
Returns the value of attribute access_key.
-
#access_secret ⇒ Object
readonly
Returns the value of attribute access_secret.
-
#bucket ⇒ Object
readonly
Returns the value of attribute bucket.
-
#file ⇒ Object
readonly
Returns the value of attribute file.
-
#privacy ⇒ Object
readonly
Returns the value of attribute privacy.
-
#validations ⇒ Object
readonly
Returns the value of attribute validations.
Instance Method Summary collapse
- #credentials ⇒ Object
-
#initialize(args = {}) ⇒ Process
constructor
A new instance of Process.
- #private? ⇒ Boolean
- #public? ⇒ Boolean
- #start(&block) ⇒ Object
- #validate ⇒ Object (also: #errors)
Constructor Details
#initialize(args = {}) ⇒ Process
Returns a new instance of Process.
10 11 12 13 |
# File 'lib/jaxx/process.rb', line 10 def initialize args = {} @bucket, @access_key, @access_secret, @file, @privacy = args.values_at 'bucket', 'access_key', 'access_secret', 'file', 'privacy', 'validations' @validations = [:bucket, :credentials, :file_presence] + (args['validations'] || []) end |
Instance Attribute Details
#access_key ⇒ Object (readonly)
Returns the value of attribute access_key.
8 9 10 |
# File 'lib/jaxx/process.rb', line 8 def access_key @access_key end |
#access_secret ⇒ Object (readonly)
Returns the value of attribute access_secret.
8 9 10 |
# File 'lib/jaxx/process.rb', line 8 def access_secret @access_secret end |
#bucket ⇒ Object (readonly)
Returns the value of attribute bucket.
8 9 10 |
# File 'lib/jaxx/process.rb', line 8 def bucket @bucket end |
#file ⇒ Object (readonly)
Returns the value of attribute file.
8 9 10 |
# File 'lib/jaxx/process.rb', line 8 def file @file end |
#privacy ⇒ Object (readonly)
Returns the value of attribute privacy.
8 9 10 |
# File 'lib/jaxx/process.rb', line 8 def privacy @privacy end |
#validations ⇒ Object (readonly)
Returns the value of attribute validations.
8 9 10 |
# File 'lib/jaxx/process.rb', line 8 def validations @validations end |
Instance Method Details
#credentials ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/jaxx/process.rb', line 27 def credentials return @credentials unless @credentials.nil? key, secret = access_key.to_s, access_secret.to_s @credentials = if key.empty? or secret.empty? Jaxx.environment.credentials else Jaxx::Environment::DEFAULT_CREDENTIALS.dup.merge!(:aws_access_key_id => key, :aws_secret_access_key => secret) end end |
#private? ⇒ Boolean
19 20 21 |
# File 'lib/jaxx/process.rb', line 19 def private? privacy.to_s == 'private' end |
#public? ⇒ Boolean
23 24 25 |
# File 'lib/jaxx/process.rb', line 23 def public? !private? end |
#start(&block) ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/jaxx/process.rb', line 38 def start &block errs = errors ["Unable to process transaction", format_errors(errs)].flatten.each do |msg| Jaxx.logger.write msg end and raise(RuntimeError) unless errs.empty? block.call(storage) end |
#validate ⇒ Object Also known as: errors
48 49 50 51 52 53 54 |
# File 'lib/jaxx/process.rb', line 48 def validate validations.inject({}) do |hsh, name| validation = send("validate_#{name}") hsh[name] = validation unless validation.nil? hsh end end |