carrierwave-serializable 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
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 82365049a37fc90c0cdf9e0ac27e35a86556c275
         | 
| 4 | 
            +
              data.tar.gz: 30037ac9507ba6cb2551566f3db61353d99361d0
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d227f799b2f810b6736ad0208e51bde94a499432e8bc5160ad7b3d0a4b756e0bd8166a2a2754063528d4cf8599a1f14b9a380c3b6ceb70ab3970ca128f3c93ee
         | 
| 7 | 
            +
              data.tar.gz: 2345d755b69a02df0ce3255f3a55f5145dd5e979d0b9f8f28531668d9cae68740f86351c971130a3b874c2482c91992236089da24cac1e74e9652d2096d2c175
         | 
| @@ -6,27 +6,11 @@ module CarrierWave | |
| 6 6 | 
             
              module ActiveRecord
         | 
| 7 7 | 
             
                module Serializable
         | 
| 8 8 | 
             
                  def serialized_uploaders
         | 
| 9 | 
            -
                    @serialized_uploaders ||= {}
         | 
| 10 | 
            -
                  end
         | 
| 11 | 
            -
                
         | 
| 12 | 
            -
                  def serialized_uploader?(column)
         | 
| 13 | 
            -
                    attribute_name = serialized_uploaders[column].to_s
         | 
| 14 | 
            -
                    serialized_uploaders.key?(column) && (serialized_attribute?(attribute_name) ||
         | 
| 15 | 
            -
                                                          hstore_attribute?(attribute_name) ||
         | 
| 16 | 
            -
                                                          json_attribute?(attribute_name))
         | 
| 17 | 
            -
             | 
| 9 | 
            +
                    @serialized_uploaders ||= read_from_superclass? ? superclass.serialized_uploaders : {}
         | 
| 18 10 | 
             
                  end
         | 
| 19 11 |  | 
| 20 | 
            -
                  def  | 
| 21 | 
            -
                     | 
| 22 | 
            -
                  end
         | 
| 23 | 
            -
             | 
| 24 | 
            -
                  def hstore_attribute?(attribute)
         | 
| 25 | 
            -
                    columns_hash[attribute.to_s].type == :hstore
         | 
| 26 | 
            -
                  end
         | 
| 27 | 
            -
             | 
| 28 | 
            -
                  def json_attribute?(attribute)
         | 
| 29 | 
            -
                    columns_hash[attribute.to_s].type == :json
         | 
| 12 | 
            +
                  def serialized_uploader?(column)
         | 
| 13 | 
            +
                    serialized_uploaders.key?(column)
         | 
| 30 14 | 
             
                  end
         | 
| 31 15 |  | 
| 32 16 | 
             
                  ##
         | 
| @@ -34,43 +18,53 @@ module CarrierWave | |
| 34 18 | 
             
                  #
         | 
| 35 19 | 
             
                  def mount_uploader(column, uploader=nil, options={}, &block)
         | 
| 36 20 | 
             
                    super
         | 
| 37 | 
            -
             | 
| 21 | 
            +
             | 
| 38 22 | 
             
                    serialize_to = options.delete :serialize_to
         | 
| 39 23 | 
             
                    if serialize_to
         | 
| 40 | 
            -
                       | 
| 24 | 
            +
                      serialization_column = options[:mount_on] || column
         | 
| 25 | 
            +
                      serialized_uploaders[serialization_column] = serialize_to
         | 
| 41 26 | 
             
                      class_eval <<-RUBY, __FILE__, __LINE__+1
         | 
| 42 | 
            -
                        def #{ | 
| 27 | 
            +
                        def #{serialization_column}_will_change!
         | 
| 43 28 | 
             
                          #{serialize_to}_will_change!
         | 
| 44 | 
            -
                          @#{ | 
| 29 | 
            +
                          @#{serialization_column}_changed = true
         | 
| 45 30 | 
             
                        end
         | 
| 46 31 |  | 
| 47 | 
            -
                        def #{ | 
| 48 | 
            -
                          @#{ | 
| 32 | 
            +
                        def #{serialization_column}_changed?
         | 
| 33 | 
            +
                          @#{serialization_column}_changed
         | 
| 49 34 | 
             
                        end
         | 
| 50 35 | 
             
                      RUBY
         | 
| 51 | 
            -
                    
         | 
| 52 | 
            -
                    
         | 
| 53 | 
            -
                       | 
| 54 | 
            -
                         | 
| 55 | 
            -
                           | 
| 56 | 
            -
             | 
| 36 | 
            +
                    end
         | 
