Class: Object

Inherits:
BasicObject
Defined in:
lib/mrpin/core/extensions/object.rb

Instance Method Summary collapse

Instance Method Details

#assert(condition, message = 'Assertion failed!') ⇒ Object

Raises:



18
19
20
# File 'lib/mrpin/core/extensions/object.rb', line 18

def assert(condition, message = 'Assertion failed!')
  raise AssertionError, message unless condition
end

#assert_property!(param) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/mrpin/core/extensions/object.rb', line 22

def assert_property!(param)
  result = nil

  if self.respond_to?(:has_key?) && self.has_key?(param)
    result = self[param]
  elsif self.respond_to?(param)
    result = self.send(param)
  else
    assert(false, "Not found params '#{param}'.")
  end

  result
end

#fetch_property(param) ⇒ Object



46
47
48
49
50
# File 'lib/mrpin/core/extensions/object.rb', line 46

def fetch_property(param)
  result = assert_property!(param)
  assert(!result.nil?, "Param '#{param}' is nil")
  result
end

#fetch_property_or_default(param, default) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/mrpin/core/extensions/object.rb', line 52

def fetch_property_or_default(param, default)
  if respond_to?(param) && !self.send(param).nil?
    self.send(param)
  else
    default
  end
end

#get_class_by_name(class_name) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/mrpin/core/extensions/object.rb', line 10

def get_class_by_name(class_name)
  assert(!class_name.nil? && !class_name.empty?, 'Class name must be non nil or empty')

  class_name.split('::').inject(Object) do |mod, class_name|
    mod.const_get(class_name)
  end
end

#get_response_error(exception = nil, response = nil) ⇒ Object



67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/mrpin/core/extensions/object.rb', line 67

def get_response_error(exception = nil, response = nil)
  unless exception.nil?
    response = exception.to_s if response.nil?

    AppInfo.instance.on_server_error(exception.to_s, exception)
  end

  {
      status:   EResponseType::ERT_ERROR,
      response: response
  }
end

#get_response_ok(response = nil) ⇒ Object



60
61
62
63
64
65
# File 'lib/mrpin/core/extensions/object.rb', line 60

def get_response_ok(response = nil)
  {
      status:   EResponseType::ERT_OK,
      response: response
  }
end

#get_var_from_env(name) ⇒ Object



36
37
38
39
40
41
42
43
44
# File 'lib/mrpin/core/extensions/object.rb', line 36

def get_var_from_env(name)
  result = ENV[name]

  if result.nil?
    puts "can't find environment variable #{name}"
  end

  result
end

#update_const(class_obj, const_name, value) ⇒ Object



3
4
5
6
7
8
# File 'lib/mrpin/core/extensions/object.rb', line 3

def update_const(class_obj, const_name, value)
  class_obj.send(:remove_const, const_name) if class_obj.const_defined?(const_name)
  class_obj.const_set(const_name, value)

  nil
end