class Ncmb::DataStore

Public Class Methods

new(application_key, client_key, klass = nil) click to toggle source
Calls superclass method Ncmb::Client::new
# File lib/ncmb_rb_wrapper.rb, line 118
def initialize(application_key, client_key, klass = nil)
  @klass = klass
  super(application_key, client_key)
end

Public Instance Methods

all(klass = @klass) click to toggle source
# File lib/ncmb_rb_wrapper.rb, line 146
def all(klass = @klass)
  validate_klass klass
  super_get("/classes/#{klass}")
end
batch_delete(array_query) click to toggle source

array_query = [

'XXXXXXXX',
'YYYYYYYY'

]

# 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) click to toggle source

array_query = [

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

]

# 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) click to toggle source

array_query = [

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

] array_query = [

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

]

# 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) click to toggle source
Calls superclass method Ncmb::Client#delete
# 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) click to toggle source

syntax sugar of delete

# File lib/ncmb_rb_wrapper.rb, line 180
def destroy(id, klass = @klass)
  delete(id, klass)
end
find(hash_query = {}, klass = @klass) click to toggle source

syntax sugar of search

# File lib/ncmb_rb_wrapper.rb, line 165
def find(hash_query = {}, klass = @klass)
  search(hash_query, klass)
end
get(id, klass = @klass) click to toggle source
Calls superclass method Ncmb::Client#get
# File lib/ncmb_rb_wrapper.rb, line 131
def get(id, klass = @klass)
  validate_klass klass
  super("/classes/#{klass}/#{id}")
end
Also aliased as: super_get
post(hash_query = {}, klass = @klass) click to toggle source

# # DataStore method

Calls superclass method Ncmb::Client#post
# 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) click to toggle source
Calls superclass method Ncmb::Client#put
# 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) click to toggle source

syntax sugar of post

# File lib/ncmb_rb_wrapper.rb, line 170
def save(hash_query = {}, klass = @klass)
  post(hash_query, klass)
end
super_get(id, klass = @klass)
Alias for: get
update(id, hash_query, klass = @klass) click to toggle source

syntax sugar of put

# 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) click to toggle source
# 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

Private Instance Methods

batch_response(res) click to toggle source
# File lib/ncmb_rb_wrapper.rb, line 255
def batch_response(res)
  def res.success
    self.map { |r| r['success'] }.compact
  end

  def res.error
    self.map { |r| r['error'] }.compact
  end

  return res
end
validate_klass(klass) click to toggle source
# File lib/ncmb_rb_wrapper.rb, line 251
def validate_klass(klass)
  raise 'NCMB DataStore Class Name is undefined.' if klass.nil?
end