ncmb-ruby-client 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|