ncmb-ruby-client 0.1.3 → 0.2.0
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 +5 -5
 - data/.gitignore +1 -0
 - data/.rubocop.yml +2 -0
 - data/Gemfile +4 -1
 - data/README.md +107 -2
 - data/Rakefile +6 -0
 - data/examples/acl_test.rb +12 -6
 - data/examples/csv_test.rb +17 -8
 - data/examples/data_store.rb +13 -5
 - data/examples/file_test.rb +18 -12
 - data/examples/performance.rb +12 -6
 - data/examples/pointer_test.rb +11 -5
 - data/examples/push.rb +13 -7
 - data/examples/relation.rb +11 -5
 - data/examples/script.rb +25 -0
 - data/examples/signature.rb +18 -4
 - data/examples/user_test.rb +12 -5
 - data/examples/venue_search.rb +30 -17
 - data/lib/ncmb.rb +23 -20
 - data/lib/ncmb/acl.rb +10 -2
 - data/lib/ncmb/client.rb +35 -19
 - data/lib/ncmb/data_store.rb +2 -0
 - data/lib/ncmb/device.rb +3 -1
 - data/lib/ncmb/error.rb +2 -0
 - data/lib/ncmb/file.rb +3 -1
 - data/lib/ncmb/geo_point.rb +6 -4
 - data/lib/ncmb/increment.rb +2 -0
 - data/lib/ncmb/object.rb +14 -5
 - data/lib/ncmb/push.rb +2 -0
 - data/lib/ncmb/query.rb +20 -18
 - data/lib/ncmb/relation.rb +9 -7
 - data/lib/ncmb/role.rb +3 -1
 - data/lib/ncmb/script.rb +56 -0
 - data/lib/ncmb/user.rb +3 -1
 - data/lib/ncmb/version.rb +3 -1
 - data/ncmb-ruby-client.gemspec +13 -13
 - data/spec/delete_spec.rb +13 -9
 - data/spec/get_spec.rb +9 -5
 - data/spec/post_spec.rb +11 -6
 - data/spec/put_spec.rb +19 -10
 - data/spec/spec_helper.rb +6 -3
 - metadata +10 -8
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 2 
     | 
    
         
            +
            SHA256:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 325cb5e8ea166ccd9c833479bf76b39cb808d960732ade4362b98c853c3e93dc
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 9d416ff772a6be5ed268b644dd9e21b6d727d564d2fa453164604ac755d4c9ff
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: a4ff1e970aa5f31b78a48d92a6ac5b18fa64a926e724a9c1cd7675180c8e31a06ef37447c611e59f079940d885e8610fb996b0c2d5d6f22efc53f5dd14075167
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 67fd00eb2d8d924e5b8d07c4cdda94753b9f8b61166b65dc31e2c705d23592f63cd3f68ae17ff73e0ae0a71d3289c809b4bce0aef758d1b2f2851fc2bb0b0309
         
     | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/.rubocop.yml
    ADDED
    
    
    
        data/Gemfile
    CHANGED
    
    
    
        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 
     | 
    
         
            -
             
     | 
| 
      
 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 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 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 
     | 
