ncmb-ruby-client 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e65e1b5191a72496c2e4a2e9d8ab68c763c2ed8a
4
- data.tar.gz: 68d517fcc314a76e414fd7aa7c102620c3354b0a
2
+ SHA256:
3
+ metadata.gz: 325cb5e8ea166ccd9c833479bf76b39cb808d960732ade4362b98c853c3e93dc
4
+ data.tar.gz: 9d416ff772a6be5ed268b644dd9e21b6d727d564d2fa453164604ac755d4c9ff
5
5
  SHA512:
6
- metadata.gz: 023b10a8a2fc0e80b599bfea180b8f702fd10ec18a6365512ff30e3f321d673494ceed1a9bb82194b8cb2a0e4273be8c428e99ca3a7e56a785979b42b89b92a3
7
- data.tar.gz: 091f60a5952d5d34c1dfcc04bdac6cb463cf1fd08a8fde9c596c17344b72de396675dee5ad4f1e6f830e683f116f04bc7b6aa7c289f88b303b2310434dac5d11
6
+ metadata.gz: a4ff1e970aa5f31b78a48d92a6ac5b18fa64a926e724a9c1cd7675180c8e31a06ef37447c611e59f079940d885e8610fb996b0c2d5d6f22efc53f5dd14075167
7
+ data.tar.gz: 67fd00eb2d8d924e5b8d07c4cdda94753b9f8b61166b65dc31e2c705d23592f63cd3f68ae17ff73e0ae0a71d3289c809b4bce0aef758d1b2f2851fc2bb0b0309
data/.gitignore CHANGED
@@ -17,3 +17,4 @@ test/version_tmp
17
17
  tmp
18
18
  setting.yml
19
19
  .DS_Store
20
+ vendor/
data/.rubocop.yml ADDED
@@ -0,0 +1,2 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.3
data/Gemfile CHANGED
@@ -1,6 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
4
+
5
+ gem 'mime-types'
2
6
  gem 'simplecov'
3
7
  gem 'simplecov-gem-profile'
4
- gem 'mime-types'
5
8
  # Specify your gem's dependencies in ncmb-ruby-client.gemspec
6
9
  gemspec
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  ncmb-ruby-client
2
2
  ================
3
3
 
4
- A simple Ruby client for the nifty cloud mobile backend REST API
4
+ A simple Ruby client for the nifty cloud mobile backend REST API. This is developer preview.
5
5
 
6
6
  Basic Usage
7
7
  -----------
@@ -47,4 +47,109 @@ else
47
47
  end
