futurism 1.2.0.pre7 → 1.2.0.pre8
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 +15 -1
- data/lib/futurism/helpers.rb +4 -1
- data/lib/futurism/helpers.rb~ +2 -8
- data/lib/futurism/version.rb +1 -1
- data/lib/futurism/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: c1bffa6e39b44603caf5ef679a8785e0df31e1019d57e2aef49208751a4fd7ba
         | 
| 4 | 
            +
              data.tar.gz: f725d03372fa6919fb633801b884395cfefb88f95944adc22b08889bee97827c
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 55a981065cef8d8a62f169b0bb360418b642deaee1fc590ef2460c1e2723a60791df0f11e482c14985bfd40daaa9ff8e4a5d223fd26d204e68e31c7eb1675d2d
         | 
| 7 | 
            +
              data.tar.gz: 2cdf24b379ca0d654a08981b130b500d2399243d8deeecd59164bc40ff1296f03c64c44606418ff29012dc72b8f546631e79df1af9fca90287340218af2e5a36
         | 
    
        data/README.md
    CHANGED
    
    | @@ -21,6 +21,7 @@ Lazy-load Rails partials via CableReady | |
| 21 21 | 
             
              - [Explicit Partial](#explicit-partial)
         | 
| 22 22 | 
             
              - [HTML Options](#html-options)
         | 
| 23 23 | 
             
              - [Eager Loading](#eager-loading)
         | 
| 24 | 
            +
              - [Bypassing](#bypassing)
         | 
| 24 25 | 
             
              - [Broadcast Partials Individually](#broadcast-partials-individually)
         | 
| 25 26 | 
             
              - [Contextual Placeholder Arguments](#contextual-placeholder-arguments)
         | 
| 26 27 | 
             
            - [Events](#events)
         | 
| @@ -175,6 +176,19 @@ Futurism makes that dead simple: | |
| 175 176 | 
             
            <% end %>
         | 
| 176 177 | 
             
            ```
         | 
| 177 178 |  | 
| 179 | 
            +
            ### Bypassing
         | 
| 180 | 
            +
             | 
| 181 | 
            +
            In some rare cases, e.g. when combined with CableReady's async `updates_for` mechanism, you'll want to bypass futurism entirely and fall back to native `rendering`. You can do this by passing an `unless` option:
         | 
| 182 | 
            +
             | 
| 183 | 
            +
            ```erb
         | 
| 184 | 
            +
            <%= futurize 'some_tab', unless: bypass_futurism?, extends: :tr do %>
         | 
| 185 | 
            +
              <div class="placeholder"</td>
         | 
| 186 | 
            +
            <% end %>
         | 
| 187 | 
            +
            ```
         | 
| 188 | 
            +
             | 
| 189 | 
            +
            Internally, this works the same as [bypassing futurism in tests](#testing)
         | 
| 190 | 
            +
             | 
| 191 | 
            +
             | 
| 178 192 | 
             
            ### Broadcast Partials Individually
         | 
| 179 193 | 
             
            Futurism's default behavior is to `broadcast` partials as they are generated in batches: 
         | 
| 180 194 |  | 
| @@ -188,7 +202,7 @@ For collections, however, you can opt into individual broadcasts by specifying ` | |
| 188 202 | 
             
            <% end %>
         | 
| 189 203 | 
             
            ```
         | 
| 190 204 |  | 
| 191 | 
            -
             | 
| 205 | 
            +
            ### Contextual Placeholder Arguments
         | 
| 192 206 |  | 
| 193 207 | 
             
            For individual models or arbitrary collections, you can pass `record` and `index` to the placeholder block as arguments:
         | 
| 194 208 |  | 
    
        data/lib/futurism/helpers.rb
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            module Futurism
         | 
| 2 2 | 
             
              module Helpers
         | 
| 3 3 | 
             
                def futurize(records_or_string = nil, extends:, **options, &block)
         | 
| 4 | 
            -
                  if Rails.env.test? && Futurism.skip_in_test
         | 
| 4 | 
            +
                  if (Rails.env.test? && Futurism.skip_in_test) || options[:unless]
         | 
| 5 5 | 
             
                    if records_or_string.nil?
         | 
| 6 6 | 
             
                      return render(**options)
         | 
| 7 7 | 
             
                    else
         | 
| @@ -11,6 +11,9 @@ module Futurism | |
| 11 11 |  | 
| 12 12 | 
             
                  options[:eager] = true unless block_given?
         | 
| 13 13 |  | 
| 14 | 
            +
                  # cannot serialize a proc
         | 
| 15 | 
            +
                  options.delete(:cached) if options[:cached].is_a?(Proc)
         | 
| 16 | 
            +
             | 
| 14 17 | 
             
                  if records_or_string.is_a?(ActiveRecord::Base) || records_or_string.is_a?(ActiveRecord::Relation)
         | 
| 15 18 | 
             
                    futurize_active_record(records_or_string, extends: extends, **options, &block)
         | 
| 16 19 | 
             
                  elsif records_or_string.is_a?(String)
         | 
    
        data/lib/futurism/helpers.rb~
    CHANGED
    
    | @@ -55,6 +55,7 @@ module Futurism | |
| 55 55 | 
             
                class WrappingFuturismElement
         | 
| 56 56 | 
             
                  include ActionView::Helpers
         | 
| 57 57 | 
             
                  include Futurism::MessageVerifier
         | 
| 58 | 
            +
                  include Futurism::OptionsTransformer
         | 
| 58 59 |  | 
| 59 60 | 
             
                  attr_reader :extends, :placeholder, :html_options, :data_attributes, :model, :options, :eager, :broadcast_each, :controller
         | 
| 60 61 |  | 
| @@ -92,14 +93,7 @@ module Futurism | |
| 92 93 | 
             
                  end
         | 
| 93 94 |  | 
| 94 95 | 
             
                  def transformed_options
         | 
| 95 | 
            -
                     | 
| 96 | 
            -
             | 
| 97 | 
            -
                    options.deep_transform_values do |value|
         | 
| 98 | 
            -
                      next(value) unless value.respond_to?(:to_global_id)
         | 
| 99 | 
            -
                      next(value) if value.is_a?(ActiveRecord::Base) && value.new_record?
         | 
| 100 | 
            -
             | 
| 101 | 
            -
                      value.to_global_id.to_s
         | 
| 102 | 
            -
                    end
         | 
| 96 | 
            +
                    dump_options(options)
         | 
| 103 97 | 
             
                  end
         | 
| 104 98 |  | 
| 105 99 | 
             
                  private
         | 
    
        data/lib/futurism/version.rb
    CHANGED
    
    
    
        data/lib/futurism/version.rb~
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: futurism
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.2.0. | 
| 4 | 
            +
              version: 1.2.0.pre8
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Julian Rubisch
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2021-11- | 
| 11 | 
            +
            date: 2021-11-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |