t_t 1.3.0 → 1.3.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/Dockerfile +6 -0
 - data/lib/t_t/formaters.rb +37 -0
 - data/lib/t_t/tasks.rb +3 -10
 - data/readme.md +2 -0
 - data/t_t.gemspec +1 -1
 - data/tests/lib/formaters_test.rb +23 -0
 - metadata +6 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: e1778d63797bef7e82a460b8db4120d651651cfd
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 6ec1bc34106914cf96f5d05609153f61329d0e2d
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 05623243e817f16aa945b7c7b01fd56b244c41b0d1d0f8b0958918bdd978fa78e5352039672bbde0e03a2a9fc7ba8b33a6680df534b398745e81e3642a857a72
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: c2acf9ffb897a9ec497c1f02a24a0e11b60912dd156661a9ce1d195aa3aeb98471986d4d35fc75db387f6f7fdb82a2fdf2f0916d32ad1de50dce0a7946017535
         
     | 
    
        data/Dockerfile
    ADDED
    
    
| 
         @@ -0,0 +1,37 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module TT
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Formaters
         
     | 
| 
      
 3 
     | 
    
         
            +
                extend self
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                def print(groups, format)
         
     | 
| 
      
 6 
     | 
    
         
            +
                  case format
         
     | 
| 
      
 7 
     | 
    
         
            +
                  when 'csv' then csv(groups)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  else stdout(groups)
         
     | 
| 
      
 9 
     | 
    
         
            +
                  end
         
     | 
| 
      
 10 
     | 
    
         
            +
                end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                private
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                def stdout(groups)
         
     | 
| 
      
 15 
     | 
    
         
            +
                  groups.each do |group, list|
         
     | 
| 
      
 16 
     | 
    
         
            +
                    puts "# #{ group }"
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                    list.each do |line|
         
     | 
| 
      
 19 
     | 
    
         
            +
                      puts line.inject("") { |r, (k, v)| r + "#{ k.upcase }: #{ v.to_s.encode('utf-8') }\n" }
         
     | 
| 
      
 20 
     | 
    
         
            +
                    end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                    puts '---'
         
     | 
| 
      
 23 
     | 
    
         
            +
                  end
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                def csv(groups)
         
     | 
| 
      
 27 
     | 
    
         
            +
                  return if groups.empty?
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                  require 'csv'
         
     | 
| 
      
 30 
     | 
    
         
            +
                  CSV.open('tmp/tt-missed.csv', 'w') do |io|
         
     | 
| 
      
 31 
     | 
    
         
            +
                    locales = groups.first.last.first.keys.sort
         
     | 
| 
      
 32 
     | 
    
         
            +
                    io << locales.map(&:upcase)
         
     | 
| 
      
 33 
     | 
    
         
            +
                    groups.each_value { |list| list.each { |line| io << line.values_at(*locales) } }
         
     | 
| 
      
 34 
     | 
    
         
            +
                  end
         
     | 
| 
      
 35 
     | 
    
         
            +
                end
         
     | 
| 
      
 36 
     | 
    
         
            +
              end
         
     | 
| 
      
 37 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/t_t/tasks.rb
    CHANGED
    
    | 
         @@ -9,17 +9,10 @@ namespace :tt do 
     | 
|
| 
       9 
9 
     | 
    
         
             
              end
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
              desc "Shows a missed keys in the translation file groups"
         
     | 
| 
       12 
     | 
    
         
            -
              task :m => [:s] do
         
     | 
| 
      
 12 
     | 
    
         
            +
              task :m, [:format] => [:s] do |t, args|
         
     | 
| 
       13 
13 
     | 
    
         
             
                if sync = TT::Rails.sync
         
     | 
| 
       14 
     | 
    
         
            -
                   
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
                    list.each do |line|
         
     | 
| 
       18 
     | 
    
         
            -
                      puts line.inject("") { |r, (k, v)| r + "#{ k.upcase }: #{ v.to_s.encode('utf-8') }\n" }
         
     | 
| 
       19 
     | 
    
         
            -
                    end
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
                    puts '---'
         
     | 
| 
       22 
     | 
    
         
            -
                  end
         
     | 
| 
      
 14 
     | 
    
         
            +
                  require_relative './formaters'
         
     | 
| 
      
 15 
     | 
    
         
            +
                  TT::Formaters.print(sync.missed, args[:format])
         
     | 
| 
       23 
16 
     | 
    
         
             
                else
         
     | 
| 
       24 
17 
     | 
    
         
             
                  puts "t_t: Please, setup the synchronisation first"
         
     | 
| 
       25 
18 
     | 
    
         
             
                end
         
     | 
    
        data/readme.md
    CHANGED
    
    | 
         @@ -102,6 +102,8 @@ Just add `gem "t_t"` into your Gemfile and run `bundle`. 
     | 
|
| 
       102 
102 
     | 
    
         
             
            Dos-T is tested against Ruby 1.9.3+ & JRuby(1.9+ compatible). If your application uses Ruby on Rails the framework version should be 3.2+
         
     | 
| 
       103 
103 
     | 
    
         | 
| 
       104 
104 
     | 
    
         
             
            ## Changelog
         
     | 
| 
      
 105 
     | 
    
         
            +
            - 1.3.1
         
     | 
