Module: MotionRealm::ClassMethods

Defined in:
lib/project/motion-realm.rb

Instance Method Summary collapse

Instance Method Details

#countObject



23
24
25
# File 'lib/project/motion-realm.rb', line 23

def count
  all.count
end

#create(opts = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/project/motion-realm.rb', line 7

def create(opts={})
  # # Does not work correct in current version of RM or Realm:
  # self.alloc.initWithValue opts

  object = self.new
  opts.each do |key, value|
    method_name = "set" + key.to_s.capitalize
    method_name = key.to_s + "="

    object.send(method_name, value)
  end

  object

end

#create_or_update(object, realm = nil) ⇒ Object



82
83
84
85
86
87
88
# File 'lib/project/motion-realm.rb', line 82

def create_or_update(object, realm=nil)
  if realm.nil?
    realm = RLMRealm.default
  end

  self.createOrUpdateInRealm realm, withValue: object
end

#default_valuesObject



58
59
60
# File 'lib/project/motion-realm.rb', line 58

def default_values
  {}
end

#defaultPropertyValuesObject



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/project/motion-realm.rb', line 35

def defaultPropertyValues
  # set all properties to nil
  values = {}

  self.schema.properties.each do |property|
    property_name = property.name

    values[property_name] = if default_values[property_name]
      default_values[property_name]
    elsif property.bool?
      false
    elsif property.number? || property.mixed?
      0
    elsif property.array?
      []
    else
      nil
    end
  end

  values
end

#delete_allObject



90
91
92
93
94
# File 'lib/project/motion-realm.rb', line 90

def delete_all
  RLMRealm.write do |realm|
    self.all.each { |object| realm.delete(object) }
  end
end

#firstObject



27
28
29
# File 'lib/project/motion-realm.rb', line 27

def first
  all.first
end

#indexedPropertiesObject



62
63
64
# File 'lib/project/motion-realm.rb', line 62

def indexedProperties
  indexes
end

#indexesObject



66
67
68
# File 'lib/project/motion-realm.rb', line 66

def indexes
  []
end

#lastObject



31
32
33
# File 'lib/project/motion-realm.rb', line 31

def last
  all.last
end

#primary_keyObject



74
75
76
# File 'lib/project/motion-realm.rb', line 74

def primary_key
  nil
end

#primaryKeyObject



70
71
72
# File 'lib/project/motion-realm.rb', line 70

def primaryKey
  primary_key
end

#where(query) ⇒ Object



78
79
80
# File 'lib/project/motion-realm.rb', line 78

def where(query)
  self.objectsWhere(query)
end