requestjs-rails 0.0.5 → 0.0.6
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/README.md +2 -2
- data/app/assets/javascripts/requestjs.js +9 -6
- data/lib/install/requestjs_with_asset_pipeline.rb +5 -2
- data/lib/requestjs/engine.rb +3 -3
- data/lib/requestjs/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 7197ad0ee10519041959da9d8bb15c46ca0cf8d9beaecfab20c622860f958986
         | 
| 4 | 
            +
              data.tar.gz: cc9609ff3a0a1a734ca9e5fc730f8817827340cbefbe7fb3173377fd651e540e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 24cd14d2019382171aa3b90432ce64b1eae3b480c185971ba5ed296c3e13ad83e2e2204ee0295dacfe3ff0662cf46c8e041ae8611ef1db388f36611a41a077a4
         | 
| 7 | 
            +
              data.tar.gz: db70051cd27a70fc4267e120c3856ec867c0a0d7be59036cec43384d89238a899dbd21ab9a86c1f04bfd43b2311c7578d8f399c943e089e6bb086ca121629b3f
         | 
    
        data/README.md
    CHANGED
    
    | @@ -10,7 +10,7 @@ | |
| 10 10 |  | 
| 11 11 | 
             
            If using the asset pipeline to manage JavaScript, the last command will:
         | 
| 12 12 |  | 
| 13 | 
            -
            - Append import "@rails/request.js" to your app/assets/javascripts/application.js entrypoint.
         | 
| 13 | 
            +
            - Append `import "@rails/request.js"` to your `app/assets/javascripts/application.js` entrypoint.
         | 
| 14 14 |  | 
| 15 15 | 
             
            Make sure you've already installed `importmap-rails` and that it's referenced before `requestjs-rails` in your Gemfile.
         | 
