Class: NCMB::Object
- Inherits:
-
Object
show all
- Includes:
- NCMB
- Defined in:
- lib/ncmb/object.rb
Direct Known Subclasses
User
Constant Summary
Constants included
from NCMB
API_VERSION, DOMAIN
Instance Method Summary
collapse
Methods included from NCMB
CurrentUser, initialize
Constructor Details
#initialize(name, fields = {}, alc = "") ⇒ Object
Returns a new instance of Object.
5
6
7
8
9
|
# File 'lib/ncmb/object.rb', line 5
def initialize(name, fields = {}, alc = "")
@name = name
@alc = alc
@fields = fields
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name) ⇒ Object
15
16
17
18
19
20
21
22
|
# File 'lib/ncmb/object.rb', line 15
def method_missing(name)
sym = name.to_sym
if @fields.has_key?(sym)
return @fields[sym]
else
raise NoMethodError, "#{name} is not found"
end
end
|
Instance Method Details
32
33
34
|
# File 'lib/ncmb/object.rb', line 32
def [](key)
@fields[key]
end
|
#call(name) ⇒ Object
28
29
30
|
# File 'lib/ncmb/object.rb', line 28
def call(name)
@fields[name.to_sym] || NoMethodError
end
|
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/ncmb/object.rb', line 56
def delete
path = "/#{@@client.api_version}/classes/#{@name}/#{@fields[:objectId]}"
response = @@client.delete path, {}
if response == true
return true
else
@@last_error = response
return false
end
end
|
67
68
69
|
# File 'lib/ncmb/object.rb', line 67
def error
@@last_error
end
|
11
12
13
|
# File 'lib/ncmb/object.rb', line 11
def fields
@fields
end
|
#post ⇒ Object
Also known as:
save
36
37
38
39
40
41
|
# File 'lib/ncmb/object.rb', line 36
def post
path = "/#{@@client.api_version}/classes/#{@name}"
result = @@client.post path, @fields
@fields.merge!(result)
self
end
|
#put ⇒ Object
Also known as:
update
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/ncmb/object.rb', line 44
def put
path = "/#{@@client.api_version}/classes/#{@name}/#{@fields[:objectId]}"
params = @fields
params.delete :objectId
params.delete :createDate
params.delete :updateDate
result = @@client.put path, params
@fields[:updateDate] = result[:updateDate]
self
end
|
#set(name, value) ⇒ Object
24
25
26
|
# File 'lib/ncmb/object.rb', line 24
def set(name, value)
@fields[name.to_sym] = value
end
|