48
48
  ```
49
49
 
50
- [ニフティクラウド mobile backend](http://mb.cloud.nifty.com/)
50
+ ## Unit test
51
+
52
+ ### Settings
53
+ * Install libraries
54
+ ```
55
+ bundle install
56
+ ```
57
+ * Rename file `setting_default.yml` to `setting.yml` and then fill you `application_key`, `client_key`
58
+
59
+ ### Run unit test
60
+ Run `spec` task:
61
+ ```
62
+ rake spec
63
+ ```
64
+
65
+ ## Run all examples
66
+
67
+ Run `examples` task:
68
+
69
+ ```
70
+ rake examples
71
+ ```
72
+
73
+ Or you can run every single example
74
+
75
+ ```
76
+ ruby examples/example_file_name.rb
77
+ ```
78
+
79
+ ## Test script
80
+
81
+ Before run `examples/script.rb`, you should upload the below script files to Script function on the Console screen.
82
+
83
+ ### helloworld.js
84
+
85
+ * File Name: helloworld.js
86
+ * Method: GET
87
+ * File Status: Executable
88
+ ```javascript
89
+ module.exports = function(req, res) {
90
+ res.send('{"msg":"Hello World!"}');
91
+ }
92
+ ```
93
+
94
+ ### helloworld2.js
95
+
96
+ * File Name: helloworld2.js
97
+ * Method: GET
98
+ * File Status: Executable
99
+ ```javascript
100
+ module.exports = function(req, res) {
101
+ if (req.query.name) {
102
+ res.send('{"msg":"Hello ' + req.query.name +'!"}');
103
+ } else {
104
+ res.send('{"msg":"Hello World!"}');
105
+ }
106
+ }
107
+ ```
108
+
109
+ ### email.js
110
+
111
+ * File Name: email.js
112
+ * Method: POST
113
+ * File Status: Executable
114
+
115
+ (Don't forget to change `YOUR-APPLICATION-KEY` and `YOUR-CLIENT-KEY` to your value before upload.)
116
+
117
+ ```javascript
118
+ function saveData(req, res) {
119
+ // POSTのデータを取得
120
+ var email = req.body.email;
121
+ var message = req.body.body;
122
+
123
+ var NCMB = require('ncmb');
124
+ var ncmb = new NCMB('YOUR-APPLICATION-KEY', 'YOUR-CLIENT-KEY');
125
+
126
+ // データを保存する
127
+ var Item = ncmb.DataStore('Item');
128
+ var item = new Item();
129
+ item.set("email", email)
130
+ .set("message", message)
131
+ .save()
132
+ .then(function(item){
133
+ // 成功
134
+ res.send('{"msg":"POST data successfully!"}');
135
+
136
+ })
137
+ .catch(function(err){
138
+ // 失敗
139
+ res.send('{"msg":"' + err + '"}');
140
+ });
141
+ }
142
+
143
+ module.exports = saveData;
144
+ ```
145
+
146
+ ## Environment to confirm
147
+
148
+ * Ruby v2.7.3 - Bundler version 2.1.4
149
+ * Ruby v3.0.1 - Bundler version 2.2.15
150
+
151
+ ## License
152
+
153
+ MIT.
154
+
155
+ [ニフクラ mobile backend](https://mbaas.nifcloud.com/)
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
 
3
5
  Bundler.setup
@@ -6,4 +8,8 @@ require 'rspec/core/rake_task'
6
8
  desc "run spec"
7
9
  RSpec::Core::RakeTask.new(:spec) do |t|
8
10
  t.rspec_opts = ["--color", "--format documentation"]
11
+ end
12
+
13
+ task :examples do
14
+ FileList['examples/*.rb'].each { |file| ruby file }
9
15
  end
data/examples/acl_test.rb CHANGED
@@ -1,16 +1,22 @@
1
- $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
- $:.unshift(File.dirname(__FILE__))
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+
3
6
  require 'rubygems'
4
7
  require 'ncmb'
5
8
  require 'yaml'
6
9
  yaml = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'setting.yml'))
7
- NCMB.initialize application_key: yaml['application_key'], client_key: yaml['client_key']
10
+ NCMB.initialize(
11
+ application_key: yaml['application_key'],
12
+ client_key: yaml['client_key']
13
+ )
8
14
 
9
15
  @users = []
10
16
 
11
17
  @ids = [
12
- {id: 'testUser1', password: 'testPassword1'},
13
- {id: 'testUser2', password: 'testPassword2'}
18
+ { id: 'testUser1', password: 'testPassword1' },
19
+ { id: 'testUser2', password: 'testPassword2' }
14
20
  ]
15
21
  @ids.each do |hash|
16
22
  @user = NCMB::User.login(hash[:id], hash[:password])
@@ -37,7 +43,7 @@ end
37
43
  @item.acl.public('write', false)
38
44
  @item.acl.user(@users[0], 'read', true)
39
45
  @item.acl.user(@users[0], 'write', true)
40
- @role = NCMB::Role.find_or_create("manager2")
46
+ @role = NCMB::Role.find_or_create('manager2')
41
47
 
42
48
  @item.acl.role(@role, 'read', true)
43
49
  @item.acl.role(@role, 'write', true)
data/examples/csv_test.rb CHANGED
@@ -1,23 +1,32 @@
1
- $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
- $:.unshift(File.dirname(__FILE__))
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+
3
6
  require 'rubygems'
4
7
  require 'ncmb'
5
8
  require 'yaml'
6
9
  require 'csv'
7
10
 
8
11
  yaml = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'setting.yml'))
9
- NCMB.initialize application_key: yaml['application_key'], client_key: yaml['client_key']
12
+ NCMB.initialize(
13
+ application_key: yaml['application_key'],
14
+ client_key: yaml['client_key']
15
+ )
10
16
  @todo = NCMB::DataStore.new 'TestClass'
11
- 1000.times do |i|
12
- @todo.post(message: "Hello! #{i}")
17
+ 20.times do |i|
18
+ item = @todo.new
19
+ item.set('message', "Hello! #{i}")
20
+ item.save
13
21
  end
14
- @todos = @todo.limit(20).count(1).skip(0)
22
+
23
+ @todos = @todo.limit(10).skip(0)
15
24
 
16
25
  csv_string = CSV.generate do |csv|
17
- csv << @todos.first.columns
26
+ csv << @todos.first.fields.keys
18
27
  @todos.each do |todo|
19
28
  params = []
20
- todo.columns.each do |name|
29
+ todo.fields.keys.each do |name|
21
30
  params << todo.call(name)
22
31
  end
23
32
  csv << params
@@ -1,10 +1,16 @@
1
- $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
- $:.unshift(File.dirname(__FILE__))
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+
3
6
  require 'rubygems'
4
7
  require 'ncmb'
5
8
  require 'yaml'
6
9
  yaml = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'setting.yml'))
7
- NCMB.initialize application_key: yaml['application_key'], client_key: yaml['client_key']
10
+ NCMB.initialize(
11
+ application_key: yaml['application_key'],
12
+ client_key: yaml['client_key']
13
+ )
8
14
 
9
15
  example = NCMB::DataStore.new 'Example'
10
16
  example.delete_all
@@ -14,7 +20,7 @@ example.delete_all
14
20
  item.set('String', "テスト#{i}00")
15
21
  item.set('Integer', i)
16
22
  item.set('Boolean', true)
17
- item.set('Array', [i, i * 2, i * 3, "Orange", "Tomato"])
23
+ item.set('Array', [i, i * 2, i * 3, 'Orange', 'Tomato'])
18
24
  item.set('Object', {test1: 'a', test2: 'b'})
19
25
  item.set('Location', NCMB::GeoPoint.new((i + 1) * 10, (i + 2) * 5))
20
26
  item.set('MultipleLine', "test\ntest\n")
@@ -37,7 +43,8 @@ geo1 = NCMB::GeoPoint.new(50, 30);
37
43
  geo2 = NCMB::GeoPoint.new(51, 31);
38
44
 
39
45
  # @todo = @todo.limit(20).withinKilometers("Location", geo1, 1000)
40
- example = example.limit(1).withinSquare("Location", geo1, geo2)
46
+
47
+ example = example.limit(1).withinSquare('Location', geo1, geo2)
41
48
  begin
42
49
  example.each_with_index do |item, i|
43
50
  puts item[:String]
@@ -50,6 +57,7 @@ begin
50
57
  # item.update
51
58
  end
52
59
  rescue NCMB::FetchError => e
60
+ puts e
53
61
  puts example.error
54
62
  end
55
63
 
@@ -1,30 +1,36 @@
1
- $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
- $:.unshift(File.dirname(__FILE__))
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+
3
6
  require 'rubygems'
4
7
  require 'ncmb'
5
8
  require 'yaml'
6
9
  require 'open-uri'
7
10
  yaml = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'setting.yml'))
8
- NCMB.initialize application_key: yaml['application_key'], client_key: yaml['client_key']
11
+ NCMB.initialize(
12
+ application_key: yaml['application_key'],
13
+ client_key: yaml['client_key']
14
+ )
9
15
 
10
- f = NCMB::NFile.new('http://mb.cloud.nifty.com/assets/images/logo.png')
16
+ f = NCMB::NFile.new('https://mbaas.nifcloud.com/assets/images/logo.png')
11
17
  f.acl.public('read', true)
12
18
  f.acl.public('write', true)
13
- f.fileName = "test.png"
19
+ f.fileName = 'test.png'
14
20
  f.save()
15
- puts "Uploaded"
21
+ puts 'Uploaded'
16
22
  f.file = 'http://k.yimg.jp/images/top/sp2/cmn/logo-ns_d_131205.png'
17
23
  f.update()
18
- puts "Updated"
24
+ puts 'Updated'
19
25
  f.delete()
20
- puts "Deleted"
26
+ puts 'Deleted'
21
27
 
22
- f = NCMB::NFile.new('http://mb.cloud.nifty.com/assets/images/logo.png')
28
+ f = NCMB::NFile.new('https://mbaas.nifcloud.com/assets/images/logo.png')
23
29
  f.acl.public('read', true)
24
30
  f.acl.public('write', true)
25
- f.fileName = "test.png"
31
+ f.fileName = 'test.png'
26
32
  f.save()
27
- file = NCMB::NFile.new("test.png")
28
- fp = open("test.png", "w")
33
+ file = NCMB::NFile.new('test.png')
34
+ fp = open('test.png', 'w')
29
35
  fp.write(file.get)
30
36
  fp.close
@@ -1,10 +1,16 @@
1
- $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
- $:.unshift(File.dirname(__FILE__))
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+
3
6
  require 'rubygems'
4
7
  require 'ncmb'
5
8
  require 'yaml'
6
9
  yaml = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'setting.yml'))
7
- NCMB.initialize application_key: yaml['application_key'], client_key: yaml['client_key']
10
+ NCMB.initialize(
11
+ application_key: yaml['application_key'],
12
+ client_key: yaml['client_key']
13
+ )
8
14
 
9
15
  example = NCMB::DataStore.new 'Example'
10
16
 
@@ -12,13 +18,13 @@ require 'benchmark'
12
18
 
13
19
  ary = []
14
20
  Benchmark.bm 10 do |r|
15
- r.report "Save DataStore" do
21
+ r.report 'Save DataStore' do
16
22
  100.times do |i|
17
23
  item = example.new
18
24
  item.set('String', "テスト#{i}00")
19
25
  item.set('Integer', i)
20
26
  item.set('Boolean', true)
21
- item.set('Array', [i, i * 2, i * 3, "Orange", "Tomato"])
27
+ item.set('Array', [i, i * 2, i * 3, 'Orange', 'Tomato'])
22
28
  item.set('Object', {test1: 'a', test2: 'b'})
23
29
  item.set('Location', NCMB::GeoPoint.new(30, 50))
24
30
  item.set('MultipleLine', "test\ntest\n")
@@ -28,7 +34,7 @@ Benchmark.bm 10 do |r|
28
34
  ary << item.objectId
29
35
  end
30
36
  end
31
- r.report "Delete objects" do
37
+ r.report 'Delete objects' do
32
38
  ary.each do |objectId|
33
39
  item = example.new(objectId: objectId)
34
40
  item.delete
@@ -1,16 +1,22 @@
1
- $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
- $:.unshift(File.dirname(__FILE__))
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+
3
6
  require 'rubygems'
4
7
  require 'ncmb'
5
8
  require 'yaml'
6
9
  yaml = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'setting.yml'))
7
- NCMB.initialize application_key: yaml['application_key'], client_key: yaml['client_key']
10
+ NCMB.initialize(
11
+ application_key: yaml['application_key'],
12
+ client_key: yaml['client_key']
13
+ )
8
14
 
9
15
  Parent = NCMB::DataStore.new 'Parent'
10
16
 
11
17
  Child = NCMB::DataStore.new 'Child'
12
- child = Child.new(name: "Taro")
13
- parent = Parent.new(name: "Oya")
18
+ child = Child.new(name: 'Taro')
19
+ parent = Parent.new(name: 'Oya')
14
20
  parent.child = child
15
21
  parent.save
16
22
 
data/examples/push.rb CHANGED
@@ -1,18 +1,24 @@
1
- $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
- $:.unshift(File.dirname(__FILE__))
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+
3
6
  require 'rubygems'
4
7
  require 'ncmb'
5
8
  require 'yaml'
6
9
  yaml = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'setting.yml'))
7
- NCMB.initialize application_key: yaml['application_key'], client_key: yaml['client_key']
10
+ NCMB.initialize(
11
+ application_key: yaml['application_key'],
12
+ client_key: yaml['client_key']
13
+ )
8
14
 
9
15
  @push = NCMB::Push.new
10
16
  @push.immediateDeliveryFlag = true
11
17
  @push.target = ['ios']
12
- @push.message = "This is test message"
13
- @push.deliveryExpirationTime = "3 day"
18
+ @push.message = 'This is test message'
19
+ @push.deliveryExpirationTime = '3 day'
14
20
  if @push.save
15
- puts "Push save successful."
21
+ puts 'Push save successful.'
16
22
  else
17
- puts "Push save faild."
23
+ puts 'Push save faild.'
18
24
  end