| 
      
 106 
     | 
    
         
            +
              - Add csv export in tt:m task
         
     | 
| 
       105 
107 
     | 
    
         
             
            - 1.3.0
         
     | 
| 
       106 
108 
     | 
    
         
             
              - Allow specify a custom mark for locale file synchonization
         
     | 
| 
       107 
109 
     | 
    
         
             
            - 1.2.2
         
     | 
    
        data/t_t.gemspec
    CHANGED
    
    
| 
         @@ -0,0 +1,23 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'test_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 't_t/formaters'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            describe "Formaters" do
         
     | 
| 
      
 5 
     | 
    
         
            +
              it 'prints csv output' do
         
     | 
| 
      
 6 
     | 
    
         
            +
                groups = { 'deserts.yml' => [{ 'en' => 'Apple', 'es' => 'Manzana' }, { 'es' => 'Dulce', 'en' => 'Candy' }] }
         
     | 
| 
      
 7 
     | 
    
         
            +
                begin
         
     | 
| 
      
 8 
     | 
    
         
            +
                  TT::Formaters::CSV = Struct.new(:example) {
         
     | 
| 
      
 9 
     | 
    
         
            +
                    def open(*args, &block)
         
     | 
| 
      
 10 
     | 
    
         
            +
                      io = []
         
     | 
| 
      
 11 
     | 
    
         
            +
                      block.call(io)
         
     | 
| 
      
 12 
     | 
    
         
            +
                      example.assert_equal io.length, 3
         
     | 
| 
      
 13 
     | 
    
         
            +
                      example.assert_equal io[0], ['EN', 'ES']
         
     | 
| 
      
 14 
     | 
    
         
            +
                      example.assert_equal io[1], ['Apple', 'Manzana']
         
     | 
| 
      
 15 
     | 
    
         
            +
                      example.assert_equal io[2], ['Candy', 'Dulce']
         
     | 
| 
      
 16 
     | 
    
         
            +
                    end
         
     | 
| 
      
 17 
     | 
    
         
            +
                  }.new(self)
         
     | 
| 
      
 18 
     | 
    
         
            +
                  TT::Formaters.print(groups, 'csv')
         
     | 
| 
      
 19 
     | 
    
         
            +
                ensure
         
     | 
| 
      
 20 
     | 
    
         
            +
                  TT::Formaters.send(:remove_const, :CSV)
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
              end
         
     | 
| 
      
 23 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: t_t
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.3.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Sergey Pchelintsev
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2017- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2017-10-23 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: i18n
         
     | 
| 
         @@ -117,6 +117,7 @@ extra_rdoc_files: [] 
     | 
|
| 
       117 
117 
     | 
    
         
             
            files:
         
     | 
| 
       118 
118 
     | 
    
         
             
            - ".gitignore"
         
     | 
| 
       119 
119 
     | 
    
         
             
            - ".travis.yml"
         
     | 
| 
      
 120 
     | 
    
         
            +
            - Dockerfile
         
     | 
| 
       120 
121 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       121 
122 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       122 
123 
     | 
    
         
             
            - cheatsheet.md
         
     | 
| 
         @@ -133,6 +134,7 @@ files: 
     | 
|
| 
       133 
134 
     | 
    
         
             
            - lib/t_t/action_factory.rb
         
     | 
| 
       134 
135 
     | 
    
         
             
            - lib/t_t/base.rb
         
     | 
| 
       135 
136 
     | 
    
         
             
            - lib/t_t/builtin_rules.rb
         
     | 
| 
      
 137 
     | 
    
         
            +
            - lib/t_t/formaters.rb
         
     | 
| 
       136 
138 
     | 
    
         
             
            - lib/t_t/i18n_sync.rb
         
     | 
| 
       137 
139 
     | 
    
         
             
            - lib/t_t/rails.rb
         
     | 
| 
       138 
140 
     | 
    
         
             
            - lib/t_t/tasks.rb
         
     | 
| 
         @@ -141,6 +143,7 @@ files: 
     | 
|
| 
       141 
143 
     | 
    
         
             
            - tests/lib/action_factory_test.rb
         
     | 
| 
       142 
144 
     | 
    
         
             
            - tests/lib/action_pack_test.rb
         
     | 
| 
       143 
145 
     | 
    
         
             
            - tests/lib/builtin_rules_test.rb
         
     | 
| 
      
 146 
     | 
    
         
            +
            - tests/lib/formaters_test.rb
         
     | 
| 
       144 
147 
     | 
    
         
             
            - tests/lib/i18n_sync_test.rb
         
     | 
| 
       145 
148 
     | 
    
         
             
            - tests/lib/model_module_test.rb
         
     | 
| 
       146 
149 
     | 
    
         
             
            - tests/lib/model_test.rb
         
     | 
| 
         @@ -166,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       166 
169 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       167 
170 
     | 
    
         
             
            requirements: []
         
     | 
| 
       168 
171 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       169 
     | 
    
         
            -
            rubygems_version: 2.6. 
     | 
| 
      
 172 
     | 
    
         
            +
            rubygems_version: 2.6.14
         
     | 
| 
       170 
173 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       171 
174 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       172 
175 
     | 
    
         
             
            summary: An opinioned I18n helper
         
     |