ncmb-ruby-client 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/examples/performance.rb +38 -0
- data/examples/pointer_test.rb +16 -0
- data/examples/relation.rb +22 -0
- data/lib/ncmb.rb +1 -0
- data/lib/ncmb/acl.rb +1 -1
- data/lib/ncmb/object.rb +26 -0
- data/lib/ncmb/relation.rb +24 -0
- data/lib/ncmb/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9dc6e5511f6ca2807e381b8b30e46c7564f0e0e2
|
4
|
+
data.tar.gz: 8b103fbf74d9e3a0536b34fa1c8339dba15128fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64d06fa4dd1bee428bb610a12b88a2bead91d5f54d9113af10a3551b2037cd3f49a6d430586d2632462a5f367cc12ddd768753a035c79d45879e0a17b8c8c8e6
|
7
|
+
data.tar.gz: 96a493b26c18838f7fd7c5bab128a14243febbca8a8cda36c25aa46fc3bc2d95a328c14c0fcf67925a0bbb87c396e883e4187aea7e07d97a9430e5fd8b092c4a
|
@@ -0,0 +1,38 @@
|
|
1
|
+
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
$:.unshift(File.dirname(__FILE__))
|
3
|
+
require 'rubygems'
|
4
|
+
require 'ncmb'
|
5
|
+
require 'yaml'
|
6
|
+
yaml = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'setting.yml'))
|
7
|
+
NCMB.initialize application_key: yaml['application_key'], client_key: yaml['client_key']
|
8
|
+
|
9
|
+
example = NCMB::DataStore.new 'Example'
|
10
|
+
|
11
|
+
require 'benchmark'
|
12
|
+
|
13
|
+
ary = []
|
14
|
+
Benchmark.bm 10 do |r|
|
15
|
+
r.report "Save DataStore" do
|
16
|
+
100.times do |i|
|
17
|
+
item = example.new
|
18
|
+
item.set('String', "テスト#{i}00")
|
19
|
+
item.set('Integer', i)
|
20
|
+
item.set('Boolean', true)
|
21
|
+
item.set('Array', [i, i * 2, i * 3, "Orange", "Tomato"])
|
22
|
+
item.set('Object', {test1: 'a', test2: 'b'})
|
23
|
+
item.set('Location', NCMB::GeoPoint.new(30, 50))
|
24
|
+
item.set('MultipleLine', "test\ntest\n")
|
25
|
+
item.set('Increment', NCMB::Increment.new(i + 1))
|
26
|
+
item.set('Date', Time.now)
|
27
|
+
item.save
|
28
|
+
ary << item.objectId
|
29
|
+
end
|
30
|
+
end
|
31
|
+
r.report "Delete objects" do
|
32
|
+
ary.each do |objectId|
|
33
|
+
item = example.new(objectId: objectId)
|
34
|
+
item.delete
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
$:.unshift(File.dirname(__FILE__))
|
3
|
+
require 'rubygems'
|
4
|
+
require 'ncmb'
|
5
|
+
require 'yaml'
|
6
|
+
yaml = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'setting.yml'))
|
7
|
+
NCMB.initialize application_key: yaml['application_key'], client_key: yaml['client_key']
|
8
|
+
|
9
|
+
Parent = NCMB::DataStore.new 'Parent'
|
10
|
+
|
11
|
+
Child = NCMB::DataStore.new 'Child'
|
12
|
+
child = Child.new(name: "Taro")
|
13
|
+
parent = Parent.new(name: "Oya")
|
14
|
+
parent.child = child
|
15
|
+
parent.save
|
16
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
$:.unshift(File.dirname(__FILE__))
|
3
|
+
require 'rubygems'
|
4
|
+
require 'ncmb'
|
5
|
+
require 'yaml'
|
6
|
+
yaml = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'setting.yml'))
|
7
|
+
NCMB.initialize application_key: yaml['application_key'], client_key: yaml['client_key']
|
8
|
+
|
9
|
+
Food = NCMB::DataStore.new 'Food'
|
10
|
+
|
11
|
+
Basket = NCMB::DataStore.new('Basket')
|
12
|
+
basket = Basket.new
|
13
|
+
basket.foods = []
|
14
|
+
basket.foods << Food.new(name: "banana", type: "fruit")
|
15
|
+
basket.foods << Food.new(name: "pear", type: "fruit")
|
16
|
+
|
17
|
+
# relation = NCMB::Relation.new
|
18
|
+
# relation << Food.new(name: "banana", type: "fruit", objectId: "test1")
|
19
|
+
# relation << Food.new(name: "pear", type: "fruit", objectId: "test2")
|
20
|
+
|
21
|
+
# puts basket.fields
|
22
|
+
basket.save
|
data/lib/ncmb.rb
CHANGED
data/lib/ncmb/acl.rb
CHANGED
data/lib/ncmb/object.rb
CHANGED
@@ -12,6 +12,10 @@ module NCMB
|
|
12
12
|
@fields
|
13
13
|
end
|
14
14
|
|
15
|
+
def ClassName
|
16
|
+
@name
|
17
|
+
end
|
18
|
+
|
15
19
|
def method_missing(name, value = nil)
|
16
20
|
if name =~ /.*=$/
|
17
21
|
sym = name.to_s.gsub(/(.*?)=$/, '\1').to_sym
|
@@ -56,7 +60,29 @@ module NCMB
|
|
56
60
|
"#{base_path}/#{@fields[:objectId] || '' }"
|
57
61
|
end
|
58
62
|
|
63
|
+
def saved?
|
64
|
+
@fields[:objectId] != nil
|
65
|
+
end
|
66
|
+
|
59
67
|
def post
|
68
|
+
@fields.each do |key, field|
|
69
|
+
if field.is_a?(NCMB::Object)
|
70
|
+
field.save unless field.saved?
|
71
|
+
@fields[key] = {
|
72
|
+
__type: "Pointer",
|
73
|
+
className: field.ClassName,
|
74
|
+
objectId: field.objectId
|
75
|
+
}
|
76
|
+
end
|
77
|
+
if field.is_a?(Array) && field[0].is_a?(NCMB::Object)
|
78
|
+
relation = NCMB::Relation.new
|
79
|
+
field.each do |sub_field|
|
80
|
+
sub_field.save unless sub_field.saved?
|
81
|
+
relation << sub_field
|
82
|
+
end
|
83
|
+
@fields[key] = relation
|
84
|
+
end
|
85
|
+
end
|
60
86
|
result = @@client.post path, @fields
|
61
87
|
@fields.merge!(result)
|
62
88
|
self
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module NCMB
|
2
|
+
class Relation < Array
|
3
|
+
include NCMB
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
|
7
|
+
end
|
8
|
+
|
9
|
+
def to_json(a = "")
|
10
|
+
params = {
|
11
|
+
"__op": "AddRelation",
|
12
|
+
}
|
13
|
+
params["objects"] = []
|
14
|
+
self.each do |obj|
|
15
|
+
params["objects"] << {
|
16
|
+
"__type": "Pointer",
|
17
|
+
"className": obj.ClassName,
|
18
|
+
"objectId": obj.objectId
|
19
|
+
}
|
20
|
+
end
|
21
|
+
params.to_json
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/ncmb/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ncmb-ruby-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Atsushi Nakatsugawa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -68,7 +68,10 @@ files:
|
|
68
68
|
- examples/csv_test.rb
|
69
69
|
- examples/data_store.rb
|
70
70
|
- examples/file_test.rb
|
71
|
+
- examples/performance.rb
|
72
|
+
- examples/pointer_test.rb
|
71
73
|
- examples/push.rb
|
74
|
+
- examples/relation.rb
|
72
75
|
- examples/signature.rb
|
73
76
|
- examples/user_test.rb
|
74
77
|
- examples/venue_search.rb
|
@@ -85,6 +88,7 @@ files:
|
|
85
88
|
- lib/ncmb/object.rb
|
86
89
|
- lib/ncmb/push.rb
|
87
90
|
- lib/ncmb/query.rb
|
91
|
+
- lib/ncmb/relation.rb
|
88
92
|
- lib/ncmb/role.rb
|
89
93
|
- lib/ncmb/user.rb
|
90
94
|
- lib/ncmb/version.rb
|