| 
      
 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( 
     | 
| 
      
 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 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 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 
     | 
| 
      
 12 
     | 
    
         
            +
            NCMB.initialize(
         
     | 
| 
      
 13 
     | 
    
         
            +
              application_key: yaml['application_key'],
         
     | 
| 
      
 14 
     | 
    
         
            +
              client_key: yaml['client_key']
         
     | 
| 
      
 15 
     | 
    
         
            +
            )
         
     | 
| 
       10 
16 
     | 
    
         
             
            @todo = NCMB::DataStore.new 'TestClass'
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
              @todo. 
     | 
| 
      
 17 
     | 
    
         
            +
            20.times do |i|
         
     | 
| 
      
 18 
     | 
    
         
            +
              item = @todo.new
         
     | 
| 
      
 19 
     | 
    
         
            +
              item.set('message', "Hello! #{i}")
         
     | 
| 
      
 20 
     | 
    
         
            +
              item.save
         
     | 
| 
       13 
21 
     | 
    
         
             
            end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            @todos = @todo.limit(10).skip(0)
         
     | 
| 
       15 
24 
     | 
    
         | 
| 
       16 
25 
     | 
    
         
             
            csv_string = CSV.generate do |csv|
         
     | 
| 
       17 
     | 
    
         
            -
              csv << @todos.first. 
     | 
| 
      
 26 
     | 
    
         
            +
              csv << @todos.first.fields.keys
         
     | 
| 
       18 
27 
     | 
    
         
             
              @todos.each do |todo|
         
     | 
| 
       19 
28 
     | 
    
         
             
                params = []
         
     | 
| 
       20 
     | 
    
         
            -
                todo. 
     | 
| 
      
 29 
     | 
    
         
            +
                todo.fields.keys.each do |name|
         
     | 
| 
       21 
30 
     | 
    
         
             
                  params << todo.call(name)
         
     | 
| 
       22 
31 
     | 
    
         
             
                end
         
     | 
| 
       23 
32 
     | 
    
         
             
                csv << params
         
     | 
    
        data/examples/data_store.rb
    CHANGED
    
    | 
         @@ -1,10 +1,16 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 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 
     | 
| 
      
 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,  
     | 
| 
      
 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 
     | 
    
         
            -
             
     | 
| 
      
 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 
     | 
    
         | 
    
        data/examples/file_test.rb
    CHANGED
    
    | 
         @@ -1,30 +1,36 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 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 
     | 
| 
      
 11 
     | 
    
         
            +
            NCMB.initialize(
         
     | 
| 
      
 12 
     | 
    
         
            +
              application_key: yaml['application_key'],
         
     | 
| 
      
 13 
     | 
    
         
            +
              client_key: yaml['client_key']
         
     | 
| 
      
 14 
     | 
    
         
            +
            )
         
     | 
| 
       9 
15 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
            f = NCMB::NFile.new(' 
     | 
| 
      
 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 =  
     | 
| 
      
 19 
     | 
    
         
            +
            f.fileName = 'test.png'
         
     | 
| 
       14 
20 
     | 
    
         
             
            f.save()
         
     | 
| 
       15 
     | 
    
         
            -
            puts  
     | 
| 
      
 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  
     | 
| 
      
 24 
     | 
    
         
            +
            puts 'Updated'
         
     | 
| 
       19 
25 
     | 
    
         
             
            f.delete()
         
     | 
| 
       20 
     | 
    
         
            -
            puts  
     | 
| 
      
 26 
     | 
    
         
            +
            puts 'Deleted'
         
     | 
| 
       21 
27 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
            f = NCMB::NFile.new(' 
     | 
| 
      
 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 =  
     | 
| 
      
 31 
     | 
    
         
            +
            f.fileName = 'test.png'
         
     | 
| 
       26 
32 
     | 
    
         
             
            f.save()
         
     | 
| 
       27 
     | 
    
         
            -
            file = NCMB::NFile.new( 
     | 
| 
       28 
     | 
    
         
            -
            fp = open( 
     | 
| 
      
 33 
     | 
    
         
            +
            file = NCMB::NFile.new('test.png')
         
     | 
| 
      
 34 
     | 
    
         
            +
            fp = open('test.png', 'w')
         
     | 
| 
       29 
35 
     | 
    
         
             
            fp.write(file.get)
         
     | 
| 
       30 
36 
     | 
    
         
             
            fp.close
         
     | 
    
        data/examples/performance.rb
    CHANGED
    
    | 
         @@ -1,10 +1,16 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 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 
     | 
| 
      
 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  
     | 
| 
      
 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,  
     | 
| 
      
 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  
     | 
| 
      
 37 
     | 
    
         
            +
              r.report 'Delete objects' do
         
     | 
| 
       32 
38 
     | 
    
         
             
                ary.each do |objectId|
         
     | 
| 
       33 
39 
     | 
    
         
             
                  item = example.new(objectId: objectId)
         
     | 
| 
       34 
40 
     | 
    
         
             
                  item.delete
         
     | 
    
        data/examples/pointer_test.rb
    CHANGED
    
    | 
         @@ -1,16 +1,22 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 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 
     | 
| 
      
 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:  
     | 
| 
       13 
     | 
    
         
            -
            parent = Parent.new(name:  
     | 
| 
      
 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 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 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 
     | 
| 
      
 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 =  
     | 
| 
       13 
     | 
    
         
            -
            @push.deliveryExpirationTime =  
     | 
| 
      
 18 
     | 
    
         
            +
            @push.message = 'This is test message'
         
     | 
| 
      
 19 
     | 
    
         
            +
            @push.deliveryExpirationTime = '3 day'
         
     | 
| 
       14 
20 
     | 
    
         
             
            if @push.save
         
     | 
| 
       15 
     | 
    
         
            -
              puts  
     | 
| 
      
 21 
     | 
    
         
            +
              puts 'Push save successful.'
         
     | 
| 
       16 
22 
     | 
    
         
             
            else
         
     | 
| 
       17 
     | 
    
         
            -
              puts  
     | 
| 
      
 23 
     | 
    
         
            +
              puts 'Push save faild.'
         
     | 
| 
       18 
24 
     | 
    
         
             
            end
         
     |