Class: Ncmb::DataStore

Inherits:
Client
  • Object
show all
Defined in:
lib/ncmb_rb_wrapper.rb

Instance Method Summary collapse

Methods inherited from Client

#batch, #data, #file

Constructor Details

#initialize(application_key, client_key, klass = nil) ⇒ DataStore

Returns a new instance of DataStore.



118
119
120
121
# File 'lib/ncmb_rb_wrapper.rb', line 118

def initialize(application_key, client_key, klass = nil)
  @klass = klass
  super(application_key, client_key)
end

Instance Method Details

#all(klass = @klass) ⇒ Object



146
147
148
149
# File 'lib/ncmb_rb_wrapper.rb', line 146

def all(klass = @klass)
  validate_klass klass
  super_get("/classes/#{klass}")
end

#batch_delete(array_query) ⇒ Object

array_query = [

'XXXXXXXX',
'YYYYYYYY'

]



238
239
240
241
242
243
244
245
246
247
248
# File 'lib/ncmb_rb_wrapper.rb', line 238

def batch_delete(array_query)
  validate_klass @klass
  array_request = array_query.map do |id|
    {
      method: :DELETE,
      path: "#{@api_version}/classes/#{@klass}/#{id}",
      body: {}
    }
  end
  batch_response batch(array_request)
end

#batch_post(array_query) ⇒ Object

array_query = [

{foo: :bar},
{hoge: :fuga}

]



191
192
193
194
195
196
197
198
199
200
201
# File 'lib/ncmb_rb_wrapper.rb', line 191

def batch_post(array_query)
  validate_klass @klass
  array_request = array_query.map do |query|
    {
      method: :POST,
      path: "#{@api_version}/classes/#{@klass}",
      body: query
    }
  end
  batch_response batch(array_request)
end

#batch_put(array_query) ⇒ Object

array_query = [

{id: 'XXXXXXXX', query: {foo: :baz}},
{id: 'YYYYYYYY', query: {hoge: :piyo}}

] array_query = [

['XXXXXXXX', {foo: :baz}],
['YYYYYYYY', {hoge: :piyo}}

]



211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
# File 'lib/ncmb_rb_wrapper.rb', line 211

def batch_put(array_query)
  validate_klass @klass
  array_request = array_query.map do |obj|
    case obj
    when Array
      {
        method: :PUT,
        path: "#{@api_version}/classes/#{@klass}/#{obj[0]}",
        body: obj[1]
      }
    when Hash
      {
        method: :PUT,
        path: "#{@api_version}/classes/#{@klass}/#{obj[:id]}",
        body: obj[:query]
      }
    else
      {}
    end
  end
  batch_response batch(array_request)
end

#delete(id, klass = @klass) ⇒ Object



141
142
143
144
# File 'lib/ncmb_rb_wrapper.rb', line 141

def delete(id, klass = @klass)
  validate_klass klass
  super("/classes/#{klass}/#{id}")
end

#destroy(id, klass = @klass) ⇒ Object

syntax sugar of delete



180
181
182
# File 'lib/ncmb_rb_wrapper.rb', line 180

def destroy(id, klass = @klass)
  delete(id, klass)
end

#find(hash_query = {}, klass = @klass) ⇒ Object

syntax sugar of search



165
166
167
# File 'lib/ncmb_rb_wrapper.rb', line 165

def find(hash_query = {}, klass = @klass)
  search(hash_query, klass)
end

#get(id, klass = @klass) ⇒ Object



131
132
133
134
# File 'lib/ncmb_rb_wrapper.rb', line 131

def get(id, klass = @klass)
  validate_klass klass
  super("/classes/#{klass}/#{id}")
end

#post(hash_query = {}, klass = @klass) ⇒ Object

# # DataStore method



126
127
128
129
# File 'lib/ncmb_rb_wrapper.rb', line 126

def post(hash_query = {}, klass = @klass)
  validate_klass klass
  super("/classes/#{klass}", hash_query)
end

#put(id, hash_query, klass = @klass) ⇒ Object



136
137
138
139
# File 'lib/ncmb_rb_wrapper.rb', line 136

def put(id, hash_query, klass = @klass)
  validate_klass klass
  super("/classes/#{klass}/#{id}", hash_query)
end

#save(hash_query = {}, klass = @klass) ⇒ Object

syntax sugar of post



170
171
172
# File 'lib/ncmb_rb_wrapper.rb', line 170

def save(hash_query = {}, klass = @klass)
  post(hash_query, klass)
end

#search(hash_query = {}, klass = @klass) ⇒ Object



156
157
158
159
# File 'lib/ncmb_rb_wrapper.rb', line 156

def search(hash_query = {}, klass = @klass)
  validate_klass klass
  super_get("/classes/#{klass}", hash_query)
end

#super_getObject



116
# File 'lib/ncmb_rb_wrapper.rb', line 116

alias :super_get :get

#update(id, hash_query, klass = @klass) ⇒ Object

syntax sugar of put



175
176
177
# File 'lib/ncmb_rb_wrapper.rb', line 175

def update(id, hash_query, klass = @klass)
  put(id, hash_query, klass)
end

#where(hash_query, klass = @klass) ⇒ Object



151
152
153
154
# File 'lib/ncmb_rb_wrapper.rb', line 151

def where(hash_query, klass = @klass)
  validate_klass klass
  super_get("/classes/#{klass}", where: hash_query)
end