Class: Imaginary::Operation

Inherits:
Object
  • Object
show all
Extended by:
Validators::KeyPresenceValidator
Includes:
RequestHandler
Defined in:
lib/imaginary/operation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Validators::KeyPresenceValidator

exists?, validators

Methods included from RequestHandler

#result

Constructor Details

#initialize(options) ⇒ Operation

Returns a new instance of Operation.



15
16
17
18
19
# File 'lib/imaginary/operation.rb', line 15

def initialize(options)
  self.file_input_address = options[:file]
  options.delete(:file)
  self.options = options
end

Instance Attribute Details

#file_input_addressObject

Returns the value of attribute file_input_address.



6
7
8
# File 'lib/imaginary/operation.rb', line 6

def file_input_address
  @file_input_address
end

#optionsObject

Returns the value of attribute options.



5
6
7
# File 'lib/imaginary/operation.rb', line 5

def options
  @options
end

Instance Method Details

#file_input?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/imaginary/operation.rb', line 11

def file_input?
  !file_input_address.nil?
end

#remote_actionObject



29
30
31
# File 'lib/imaginary/operation.rb', line 29

def remote_action
  self.class.name.split('::').last.downcase
end

#urlObject



33
34
35
36
37
38
39
40
# File 'lib/imaginary/operation.rb', line 33

def url
  [
    Imaginary.configuration.server,
    remote_action,
    '?',
    options.to_query_params
  ].join
end

#valid?Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
27
# File 'lib/imaginary/operation.rb', line 21

def valid?
  self.class.validators.each do |v|
    return false unless v.valid?(options)
  end

  true
end