| 16 16 |  | 
| @@ -24,4 +24,4 @@ With the installation done check the documentation in the [Rails Request.JS](htt | |
| 24 24 |  | 
| 25 25 | 
             
            ## License
         | 
| 26 26 |  | 
| 27 | 
            -
            Request.JS for Rails is released under the [MIT License](https://opensource.org/licenses/MIT).
         | 
| 27 | 
            +
            Request.JS for Rails is released under the [MIT License](https://opensource.org/licenses/MIT).
         | 
| @@ -14,6 +14,9 @@ class FetchResponse { | |
| 14 14 | 
             
              get unauthenticated() {
         | 
| 15 15 | 
             
                return this.statusCode === 401;
         | 
| 16 16 | 
             
              }
         | 
| 17 | 
            +
              get unprocessableEntity() {
         | 
| 18 | 
            +
                return this.statusCode === 422;
         | 
| 19 | 
            +
              }
         | 
| 17 20 | 
             
              get authenticationURL() {
         | 
| 18 21 | 
             
                return this.response.headers.get("WWW-Authenticate");
         | 
| 19 22 | 
             
              }
         | 
| @@ -31,7 +34,7 @@ class FetchResponse { | |
| 31 34 | 
             
                return Promise.reject(new Error(`Expected an HTML response but got "${this.contentType}" instead`));
         | 
| 32 35 | 
             
              }
         | 
| 33 36 | 
             
              get json() {
         | 
| 34 | 
            -
                if (this.contentType.match(/^application | 
| 37 | 
            +
                if (this.contentType.match(/^application\/.*json$/)) {
         | 
| 35 38 | 
             
                  return this.responseJson || (this.responseJson = this.response.json());
         | 
| 36 39 | 
             
                }
         | 
| 37 40 | 
             
                return Promise.reject(new Error(`Expected a JSON response but got "${this.contentType}" instead`));
         | 
| @@ -45,7 +48,7 @@ class FetchResponse { | |
| 45 48 | 
             
              async renderTurboStream() {
         | 
| 46 49 | 
             
                if (this.isTurboStream) {
         | 
| 47 50 | 
             
                  if (window.Turbo) {
         | 
| 48 | 
            -
                    window.Turbo.renderStreamMessage(await this.text);
         | 
| 51 | 
            +
                    await window.Turbo.renderStreamMessage(await this.text);
         | 
| 49 52 | 
             
                  } else {
         | 
| 50 53 | 
             
                    console.warn("You must set `window.Turbo = Turbo` to automatically process Turbo Stream events with request.js");
         | 
| 51 54 | 
             
                  }
         | 
| @@ -115,7 +118,7 @@ class FetchRequest { | |
| 115 118 | 
             
              constructor(method, url, options = {}) {
         | 
| 116 119 | 
             
                this.method = method;
         | 
| 117 120 | 
             
                this.options = options;
         | 
| 118 | 
            -
                this.originalUrl = url;
         | 
| 121 | 
            +
                this.originalUrl = url.toString();
         | 
| 119 122 | 
             
              }
         | 
| 120 123 | 
             
              async perform() {
         | 
| 121 124 | 
             
                try {
         | 
| @@ -131,7 +134,7 @@ class FetchRequest { | |
| 131 134 | 
             
                  return Promise.reject(window.location.href = response.authenticationURL);
         | 
| 132 135 | 
             
                }
         | 
| 133 136 | 
             
                if (response.ok && response.isTurboStream) {
         | 
| 134 | 
            -
                  response.renderTurboStream();
         | 
| 137 | 
            +
                  await response.renderTurboStream();
         | 
| 135 138 | 
             
                }
         | 
| 136 139 | 
             
                return response;
         | 
| 137 140 | 
             
              }
         | 
| @@ -180,7 +183,7 @@ class FetchRequest { | |
| 180 183 | 
             
                  return "text/vnd.turbo-stream.html, text/html, application/xhtml+xml";
         | 
| 181 184 |  | 
| 182 185 | 
             
                 case "json":
         | 
| 183 | 
            -
                  return "application/json";
         | 
| 186 | 
            +
                  return "application/json, application/vnd.api+json";
         | 
| 184 187 |  | 
| 185 188 | 
             
                 default:
         | 
| 186 189 | 
             
                  return "*/*";
         | 
| @@ -205,7 +208,7 @@ class FetchRequest { | |
| 205 208 | 
             
                return query.length > 0 ? `?${query}` : "";
         | 
| 206 209 | 
             
              }
         | 
| 207 210 | 
             
              get url() {
         | 
| 208 | 
            -
                return this.originalUrl.split("?")[0] + this.query;
         | 
| 211 | 
            +
                return this.originalUrl.split("?")[0].split("#")[0] + this.query;
         | 
| 209 212 | 
             
              }
         | 
| 210 213 | 
             
              get responseKind() {
         | 
| 211 214 | 
             
                return this.options.responseKind || "html";
         | 
| @@ -1,4 +1,7 @@ | |
| 1 1 | 
             
            APP_JS_ROOT = Rails.root.join("app/assets/javascripts")
         | 
| 2 | 
            +
            APP_JS_PATH = APP_JS_ROOT.exist? ? APP_JS_ROOT : Rails.root.join("app/javascript")
         | 
| 2 3 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
             | 
| 4 | 
            +
            create_file Rails.root.join("app/javascript/application.js") unless APP_JS_PATH.exist?
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            say "Import Request.JS in existing #{APP_JS_PATH}"
         | 
| 7 | 
            +
            append_to_file APP_JS_PATH.join("application.js"), %(import "@rails/request.js"\n)
         | 
    
        data/lib/requestjs/engine.rb
    CHANGED
    
    | @@ -7,9 +7,9 @@ module Requestjs | |
| 7 7 | 
             
                end
         | 
| 8 8 |  | 
| 9 9 | 
             
                initializer "requestjs.importmap" do
         | 
| 10 | 
            -
                  if Rails.application. | 
| 11 | 
            -
                    Rails.application. | 
| 12 | 
            -
                       | 
| 10 | 
            +
                  if Rails.application.respond_to?(:importmap)
         | 
| 11 | 
            +
                    Rails.application.importmap.draw do
         | 
| 12 | 
            +
                      pin "@rails/request.js", to: "rails-requestjs"
         | 
| 13 13 | 
             
                    end
         | 
| 14 14 | 
             
                  end
         | 
| 15 15 | 
             
                end
         | 
    
        data/lib/requestjs/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: requestjs-rails
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.6
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Marcelo Lauxen
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2021- | 
| 11 | 
            +
            date: 2021-12-20 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rails
         |