easy_translatable 0.1.0 → 0.1.1
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 +9 -1
 - data/lib/translatable/active_record/instance_methods.rb +1 -1
 - data/lib/translatable/active_record/macro.rb +3 -21
 - data/lib/translatable.rb +4 -0
 - metadata +3 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 74b40eace2abda621f5019ea144a1e46f33977d3
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 0ee0103de6ce639fbf75d1474eb864d12d5f57c4
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 48b503b54a498d677c87df013a5fb7a46b2f42905b8be2d41c679f79a3c1dbda8403e2b92ce03f9085aefc48670312d971ea2b200c669c40ccab2961cd2b1806
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: d57355737118302f13d97a92dec4ddd79edcef183504f885e3884d79cb6907a3332aa1205186fee9f08a9d8c2d89e269e180a51a5ddb7c6edde5ad10317d1616
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -17,4 +17,12 @@ When using bundler put this in your Gemfile: 
     | 
|
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
            ```ruby
         
     | 
| 
       19 
19 
     | 
    
         
             
            gem 'easy_translatable', '~> 0.1.0'
         
     | 
| 
       20 
     | 
    
         
            -
            ```
         
     | 
| 
      
 20 
     | 
    
         
            +
            ```
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            ## Todo
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            - Tests, tests and tests
         
     | 
| 
      
 25 
     | 
    
         
            +
            - cleanup
         
     | 
| 
      
 26 
     | 
    
         
            +
            - doc
         
     | 
| 
      
 27 
     | 
    
         
            +
            - migration/model for translation table
         
     | 
| 
      
 28 
     | 
    
         
            +
            - serialized attributes (JSON/YML)
         
     | 
| 
         @@ -11,29 +11,15 @@ module Translatable 
     | 
|
| 
       11 
11 
     | 
    
         
             
                    attr_names -= translated_attribute_names if defined?(translated_attribute_names)
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
                    if attr_names.present?
         
     | 
| 
       14 
     | 
    
         
            -
                      translation_class.instance_eval %{
         
     | 
| 
       15 
     | 
    
         
            -
                        attr_accessible :#{attr_names.join(', :')}
         
     | 
| 
       16 
     | 
    
         
            -
                                                      }
         
     | 
| 
       17 
14 
     | 
    
         | 
| 
       18 
15 
     | 
    
         
             
                      attr_names.each do |attr_name|
         
     | 
| 
       19 
     | 
    
         
            -
                        # Detect and apply serialization.
         
     | 
| 
       20 
     | 
    
         
            -
                        serializer = self.serialized_attributes[attr_name.to_s]
         
     | 
| 
       21 
     | 
    
         
            -
                        if serializer.present?
         
     | 
| 
       22 
     | 
    
         
            -
                          if defined?(::ActiveRecord::Coders::YAMLColumn) &&
         
     | 
| 
       23 
     | 
    
         
            -
                              serializer.is_a?(::ActiveRecord::Coders::YAMLColumn)
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
                            serializer = serializer.object_class
         
     | 
| 
       26 
     | 
    
         
            -
                          end
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                          translation_class.send :serialize, attr_name, serializer
         
     | 
| 
       29 
     | 
    
         
            -
                        end
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
16 
     | 
    
         
             
                        # Create accessors for the attribute.
         
     | 
| 
       32 
17 
     | 
    
         
             
                        translated_attr_accessor(attr_name)
         
     | 
| 
       33 
18 
     | 
    
         
             
                        translations_accessor(attr_name)
         
     | 
| 
       34 
19 
     | 
    
         | 
| 
       35 
20 
     | 
    
         
             
                        # Add attribute to the list.
         
     | 
| 
       36 
21 
     | 
    
         
             
                        self.translated_attribute_names << attr_name
         
     | 
| 
      
 22 
     | 
    
         
            +
                        self.translated_serialized_attributes[attr_name] = options[:json] if options[:json]
         
     | 
| 
       37 
23 
     | 
    
         
             
                      end
         
     | 
| 
       38 
24 
     | 
    
         | 
| 
       39 
25 
     | 
    
         
             
                      Translatable.add_translatable self
         
     | 
| 
         @@ -58,15 +44,11 @@ module Translatable 
     | 
|
| 
       58 
44 
     | 
    
         
             
                    options[:foreign_key] ||= 'record_id'
         
     | 
| 
       59 
45 
     | 
    
         
             
                    options[:conditions] ||= ''
         
     | 
| 
       60 
46 
     | 
    
         | 
| 
       61 
     | 
    
         
            -
                    class_attribute :translated_attribute_names, :translation_options, :fallbacks_for_empty_translations
         
     | 
| 
      
 47 
     | 
    
         
            +
                    class_attribute :translated_attribute_names, :translation_options, :fallbacks_for_empty_translations, :translated_serialized_attributes
         
     | 
| 
       62 
48 
     | 
    
         
             
                    self.translated_attribute_names = []
         
     | 
| 
       63 
49 
     | 
    
         
             
                    self.translation_options        = options
         
     | 
| 
       64 
50 
     | 
    
         
             
                    self.fallbacks_for_empty_translations = options[:fallbacks_for_empty_translations]
         
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
       66 
     | 
    
         
            -
                    # Alias original relation method so we can safely override it in ClassMethods.
         
     | 
| 
       67 
     | 
    
         
            -
                    #class << self
         
     | 
| 
       68 
     | 
    
         
            -
                    #  alias relation_without_globalize relation
         
     | 
| 
       69 
     | 
    
         
            -
                    #end
         
     | 
| 
      
 51 
     | 
    
         
            +
                    self.translated_serialized_attributes = Hash.new if options[:json]
         
     | 
| 
       70 
52 
     | 
    
         | 
| 
       71 
53 
     | 
    
         
             
                    include InstanceMethods
         
     | 
| 
       72 
54 
     | 
    
         
             
                    extend  ClassMethods
         
     | 
    
        data/lib/translatable.rb
    CHANGED
    
    | 
         @@ -42,6 +42,10 @@ module Translatable 
     | 
|
| 
       42 
42 
     | 
    
         
             
                  else
         
     | 
| 
       43 
43 
     | 
    
         
             
                    @@translatable[klass.name] = klass.translated_attribute_names
         
     | 
| 
       44 
44 
     | 
    
         
             
                  end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  unless klass.translated_serialized_attributes.nil?
         
     | 
| 
      
 47 
     | 
    
         
            +
                    @@translatable[klass.name].map!{ |attr| klass.translated_serialized_attributes.reject{|k,v| k != attr} }
         
     | 
| 
      
 48 
     | 
    
         
            +
                  end
         
     | 
| 
       45 
49 
     | 
    
         
             
                end
         
     | 
| 
       46 
50 
     | 
    
         | 
| 
       47 
51 
     | 
    
         
             
                protected
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: easy_translatable
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Paul Bonaud
         
     | 
| 
         @@ -17,14 +17,14 @@ dependencies: 
     | 
|
| 
       17 
17 
     | 
    
         
             
                requirements:
         
     | 
| 
       18 
18 
     | 
    
         
             
                - - ~>
         
     | 
| 
       19 
19 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       20 
     | 
    
         
            -
                    version: '3. 
     | 
| 
      
 20 
     | 
    
         
            +
                    version: '3.2'
         
     | 
| 
       21 
21 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       22 
22 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       23 
23 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       24 
24 
     | 
    
         
             
                requirements:
         
     | 
| 
       25 
25 
     | 
    
         
             
                - - ~>
         
     | 
| 
       26 
26 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       27 
     | 
    
         
            -
                    version: '3. 
     | 
| 
      
 27 
     | 
    
         
            +
                    version: '3.2'
         
     | 
| 
       28 
28 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       29 
29 
     | 
    
         
             
              name: rake
         
     | 
| 
       30 
30 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     |