| 37 | 
            +
                    class_eval <<-RUBY, __FILE__, __LINE__+1
         | 
| 38 | 
            +
                      def write_uploader(column, identifier)
         | 
| 39 | 
            +
                        if self.class.serialized_uploader?(column)
         | 
| 40 | 
            +
                          serialized_field_name = self.class.serialized_uploaders[column].to_s
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                          if serialized_field = self.send(serialized_field_name)
         | 
| 57 43 | 
             
                            serialized_field[column.to_s] = identifier
         | 
| 58 44 | 
             
                          else
         | 
| 59 | 
            -
                             | 
| 45 | 
            +
                            self.send "\#{serialized_field_name}=", column.to_s => identifier
         | 
| 60 46 | 
             
                          end
         | 
| 47 | 
            +
                        else
         | 
| 48 | 
            +
                          write_attribute(column, identifier)
         | 
| 61 49 | 
             
                        end
         | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
                           | 
| 68 | 
            -
             | 
| 69 | 
            -
                           | 
| 50 | 
            +
                      end
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                      def read_uploader(column)
         | 
| 53 | 
            +
                        if self.class.serialized_uploader?(column)
         | 
| 54 | 
            +
                          serialized_field = self.send self.class.serialized_uploaders[column]
         | 
| 55 | 
            +
                          serialized_field ? serialized_field[column.to_s] : nil
         | 
| 56 | 
            +
                        else
         | 
| 57 | 
            +
                          read_attribute(column)
         | 
| 70 58 | 
             
                        end
         | 
| 71 | 
            -
                       | 
| 72 | 
            -
             | 
| 73 | 
            -
             | 
| 59 | 
            +
                      end
         | 
| 60 | 
            +
                    RUBY
         | 
| 61 | 
            +
             | 
| 62 | 
            +
                  end
         | 
| 63 | 
            +
             | 
| 64 | 
            +
                  private
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                  def read_from_superclass?
         | 
| 67 | 
            +
                    superclass != ::ActiveRecord::Base && superclass.respond_to?(:serialized_uploaders)
         | 
| 74 68 | 
             
                  end
         | 
| 75 69 | 
             
                end # Serializable
         | 
| 76 70 | 
             
              end # ActiveRecord
         | 
    
        metadata
    CHANGED
    
    | @@ -1,27 +1,27 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: carrierwave-serializable
         | 
| 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 | 
             
            - Tima Maslyuchenko
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2015-07-16 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: carrierwave
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 | 
            -
                - -  | 
| 17 | 
            +
                - - ">="
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 19 | 
             
                    version: '0'
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 | 
            -
                - -  | 
| 24 | 
            +
                - - ">="
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 26 | 
             
                    version: '0'
         | 
| 27 27 | 
             
            description: Carrierwave plugin that allow mount uploader to serialized field
         | 
| @@ -31,7 +31,7 @@ executables: [] | |
| 31 31 | 
             
            extensions: []
         | 
| 32 32 | 
             
            extra_rdoc_files: []
         | 
| 33 33 | 
             
            files:
         | 
| 34 | 
            -
            - .gitignore
         | 
| 34 | 
            +
            - ".gitignore"
         | 
| 35 35 | 
             
            - Gemfile
         | 
| 36 36 | 
             
            - LICENSE.txt
         | 
| 37 37 | 
             
            - README.md
         | 
| @@ -50,18 +50,19 @@ require_paths: | |
| 50 50 | 
             
            - lib
         | 
| 51 51 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 52 52 | 
             
              requirements:
         | 
| 53 | 
            -
              - -  | 
| 53 | 
            +
              - - ">="
         | 
| 54 54 | 
             
                - !ruby/object:Gem::Version
         | 
| 55 55 | 
             
                  version: '0'
         | 
| 56 56 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 57 57 | 
             
              requirements:
         | 
| 58 | 
            -
              - -  | 
| 58 | 
            +
              - - ">="
         | 
| 59 59 | 
             
                - !ruby/object:Gem::Version
         | 
| 60 60 | 
             
                  version: '0'
         | 
| 61 61 | 
             
            requirements: []
         | 
| 62 62 | 
             
            rubyforge_project: 
         | 
| 63 | 
            -
            rubygems_version: 2. | 
| 63 | 
            +
            rubygems_version: 2.2.2
         | 
| 64 64 | 
             
            signing_key: 
         | 
| 65 65 | 
             
            specification_version: 4
         | 
| 66 66 | 
             
            summary: Carrierwave plugin that allow mount uploader to serialized field
         | 
| 67 67 | 
             
            test_files: []
         | 
| 68 | 
            +
            has_rdoc: 
         |