Class: Jaxx::Process

Inherits:
Object
  • Object
show all
Defined in:
lib/jaxx/process.rb

Constant Summary collapse

PRIVACIES =
%w[public private]

Instance Attribute Summary collapse

Instance Method Summary collapse

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_keyObject (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_secretObject (readonly)

Returns the value of attribute access_secret.



8
9
10
# File 'lib/jaxx/process.rb', line 8

def access_secret
  @access_secret
end

#bucketObject (readonly)

Returns the value of attribute bucket.



8
9
10
# File 'lib/jaxx/process.rb', line 8

def bucket
  @bucket
end

#fileObject (readonly)

Returns the value of attribute file.



8
9
10
# File 'lib/jaxx/process.rb', line 8

def file
  @file
end

#privacyObject (readonly)

Returns the value of attribute privacy.



8
9
10
# File 'lib/jaxx/process.rb', line 8

def privacy
  @privacy
end

#validationsObject (readonly)

Returns the value of attribute validations.



8
9
10
# File 'lib/jaxx/process.rb', line 8

def validations
  @validations
end

Instance Method Details

#credentialsObject



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

Returns:

  • (Boolean)


19
20
21
# File 'lib/jaxx/process.rb', line 19

def private?
  privacy.to_s == 'private'
end

#public?Boolean

Returns:

  • (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

#validateObject 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