imposition 0.9.4.5.1 → 0.9.4.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.
- data/bin/impostor +32 -23
- data/lib/imposition.rb +5 -4
- data/lib/imposition/clases.rb +55 -56
- data/lib/imposition/metodos.rb +8 -9
- data/lib/locales/en.yml +72 -0
- data/lib/locales/es.yml +72 -0
- metadata +6 -5
    
        data/bin/impostor
    CHANGED
    
    | @@ -13,7 +13,7 @@ def input(nombre) | |
| 13 13 | 
             
                retorno["unidad"]="point"#default
         | 
| 14 14 | 
             
                return retorno    
         | 
| 15 15 | 
             
              else
         | 
| 16 | 
            -
                regex = /(\d | 
| 16 | 
            +
                regex = /(\d*\.*\d*)\s*(\w*)/
         | 
| 17 17 | 
             
                split = regex.match(input)
         | 
| 18 18 | 
             
                if split!=nil then
         | 
| 19 19 | 
             
                  retorno["numero"]=split[1].to_f
         | 
| @@ -24,18 +24,18 @@ def input(nombre) | |
| 24 24 | 
             
                  end
         | 
| 25 25 | 
             
                  return retorno
         | 
| 26 26 | 
             
                else
         | 
| 27 | 
            -
                  puts  | 
| 27 | 
            +
                  puts I18n.t(:badunit, :input => input)
         | 
| 28 28 | 
             
                  input(nombre)
         | 
| 29 29 | 
             
                end
         | 
| 30 30 | 
             
              end
         | 
| 31 31 | 
             
            end
         | 
| 32 32 | 
             
            #
         | 
| 33 33 | 
             
            def enBooklets()
         | 
| 34 | 
            -
              STDOUT.puts( | 
| 34 | 
            +
              STDOUT.puts(I18n.t(:bookletsq))
         | 
| 35 35 | 
             
                bookies=STDIN.gets.to_s
         | 
| 36 | 
            -
              if bookies[0] | 
| 36 | 
            +
              if bookies[0].eql?("y") then
         | 
| 37 37 | 
             
                return true
         | 
| 38 | 
            -
              elsif bookies[0] | 
| 38 | 
            +
              elsif bookies[0].eql?("n") then
         | 
| 39 39 | 
             
                return false
         | 
| 40 40 | 
             
              else
         | 
| 41 41 | 
             
                enBooklets()
         | 
| @@ -53,15 +53,16 @@ end | |
| 53 53 | 
             
            #
         | 
| 54 54 | 
             
            def escalado(tipo)
         | 
| 55 55 | 
             
              if tipo=="horizontalmente" then
         | 
| 56 | 
            -
                puts " | 
| 56 | 
            +
                puts I18n.t(:WnX)+" "+I18n.t(tipo) 
         | 
| 57 57 | 
             
              else
         | 
| 58 | 
            -
                puts " | 
| 58 | 
            +
                puts I18n.t(:HnY)+" "+I18n.t(tipo)
         | 
| 59 59 | 
             
              end
         | 
| 60 | 
            -
             | 
| 60 | 
            +
             | 
| 61 | 
            +
              puts(I18n.t(:scale, :tp=>I18n.t(tipo)))
         | 
| 61 62 | 
             
                escalar=STDIN.gets.to_s
         | 
| 62 | 
            -
              if escalar[0] | 
| 63 | 
            +
              if escalar[0].eql?("y") then
         | 
| 63 64 | 
             
                return true
         | 
| 64 | 
            -
              elsif escalar[0] | 
| 65 | 
            +
              elsif escalar[0].eql?("n") then
         | 
| 65 66 | 
             
                return false
         | 
| 66 67 | 
             
              else
         | 
| 67 68 | 
             
                escalado(tipo)
         | 
| @@ -69,11 +70,11 @@ def escalado(tipo) | |
| 69 70 | 
             
            end
         | 
| 70 71 | 
             
            #
         | 
| 71 72 | 
             
            def todasPag(nPliegos, nX, nY, caben, tiene)
         | 
| 72 | 
            -
              #STDOUT.puts("el pdf tiene #{tiene.to_i} paginas, pero en #{nPliegos.to_i} de #{nX}x#{nY} caben #{caben.to_i} paginas ¿usar las del pdf? (y/n)")
         | 
| 73 | 
            +
              #TODO rm? STDOUT.puts("el pdf tiene #{tiene.to_i} paginas, pero en #{nPliegos.to_i} de #{nX}x#{nY} caben #{caben.to_i} paginas ¿usar las del pdf? (y/n)")
         | 
| 73 74 | 
             
                escalar=STDIN.gets.to_s
         | 
| 74 | 
            -
              if escalar[0] | 
| 75 | 
            +
              if escalar[0].eql?("y") then
         | 
| 75 76 | 
             
                return true
         | 
| 76 | 
            -
              elsif escalar[0] | 
| 77 | 
            +
              elsif escalar[0].eql?("n") then
         | 
| 77 78 | 
             
                return false
         | 
| 78 79 | 
             
              else
         | 
| 79 80 | 
             
                todasPag(nPliegos, nX, nY, caben, tiene)
         | 
| @@ -81,12 +82,12 @@ def todasPag(nPliegos, nX, nY, caben, tiene) | |
| 81 82 | 
             
            end
         | 
| 82 83 | 
             
            #
         | 
| 83 84 | 
             
            def reducirUltimo(cuadernillosPorCostura, paginasSobran, nCuad, sobranMenos)
         | 
| 84 | 
            -
              puts  | 
| 85 | 
            -
              puts  | 
| 85 | 
            +
              puts I18n.t(:excesscXC, :cXC=>cuadernillosPorCostura, :p=>paginasSobran)
         | 
| 86 | 
            +
              puts I18n.t(:reducecXC, :nCuad=>nCuad,:sobranMenos=>sobranMenos)
         | 
| 86 87 | 
             
              ok=STDIN.gets.to_s
         | 
| 87 | 
            -
              if ok[0] | 
| 88 | 
            +
              if ok[0].eql?("y") then
         | 
| 88 89 | 
             
                return true
         | 
| 89 | 
            -
              elsif ok[0] | 
| 90 | 
            +
              elsif ok[0].eql?("n") then
         | 
| 90 91 | 
             
                return false
         | 
| 91 92 | 
             
              else
         | 
| 92 93 | 
             
                reducirUltimo(cuadernillosPorCostura, paginasSobran, nCuad, sobranMenos)
         | 
| @@ -98,6 +99,14 @@ end | |
| 98 99 | 
             
            #
         | 
| 99 100 | 
             
            $entrada=ARGV.shift
         | 
| 100 101 | 
             
            $salida=ARGV.shift
         | 
| 102 | 
            +
            $locale=ARGV.shift
         | 
| 103 | 
            +
             | 
| 104 | 
            +
            if $locale!=nil then
         | 
| 105 | 
            +
            	I18n.locale=$locale.strip
         | 
| 106 | 
            +
            else
         | 
| 107 | 
            +
            	I18n.locale = :en
         | 
| 108 | 
            +
            end
         | 
| 109 | 
            +
             | 
| 101 110 | 
             
            #
         | 
| 102 111 | 
             
            Metodos.refresh()
         | 
| 103 112 | 
             
            #
         | 
| @@ -107,7 +116,7 @@ if check.instance_of? Clases::Mensaje then | |
| 107 116 | 
             
              exit
         | 
| 108 117 | 
             
            end
         | 
| 109 118 | 
             
            #
         | 
| 110 | 
            -
            puts  | 
| 119 | 
            +
            puts I18n.t('welcome')#blink blink
         | 
| 111 120 | 
             
            #
         | 
| 112 121 | 
             
            w_=input("w:")
         | 
| 113 122 | 
             
            h_=input("h:")
         | 
| @@ -115,15 +124,15 @@ wP_=input("W:") | |
| 115 124 | 
             
            hP_=input("H:")
         | 
| 116 125 | 
             
            nX_=input("nX:")
         | 
| 117 126 | 
             
            nY_=input("nY:")
         | 
| 118 | 
            -
            nPaginas_=input(" | 
| 119 | 
            -
            nPliegos_=input(" | 
| 127 | 
            +
            nPaginas_=input(I18n.t(:nPages)+":")
         | 
| 128 | 
            +
            nPliegos_=input(I18n.t(:nSheets)+":")
         | 
| 120 129 | 
             
            cuadernillos = enBooklets()
         | 
| 121 130 | 
             
            #
         | 
| 122 131 | 
             
            def recursivo(w_,h_,wP_,hP_,nX,nY,nPaginas,nPliegos,cuadernillos, preguntas)
         | 
| 123 132 | 
             
              impostor=Metodos.funcionar(w_,h_,wP_,hP_,nX,nY,nPaginas,nPliegos,cuadernillos,preguntas,$temp)
         | 
| 124 133 | 
             
              if impostor.preguntasOk then
         | 
| 125 134 | 
             
                if impostor.valido then
         | 
| 126 | 
            -
                  puts  | 
| 135 | 
            +
                  puts I18n.t(:msgs)#blink blink
         | 
| 127 136 | 
             
                  impostor.mensajes.each do |mensaje|
         | 
| 128 137 | 
             
                    puts mensaje.mensaje
         | 
| 129 138 | 
             
                  end
         | 
| @@ -131,7 +140,7 @@ def recursivo(w_,h_,wP_,hP_,nX,nY,nPaginas,nPliegos,cuadernillos, preguntas) | |
| 131 140 | 
             
                  impostor.errores().each do |error|
         | 
| 132 141 | 
             
                    puts error.mensaje
         | 
| 133 142 | 
             
                  end
         | 
| 134 | 
            -
                  puts  | 
| 143 | 
            +
                  puts I18n.t(:dead)
         | 
| 135 144 | 
             
                  exit
         | 
| 136 145 | 
             
                end
         | 
| 137 146 | 
             
              else
         | 
| @@ -170,7 +179,7 @@ if $salida == nil then | |
| 170 179 | 
             
            end
         | 
| 171 180 | 
             
            FileUtils.mv(File.dirname($temp)+"/"+"cutStack.pdf", $salida)
         | 
| 172 181 | 
             
            #
         | 
| 173 | 
            -
            puts  | 
| 182 | 
            +
            puts I18n.t(:end)#blink blink
         | 
| 174 183 | 
             
            ensure
         | 
| 175 184 | 
             
              #limpio todo, aunque se caiga
         | 
| 176 185 | 
             
              if File.dirname($temp)!=nil then
         | 
    
        data/lib/imposition.rb
    CHANGED
    
    | @@ -1,12 +1,14 @@ | |
| 1 1 | 
             
            #GEMAS
         | 
| 2 | 
            -
            require 'rubygems'
         | 
| 2 | 
            +
            require 'rubygems' if RUBY_VERSION < '1.9'
         | 
| 3 3 | 
             
            require 'uuidtools'
         | 
| 4 4 | 
             
            require 'fileutils'
         | 
| 5 5 | 
             
            require 'alchemist'
         | 
| 6 | 
            +
            require 'i18n'
         | 
| 6 7 | 
             
            #Clases
         | 
| 7 8 | 
             
            require 'imposition/clases'
         | 
| 8 9 | 
             
            require 'imposition/metodos'
         | 
| 9 | 
            -
            #
         | 
| 10 | 
            +
            #i18n
         | 
| 11 | 
            +
            I18n.load_path = Dir.glob(File.dirname(__FILE__)+"/locales/*.{rb,yml}")
         | 
| 10 12 | 
             
            #
         | 
| 11 13 | 
             
            $requerimientos=Hash.new
         | 
| 12 14 | 
             
            $requerimientos["pdflatex"]="pdflatex"
         | 
| @@ -18,5 +20,4 @@ check=Metodos.checksCompile() | |
| 18 20 | 
             
            if check.instance_of? Clases::Mensaje then
         | 
| 19 21 | 
             
              puts check.mensaje
         | 
| 20 22 | 
             
              #exit
         | 
| 21 | 
            -
            end
         | 
| 22 | 
            -
             | 
| 23 | 
            +
            end
         | 
    
        data/lib/imposition/clases.rb
    CHANGED
    
    | @@ -31,15 +31,15 @@ class Imposicion | |
| 31 31 | 
             
                if @cuadernillos then
         | 
| 32 32 | 
             
                  nXm*=2
         | 
| 33 33 | 
             
                end
         | 
| 34 | 
            -
                str=" | 
| 34 | 
            +
                str=I18n.t(:params)+"\n"
         | 
| 35 35 | 
             
                str+="nX:"+nXm.to_s+"\n"
         | 
| 36 36 | 
             
                str+="nY:"+@nY.to_s+"\n"
         | 
| 37 | 
            -
                str+=" | 
| 38 | 
            -
                str+=" | 
| 39 | 
            -
                str+=" | 
| 40 | 
            -
                str+=" | 
| 41 | 
            -
                str+=" | 
| 42 | 
            -
                str+=" | 
| 37 | 
            +
                str+=I18n.t(:nPages)+":"+@nPaginas.to_s+"\n"
         | 
| 38 | 
            +
                str+=I18n.t(:nSheets)+":"+@nPliegos.to_s+"\n"
         | 
| 39 | 
            +
                str+=I18n.t(:pwidth)+":"+@w.to_s+" "+@w_["unidad"]+"\n"
         | 
| 40 | 
            +
                str+=I18n.t(:pheight)+":"+@h.to_s+" "+@h_["unidad"]+"\n"
         | 
| 41 | 
            +
                str+=I18n.t(:swidth)+":"+@wP.to_s+" "+@wP_["unidad"]+"\n"
         | 
| 42 | 
            +
                str+=I18n.t(:sheight)+":"+@hP.to_s+" "+@hP_["unidad"]+"\n"
         | 
| 43 43 | 
             
                return str
         | 
| 44 44 | 
             
              end
         | 
| 45 45 | 
             
            end
         | 
| @@ -92,11 +92,11 @@ class Mensaje | |
| 92 92 | 
             
            	end
         | 
| 93 93 | 
             
            	def to_s
         | 
| 94 94 | 
             
            		if @level==1 then
         | 
| 95 | 
            -
            			@retorno=" | 
| 95 | 
            +
            			@retorno=I18n.t(:info)+": "
         | 
| 96 96 | 
             
            		elsif @level==2 then
         | 
| 97 | 
            -
            			@retorno=" | 
| 97 | 
            +
            			@retorno=I18n.t(:warn)+": "
         | 
| 98 98 | 
             
            		elsif @level==3 then
         | 
| 99 | 
            -
            			@retorno=" | 
| 99 | 
            +
            			@retorno=I18n(:error)+": "
         | 
| 100 100 | 
             
            		end
         | 
| 101 101 | 
             
            		@retorno+=@mensaje.to_s
         | 
| 102 102 | 
             
            		return @retorno
         | 
| @@ -125,74 +125,74 @@ class MensajeDato < Mensaje | |
| 125 125 | 
             
            		if tipo=="horizontal" then
         | 
| 126 126 | 
             
            			if level==1 then#info
         | 
| 127 127 | 
             
            				if numero==1 then
         | 
| 128 | 
            -
            					return  | 
| 128 | 
            +
            					return I18n.t(:nXCalc)
         | 
| 129 129 | 
             
            				elsif numero==2 then
         | 
| 130 | 
            -
            					return [2, | 
| 130 | 
            +
            					return [2,I18n.t(:wPCalc)]
         | 
| 131 131 | 
             
            				elsif numero==3 then
         | 
| 132 | 
            -
            					return [12, | 
| 132 | 
            +
            					return [12,I18n.t(:wCalc)]
         | 
| 133 133 | 
             
            				elsif numero==4 then
         | 
| 134 | 
            -
            					return [1, | 
| 134 | 
            +
            					return [1,I18n.t(:wRoyal)]
         | 
| 135 135 | 
             
            				end
         | 
| 136 136 | 
             
            			elsif level==3 then#error
         | 
| 137 137 | 
             
            				if numero==1 then
         | 
| 138 | 
            -
            					return  | 
| 138 | 
            +
            					return I18n.t(:wOnly)
         | 
| 139 139 | 
             
            				elsif numero==2 then
         | 
| 140 | 
            -
            					return  | 
| 140 | 
            +
            					return I18n.t(:wPOnly)
         | 
| 141 141 | 
             
            				elsif numero==3 then
         | 
| 142 | 
            -
            					return  | 
| 142 | 
            +
            					return I18n.t(:nXOnly)
         | 
| 143 143 | 
             
            				elsif numero==4 then
         | 
| 144 | 
            -
            					return  | 
| 144 | 
            +
            					return I18n.t(:nothingH)
         | 
| 145 145 | 
             
            				elsif numero==5 then
         | 
| 146 | 
            -
            					return  | 
| 146 | 
            +
            					return I18n.t(:noPageH)
         | 
| 147 147 | 
             
            				end
         | 
| 148 148 | 
             
            			end
         | 
| 149 149 | 
             
            		elsif tipo=="vertical" then
         | 
| 150 150 | 
             
            			if level==1 then#info
         | 
| 151 151 | 
             
            				if numero==1 then
         | 
| 152 | 
            -
            					return  | 
| 152 | 
            +
            					return I18n.t(:nYCalc)
         | 
| 153 153 | 
             
            				elsif numero==2 then
         | 
| 154 | 
            -
            					return [4, | 
| 154 | 
            +
            					return [4,I18n.t(:hPCalc)]
         | 
| 155 155 | 
             
            				elsif numero==3 then
         | 
| 156 | 
            -
            					return [11, | 
| 156 | 
            +
            					return [11,I18n.t(:hCalc)]
         | 
| 157 157 | 
             
            				elsif numero==4 then
         | 
| 158 | 
            -
            					return [3, | 
| 158 | 
            +
            					return [3,I18n.t(:hRoyal)]
         | 
| 159 159 | 
             
            				end
         | 
| 160 160 | 
             
            			elsif level==3 then#error
         | 
| 161 161 | 
             
            				if numero==1 then
         | 
| 162 | 
            -
            					return  | 
| 162 | 
            +
            					return I18n.t(:hOnly)
         | 
| 163 163 | 
             
            				elsif numero==2 then
         | 
| 164 | 
            -
            					return  | 
| 164 | 
            +
            					return I18n.t(:hPOnly)
         | 
| 165 165 | 
             
            				elsif numero==3 then
         | 
| 166 | 
            -
            					return  | 
| 166 | 
            +
            					return I18n.t(:nYOnly)
         | 
| 167 167 | 
             
            				elsif numero==4 then
         | 
| 168 | 
            -
            					return  | 
| 168 | 
            +
            					return I18n.t(:nothingV)
         | 
| 169 169 | 
             
            				elsif numero==5 then
         | 
| 170 | 
            -
            					return  | 
| 170 | 
            +
            					return I18n.t(:noPageV)
         | 
| 171 171 | 
             
            				end
         | 
| 172 172 | 
             
            			end
         | 
| 173 173 | 
             
            		elsif tipo=="paginas" then
         | 
| 174 174 | 
             
            			if level==1 then
         | 
| 175 175 | 
             
            				if numero==1 then
         | 
| 176 | 
            -
            					return  | 
| 176 | 
            +
            					return I18n.t(:nPageCalc)
         | 
| 177 177 | 
             
            				elsif numero==2 then
         | 
| 178 | 
            -
            					return [6, | 
| 178 | 
            +
            					return [6,I18n.t(:nSheetCalc)]
         | 
| 179 179 | 
             
            				elsif numero==3 then
         | 
| 180 | 
            -
            					return [5, | 
| 180 | 
            +
            					return [5,I18n.t(:nPagePdf)]
         | 
| 181 181 | 
             
            				end
         | 
| 182 182 | 
             
            			elsif level==3 then
         | 
| 183 183 | 
             
            				if numero==1 then
         | 
| 184 | 
            -
            					return  | 
| 184 | 
            +
            					return I18n.t(:nPageXL)
         | 
| 185 185 | 
             
            				else
         | 
| 186 | 
            -
            					return  | 
| 186 | 
            +
            					return I18n.t(:noPages)
         | 
| 187 187 | 
             
            				end
         | 
| 188 188 | 
             
            			end
         | 
| 189 189 | 
             
            		elsif tipo=="pliegos" then
         | 
| 190 190 | 
             
            			if level==1 then
         | 
| 191 | 
            -
            				return  | 
| 191 | 
            +
            				return I18n.t(:allSheet, :n=>numero)
         | 
| 192 192 | 
             
            			elsif level==2 then
         | 
| 193 | 
            -
            				return  | 
| 193 | 
            +
            				return I18n.t(:sheetXL, :n=>numero)
         | 
| 194 194 | 
             
            			elsif level==3 then
         | 
| 195 | 
            -
            				return  | 
| 195 | 
            +
            				return I18n.t(:sheetXS, :n=>numero)	
         | 
| 196 196 | 
             
            			end
         | 
| 197 197 | 
             
            		end
         | 
| 198 198 |  | 
| @@ -207,16 +207,17 @@ class MensajeMedida < Mensaje | |
| 207 207 | 
             
            	def deducirMensaje(level, tipo, args)
         | 
| 208 208 | 
             
            		if tipo=="horizontal" then
         | 
| 209 209 | 
             
            			if level==3 then
         | 
| 210 | 
            -
             | 
| 210 | 
            +
            			  
         | 
| 211 | 
            +
            				return I18n.t(:nXwwPno, :nX=>args[0], :w=>args[1]["numero"].to_s+args[1]["unidad"], :wP=>args[2]["numero"].to_s+args[2]["unidad"])
         | 
| 211 212 | 
             
            			elsif level==2 then
         | 
| 212 | 
            -
            				return  | 
| 213 | 
            +
            				return I18n.t(:wPXL, :n=>args[0].to_s+args[1])
         | 
| 213 214 | 
             
            			end
         | 
| 214 215 | 
             
            		elsif tipo=="vertical" then
         | 
| 215 216 | 
             
            			if level==3 then
         | 
| 216 | 
            -
            				return  | 
| 217 | 
            +
            				return I18n.t(:nYhhPno, :nY=>args[0], :h=>args[1]["numero"].to_s+args[1]["unidad"], :hP=>args[2]["numero"].to_s+args[2]["unidad"])
         | 
| 217 218 | 
             
            			elsif level==2 then
         | 
| 218 219 | 
             
            			  @id=15
         | 
| 219 | 
            -
            				return  | 
| 220 | 
            +
            				return I18n.t(:hPXL, :n=>args[0].to_s+args[1])
         | 
| 220 221 | 
             
            			end
         | 
| 221 222 | 
             
            		end
         | 
| 222 223 | 
             
            	end
         | 
| @@ -229,14 +230,14 @@ class MensajeTiempo < Mensaje | |
| 229 230 | 
             
                @level=1
         | 
| 230 231 | 
             
                if tipo==1 then#booklets
         | 
| 231 232 | 
             
                  @id=14#fijo
         | 
| 232 | 
            -
                  @mensaje= | 
| 233 | 
            -
                  @mensaje+= | 
| 233 | 
            +
                  @mensaje=I18n.t(:bookltsblink)#blink blink
         | 
| 234 | 
            +
                  @mensaje+=I18n.t(:bookltsxplain)
         | 
| 234 235 | 
             
                elsif tipo==2 then
         | 
| 235 236 | 
             
                  @id=9#fijo
         | 
| 236 | 
            -
                  @mensaje= | 
| 237 | 
            -
                  @mensaje+= | 
| 237 | 
            +
                  @mensaje=I18n.t(:nUpblink)#blink blink
         | 
| 238 | 
            +
                  @mensaje+=I18n.t(:nUpxplain)
         | 
| 238 239 | 
             
                end  
         | 
| 239 | 
            -
                @mensaje+=@tiempo.to_s+"  | 
| 240 | 
            +
                @mensaje+=@tiempo.to_s+" "+I18n.t(:s)
         | 
| 240 241 | 
             
                super(level,mensaje)
         | 
| 241 242 | 
             
              end
         | 
| 242 243 | 
             
            end
         | 
| @@ -246,7 +247,7 @@ class MensajeLadoLado < Mensaje | |
| 246 247 | 
             
              def initialize(nP)
         | 
| 247 248 | 
             
                @id=7#fijo
         | 
| 248 249 | 
             
                @nP=nP
         | 
| 249 | 
            -
                @mensaje= | 
| 250 | 
            +
                @mensaje=I18n.t(:sheetPair, :n=>@nP)
         | 
| 250 251 | 
             
                super(1,@mensaje)
         | 
| 251 252 | 
             
              end
         | 
| 252 253 | 
             
            end
         | 
| @@ -301,7 +302,7 @@ class PreguntaExigePar < Pregunta | |
| 301 302 | 
             
              attr_accessor :nX
         | 
| 302 303 | 
             
              def initialize(nX)
         | 
| 303 304 | 
             
                @nX=nX
         | 
| 304 | 
            -
                @mensaje= | 
| 305 | 
            +
                @mensaje=I18n.t(:nXPair, :nX=>@nX)
         | 
| 305 306 | 
             
                @ok=false
         | 
| 306 307 | 
             
              end
         | 
| 307 308 | 
             
              def metodo(nX)
         | 
| @@ -315,7 +316,7 @@ class PreguntaCXC < Pregunta | |
| 315 316 | 
             
              attr_reader :cXC
         | 
| 316 317 | 
             
              def initialize()
         | 
| 317 318 | 
             
                @ide=4
         | 
| 318 | 
            -
                @mensaje= | 
| 319 | 
            +
                @mensaje=I18n.t(:cXC)
         | 
| 319 320 | 
             
              end
         | 
| 320 321 | 
             
              def metodo(cXC)
         | 
| 321 322 | 
             
                @cXC=cXC["numero"].to_i
         | 
| @@ -329,12 +330,12 @@ class PreguntaEscalado < Pregunta | |
| 329 330 | 
             
                @tipo=tipo
         | 
| 330 331 | 
             
                if @tipo=="horizontalmente" then
         | 
| 331 332 | 
             
                  @ide=1
         | 
| 332 | 
            -
                  @mensaje=" | 
| 333 | 
            +
                  @mensaje=I18n.t(:WnX)+" "+I18n.t(tipo) 
         | 
| 333 334 | 
             
                elsif @tipo=="verticalmente" then
         | 
| 334 335 | 
             
                  @ide=2
         | 
| 335 | 
            -
                  @mensaje=" | 
| 336 | 
            +
                  @mensaje=I18n.t(:HnY)+" "+I18n.t(tipo)
         | 
| 336 337 | 
             
                end
         | 
| 337 | 
            -
                @mensaje+= | 
| 338 | 
            +
                @mensaje+=I18n.t(:scale, :tp=>I18n.t(tipo))
         | 
| 338 339 | 
             
              end
         | 
| 339 340 | 
             
              def metodo(yn)
         | 
| 340 341 | 
             
                @yn=yn
         | 
| @@ -346,7 +347,7 @@ class PreguntaTodasPag < Pregunta | |
| 346 347 | 
             
              attr_accessor :nPliegos, :nX, :nY, :caben, :tiene
         | 
| 347 348 | 
             
              def initialize(nPliegos, nX, nY, caben, tiene)
         | 
| 348 349 | 
             
                @ide=3
         | 
| 349 | 
            -
                @mensaje= | 
| 350 | 
            +
                @mensaje=I18n.t(:allPdfq, :p=>tiene.to_i, :s=>nPliegos.to_i, :nX=>nX, :nY=>nY, :c=>caben.to_i,)
         | 
| 350 351 | 
             
                @nPliegos=nPliegos
         | 
| 351 352 | 
             
                @nX=nX
         | 
| 352 353 | 
             
                @nY=nY
         | 
| @@ -363,7 +364,7 @@ class PreguntaReducir < Pregunta | |
| 363 364 | 
             
              attr_reader :q, :cuadernillosPorCostura, :paginasSobran, :nCuad, :sobranMenos
         | 
| 364 365 | 
             
              def initialize(cuadernillosPorCostura, paginasSobran, nCuad, sobranMenos, q)
         | 
| 365 366 | 
             
                @ide=5
         | 
| 366 | 
            -
                @mensaje= | 
| 367 | 
            +
                @mensaje=I18n.t(:reduceq, :cXC=>cuadernillosPorCostura, :extra=>paginasSobran, :n=>nCuad, :less=>sobranMenos)
         | 
| 367 368 | 
             
                @cuadernillosPorCostura=cuadernillosPorCostura
         | 
| 368 369 | 
             
                @paginasSobran=paginasSobran
         | 
| 369 370 | 
             
                @nCuad=nCuad
         | 
| @@ -406,6 +407,4 @@ class RespuestaImpostor | |
| 406 407 | 
             
              end
         | 
| 407 408 | 
             
            end
         | 
| 408 409 |  | 
| 409 | 
            -
            end#fin modulo
         | 
| 410 | 
            -
            #proximo
         | 
| 411 | 
            -
            #16
         | 
| 410 | 
            +
            end#fin modulo
         | 
    
        data/lib/imposition/metodos.rb
    CHANGED
    
    | @@ -1,7 +1,6 @@ | |
| 1 1 | 
             
            #!/bin/env ruby
         | 
| 2 2 | 
             
            # encoding: utf-8
         | 
| 3 3 |  | 
| 4 | 
            -
             | 
| 5 4 | 
             
            module Metodos
         | 
| 6 5 |  | 
| 7 6 | 
             
            #WORK
         | 
| @@ -24,7 +23,7 @@ def checksCompile() | |
| 24 23 | 
             
              $requerimientos.each do |k,v|
         | 
| 25 24 | 
             
                `which #{v}`
         | 
| 26 25 | 
             
                if !$?.success? then
         | 
| 27 | 
            -
                  return Clases::Mensaje.new(3, | 
| 26 | 
            +
                  return Clases::Mensaje.new(3, I18n.t(:notexe, :x=>v))
         | 
| 28 27 | 
             
                end  
         | 
| 29 28 | 
             
              end
         | 
| 30 29 | 
             
              #probamos que exista el directorio de trabajo
         | 
| @@ -36,10 +35,10 @@ def checksCompile() | |
| 36 35 | 
             
                    Dir.mkdir($work)
         | 
| 37 36 | 
             
                  end
         | 
| 38 37 | 
             
                else
         | 
| 39 | 
            -
                  return Clases::Mensaje.new(3, | 
| 38 | 
            +
                  return Clases::Mensaje.new(3,I18n.t(:wknowrite, :work=>$work))
         | 
| 40 39 | 
             
                end 
         | 
| 41 40 | 
             
              else
         | 
| 42 | 
            -
                return Clases::Mensaje.new(3, | 
| 41 | 
            +
                return Clases::Mensaje.new(3,I18n.t(:wknoexist, :work=>$work))
         | 
| 43 42 | 
             
              end
         | 
| 44 43 | 
             
            end
         | 
| 45 44 |  | 
| @@ -50,23 +49,23 @@ def checksRun(entrada,salida) | |
| 50 49 | 
             
                  if File.owned?(entrada) then
         | 
| 51 50 | 
             
                    busca = /.*(.pdf)/
         | 
| 52 51 | 
             
                    if !busca.match(File.basename(entrada)) then
         | 
| 53 | 
            -
                      return Clases::Mensaje.new(3, | 
| 52 | 
            +
                      return Clases::Mensaje.new(3,I18n.t(:nopdf, :entrada=>entrada))
         | 
| 54 53 | 
             
                    end
         | 
| 55 54 | 
             
                  else
         | 
| 56 | 
            -
                  return Clases::Mensaje.new(3, | 
| 55 | 
            +
                  return Clases::Mensaje.new(3,I18n.t(:notmine))
         | 
| 57 56 | 
             
                  end
         | 
| 58 57 | 
             
                else
         | 
| 59 | 
            -
                return Clases::Mensaje.new(3,entrada | 
| 58 | 
            +
                return Clases::Mensaje.new(3,I18n.t(:notafile, :entrada=>entrada))
         | 
| 60 59 | 
             
                end
         | 
| 61 60 | 
             
              else
         | 
| 62 | 
            -
                return Clases::Mensaje.new(3, | 
| 61 | 
            +
                return Clases::Mensaje.new(3,I18n.t(:nofile))
         | 
| 63 62 | 
             
              end
         | 
| 64 63 | 
             
              #y la salida, de haberla
         | 
| 65 64 | 
             
              if salida!=nil then
         | 
| 66 65 | 
             
              #if File.exists?(salida) then #TODO crearla si es escribible
         | 
| 67 66 | 
             
                salidaDir=File.dirname(salida)
         | 
| 68 67 | 
             
                if !File.writable?(salidaDir) or !File.writable_real?(salidaDir) then
         | 
| 69 | 
            -
                  return Clases::Mensaje.new(3, | 
| 68 | 
            +
                  return Clases::Mensaje.new(3,I18n.t(:exitnowrite))
         | 
| 70 69 | 
             
                end 
         | 
| 71 70 | 
             
              #else
         | 
| 72 71 | 
             
              # puts salida+ " no existe"
         | 
    
        data/lib/locales/en.yml
    ADDED
    
    | @@ -0,0 +1,72 @@ | |
| 1 | 
            +
            en:
         | 
| 2 | 
            +
              welcome: "- Welcome human, let's print a book. says :::impostor::0.9.4.5.1:::"
         | 
| 3 | 
            +
              badunit: "%{input}'s unit is incorrect."
         | 
| 4 | 
            +
              bookletsq: "order for booklets? (y/n)"
         | 
| 5 | 
            +
              WnX: "You didn't specify Page width but you specified Sheet width and how many Pages per Sheet"
         | 
| 6 | 
            +
              horizontalmente: "horizontally"
         | 
| 7 | 
            +
              verticalmente: "vertically"
         | 
| 8 | 
            +
              HnY: "You didn't specify Page height pero you specified Sheet height and how many Pages per Sheet"
         | 
| 9 | 
            +
              scale: "¿Do you really wanna scale %{tp} ? (y/n)"
         | 
| 10 | 
            +
              excesscXC: "Last group of %{cXC} booklets will have extra %{p} pages"
         | 
| 11 | 
            +
              reducecXC: "We can reduce it to %{nCuad} booklets, to have extra %{sobranMenos} pages. ¿0K? (y/n)"
         | 
| 12 | 
            +
              nPages: "nPages"
         | 
| 13 | 
            +
              nSheets: "nSheets"
         | 
| 14 | 
            +
              dead: "::impostor:: won't work like that"
         | 
| 15 | 
            +
              end: "Game Over"
         | 
| 16 | 
            +
              msg:    "::::::::::::messages:::::::::::::"
         | 
| 17 | 
            +
              params: ":::::::::::::params::::::::::::::"
         | 
| 18 | 
            +
              pwidth: "page width"
         | 
| 19 | 
            +
              pheight: "page height"
         | 
| 20 | 
            +
              swidth: "sheet width"
         | 
| 21 | 
            +
              sheight: "sheet height"
         | 
| 22 | 
            +
              info: "info"
         | 
| 23 | 
            +
              warn: "Warning"
         | 
| 24 | 
            +
              error: "ERROR"
         | 
| 25 | 
            +
              nXCalc: "nX (pages per sheet horizontally) calculated based on sheet width (W) and page width (w)"
         | 
| 26 | 
            +
              wPCalc: "W (sheet width) calculated based on page width (w) and number of pages per sheet horizontally (nX)"
         | 
| 27 | 
            +
              wCalc: "w (page width) calculated based on sheet width (W) and number of pages per sheet horizontally (nX)"
         | 
| 28 | 
            +
              wRoyal: "Real page width taken"
         | 
| 29 | 
            +
              wOnly: "You specified w (page width) but not W (sheet width) nor nX (pages per sheet horizontally)"
         | 
| 30 | 
            +
              wPOnly: "You specified W (sheet width) but not w (page width) nor nX (pages per sheet horizontally)"
         | 
| 31 | 
            +
              nXOnly: "You specified nX (pages per sheet horizontally) but nor page width (w) nor sheet width (W)"
         | 
| 32 | 
            +
              nothingH: "You didn't specify page width (w), sheet width (W), nor pages per sheet horizontally (nX)"
         | 
| 33 | 
            +
              noPageH: "No pages fit horizontally"
         | 
| 34 | 
            +
              nYCalc: "nY (pages per sheet vertically) calculated based on sheet height (H) and page height (h)"
         | 
| 35 | 
            +
              hPCalc: "H (sheet height) calculated based on page height (h) and pages per sheet vertically (nY)"
         | 
| 36 | 
            +
              hCalc: "h (page height) calculated based on sheet height (H) and number of pages per sheet vertically (nY)"
         | 
| 37 | 
            +
              hRoyal: "Real page height taken"
         | 
| 38 | 
            +
              hOnly: "You specified h (page height) but not H (sheet height) nor nY (pages per sheet vertically)"
         | 
| 39 | 
            +
              hPOnly: "You specified H (sheet height) but not h (page height) nor nY (pages per sheet vertically)"
         | 
| 40 | 
            +
              nYOnly: "You specified nY (pages per sheet vertically) but not page height (h) nor sheet height (H)"
         | 
| 41 | 
            +
              nothingV: "You didn't specify page height (h), sheet height (H) nor pages per sheet vertically (nY)"
         | 
| 42 | 
            +
              noPageV: "No pages fit vertically"
         | 
| 43 | 
            +
              nPageCalc: "Number of pages calculated based on number of sheets and pages per sheet"
         | 
| 44 | 
            +
              nSheetCalc: "Number of sheets calculated based on number of pages and pages per sheet"
         | 
| 45 | 
            +
              nPagePdf: "All document's pages taken"
         | 
| 46 | 
            +
              nPageXL: "You're specifying more pages than the document has"
         | 
| 47 | 
            +
              noPages: "You didn't specify number of pages or sheets"
         | 
| 48 | 
            +
              allSheet: "%{n} needed sheets taken"
         | 
| 49 | 
            +
              sheetXL: "%{n} sheets leftover"
         | 
| 50 | 
            +
              sheetXS: "%{n} sheets missing"
         | 
| 51 | 
            +
              nXwwPno: "%{nX} pages %{w} wide don't fit into a %{wP} wide sheet"
         | 
| 52 | 
            +
              wPXL: "%{n} wide leftover"
         | 
| 53 | 
            +
              nYhhPno: "%{nY} pages %{h} high don't fit into a %{hP} high sheet"
         | 
| 54 | 
            +
              hPXL: "%{n} high leftover"
         | 
| 55 | 
            +
              bookltsblink: "::::::::::booklets:::::::::::\n"
         | 
| 56 | 
            +
              bookltsxplain: "Ordered for booklets in "
         | 
| 57 | 
            +
              nUpblink: "::::::::::::cut&Stack::::::::::::\n"
         | 
| 58 | 
            +
              nUpxplain: "imposed for Cut & Stack in "
         | 
| 59 | 
            +
              s: "seconds"
         | 
| 60 | 
            +
              sheetPair: "Sheets can't be odd for side by side booklets, %{n}+1 sheets taken"
         | 
| 61 | 
            +
              nXPair: "For foldable booklets pages per sheet must be even horizontally but you specified nX:%{nX}."
         | 
| 62 | 
            +
              cXC: "cXC - booklets per group \n 0: all booklets one inside another, 1: all booklets side by side, or n: in groups of n booklets one inside another"
         | 
| 63 | 
            +
              allPdfq: "The document has %{p} pages, but in %{s} sheets of %{nX}x%{nY} pages %{c} pages fit ¿use document's? (y/n)"
         | 
| 64 | 
            +
              reduceq: "Last group of %{cXC} booklets will have an extra %{extra}p leftover. We can reduce it to %{n} booklets, thus only %{less} booklets would be leftover. ¿0K? (y/n)"
         | 
| 65 | 
            +
              notexe: "%{x} not executable"
         | 
| 66 | 
            +
              wknoexist: "working directory %{work} doesn't exist"
         | 
| 67 | 
            +
              wknowrite: "wrking directory %{work} not writeable"
         | 
| 68 | 
            +
              nopdf: "file %{entrada} is not a pdf"
         | 
| 69 | 
            +
              notmine: "i don't own %{entrada}"
         | 
| 70 | 
            +
              notafile: "%{entrada} not a file"
         | 
| 71 | 
            +
              nofile: "you have specified no file"
         | 
| 72 | 
            +
              exitnowrite: "output directory %{salida} not writeable"
         | 
    
        data/lib/locales/es.yml
    ADDED
    
    | @@ -0,0 +1,72 @@ | |
| 1 | 
            +
            es:
         | 
| 2 | 
            +
              welcome: "- Bienvenido ser humano, leer es volar al centro de los tiempos... \n Dice :::impostor::0.9.4.5.1:::"
         | 
| 3 | 
            +
              badunit: "La unidad de %{input} no es correcta."
         | 
| 4 | 
            +
              bookletsq: "¿imponer en cuadernillos? (y/n)"
         | 
| 5 | 
            +
              WnX: "No especificó ancho de Página pero sí ancho de Pliego y número de páginas por Pliego"
         | 
| 6 | 
            +
              horizontalmente: "horizontalmente"
         | 
| 7 | 
            +
              verticalmente: "verticalmente"
         | 
| 8 | 
            +
              HnY: "No especificó alto de Página pero sí alto de Pliego y número de páginas por Pliego"
         | 
| 9 | 
            +
              scale: "¿Confirma escalar %{tp} ? (y/n)"
         | 
| 10 | 
            +
              excesscXC: "Al último grupo de %{cXC} cuadernillos le sobrarán %{p}p"
         | 
| 11 | 
            +
              reducecXC: "Podemos reducirlo a %{nCuad} cuadernillos, así sobrarían %{sobranMenos}. ¿0K? (y/n)"
         | 
| 12 | 
            +
              nPages: "nPáginas"
         | 
| 13 | 
            +
              nSheets: "nPliegos"
         | 
| 14 | 
            +
              dead: "::impostor:: se niega a trabajar"
         | 
| 15 | 
            +
              end: "Colorín colorado..."
         | 
| 16 | 
            +
              msg:    "::::::::::::mensajes:::::::::::::"
         | 
| 17 | 
            +
              params: ":::::::::::parámetros::::::::::::"
         | 
| 18 | 
            +
              pwidth: "ancho página"
         | 
| 19 | 
            +
              pheight: "alto página"
         | 
| 20 | 
            +
              swidth: "ancho pliego"
         | 
| 21 | 
            +
              sheight: "alto pliego"
         | 
| 22 | 
            +
              info: "info"
         | 
| 23 | 
            +
              warn: "Atención"
         | 
| 24 | 
            +
              error: "ERROR"
         | 
| 25 | 
            +
              nXCalc: "Se calcula nX (páginas por pliego horizontalmente) en base al ancho del pliego (W) y el de la página (w)"
         | 
| 26 | 
            +
              wPCalc: "Se calcula W (ancho del pliego) en base al de la página (w) y la cantidad de páginas por pliego horizontalmente (nX)"
         | 
| 27 | 
            +
              wCalc: "Se calcula  w (ancho de la página) en base al del pliego (W) y la cantidad de páginas por pliego horizontalmente (nX)"
         | 
| 28 | 
            +
              wRoyal: "Se toma el ancho real de la página"
         | 
| 29 | 
            +
              wOnly: "Ha especificado w (ancho de página) pero no W (de pliego) ni nX (páginas por pliego horizontalmente)"
         | 
| 30 | 
            +
              wPOnly: "Ha especificado W (ancho del pliego) pero no w (de página) ni nX (páginas por pliego horizontalmente)"
         | 
| 31 | 
            +
              nXOnly: "Ha especificado nX (páginas por pliego horizontalmente) pero no ancho de página (w) ni de pliego (W)"
         | 
| 32 | 
            +
              nothingH: "No ha especificado ni ancho de página (w), ancho de pliego (W), ni páginas por pliego horizontalmente (nX)"
         | 
| 33 | 
            +
              noPageH: "No cabe ninguna página horizontalmente"
         | 
| 34 | 
            +
              nYCalc: "Se calcula nY (páginas por pliego verticalmente) en base al alto del pliego (H) y el de la página (h)"
         | 
| 35 | 
            +
              hPCalc: "Se calcula H (alto del pliego) en base al de la página (h) y la cantidad de páginas por pliego verticalmente (nY)"
         | 
| 36 | 
            +
              hCalc: "Se calcula  h (alto de la página) en base al del pliego (H) y la cantidad de páginas por pliego verticalmente (nY)"
         | 
| 37 | 
            +
              hRoyal: "Se toma el alto real de la página"
         | 
| 38 | 
            +
              hOnly: "Ha especificado h (alto de página) pero no H (de pliego) ni nY (páginas por pliego verticalmente)"
         | 
| 39 | 
            +
              hPOnly: "Ha especificado H (alto del pliego) pero no h (de página) ni nY (páginas por pliego verticalmente)"
         | 
| 40 | 
            +
              nYOnly: "Ha especificado nY (páginas por pliego verticalmente) pero no alto de página (h) ni de pliego (H)"
         | 
| 41 | 
            +
              nothingV: "No ha especificado ni alto de página (h), alto de pliego (H), ni páginas por pliego verticalmente (nY)"
         | 
| 42 | 
            +
              noPageV: "No cabe ninguna página verticalmente"
         | 
| 43 | 
            +
              nPageCalc: "Se calcula el número de páginas a partir del número de pliegos y de la cantidad de páginas por pliego"
         | 
| 44 | 
            +
              nSheetCalc: "Se calcula el número de pliegos a partir del número de páginas y de la cantidad de paginas por pliego"
         | 
| 45 | 
            +
              nPagePdf: "Se usan todas las páginas del PDF"
         | 
| 46 | 
            +
              nPageXL: "Está especificando más páginas de las que tiene el documento"
         | 
| 47 | 
            +
              noPages: "No ha especificado número de páginas ni de pliegos"
         | 
| 48 | 
            +
              allSheet: "Se toman los %{n} pliegos necesarios"
         | 
| 49 | 
            +
              sheetXL: "Sobran %{n} pliegos"
         | 
| 50 | 
            +
              sheetXS: "Faltan %{n} pliegos"
         | 
| 51 | 
            +
              nXwwPno: "No caben %{nX} paginas de %{w} de ancho en un pliego de %{wP}"
         | 
| 52 | 
            +
              wPXL: "Sobra %{n} de ancho"
         | 
| 53 | 
            +
              nYhhPno: "No caben %{nY} paginas de %{h} de alto en un pliego de %{hP}"
         | 
| 54 | 
            +
              hPXL: "Sobra %{n} de alto"
         | 
| 55 | 
            +
              bookltsblink: "::::::::::cuadernillos:::::::::::\n"
         | 
| 56 | 
            +
              bookltsxplain: "Ordenado en cuadernillos en "
         | 
| 57 | 
            +
              nUpblink: "::::::::::::cut&Stack::::::::::::\n"
         | 
| 58 | 
            +
              nUpxplain: "impuesto para Cut & Stack en "
         | 
| 59 | 
            +
              s: "segundos"
         | 
| 60 | 
            +
              sheetPair: "Como son cuadernillos lado y lado, los pliegos no pueden ser impares, se toman %{n}+1"
         | 
| 61 | 
            +
              nXPair: "Los cuadernillos tienen que caber horizontalmente en números pares pero ud. especificó nX:%{nX}."
         | 
| 62 | 
            +
              cXC: "cXC - cuadernillos por costura \n 0: todos unos dentro de otros, 1: todos uno al lado del otro, o n: de a n cuadernillos unos dentro de otros"
         | 
| 63 | 
            +
              allPdfq: "El pdf tiene %{p} páginas, pero en %{s} pliegos de %{nX}x%{nY} caben %{c} páginas ¿usar las del pdf? (y/n)"
         | 
| 64 | 
            +
              reduceq: "Al último grupo de %{cXC} cuadernillos le sobrarán %{extra}p podemos reducirlo a %{n} cuadernillos, asi sobrarían %{less}. ¿0K? (y/n)"
         | 
| 65 | 
            +
              notexe: "%{x} no es ejecutable"
         | 
| 66 | 
            +
              wknoexist: "el directorio de trabajo %{work} no existe"
         | 
| 67 | 
            +
              wknowrite: "el directorio de trabajo %{work} no se puede escribir"
         | 
| 68 | 
            +
              nopdf: "el archivo %{entrada} no es pdf"
         | 
| 69 | 
            +
              notmine: "el archivo %{entrada} no es mio"
         | 
| 70 | 
            +
              notafile: "%{entrada} no es un archivo"
         | 
| 71 | 
            +
              nofile: "no ha especificado archivo a imponer"
         | 
| 72 | 
            +
              exitnowrite: "el directorio de salida %{salida} no se puede escribir"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,18 +1,17 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: imposition
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 27
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 9
         | 
| 9 9 | 
             
              - 4
         | 
| 10 | 
            -
              -  | 
| 11 | 
            -
               | 
| 12 | 
            -
              version: 0.9.4.5.1
         | 
| 10 | 
            +
              - 6
         | 
| 11 | 
            +
              version: 0.9.4.6
         | 
| 13 12 | 
             
            platform: ruby
         | 
| 14 13 | 
             
            authors: 
         | 
| 15 | 
            -
            -  | 
| 14 | 
            +
            - numerico
         | 
| 16 15 | 
             
            autorequire: 
         | 
| 17 16 | 
             
            bindir: bin
         | 
| 18 17 | 
             
            cert_chain: []
         | 
| @@ -101,6 +100,8 @@ files: | |
| 101 100 | 
             
            - lib/imposition.rb
         | 
| 102 101 | 
             
            - lib/imposition/metodos.rb
         | 
| 103 102 | 
             
            - lib/imposition/clases.rb
         | 
| 103 | 
            +
            - lib/locales/en.yml
         | 
| 104 | 
            +
            - lib/locales/es.yml
         | 
| 104 105 | 
             
            - bin/impostor
         | 
| 105 106 | 
             
            homepage: http://impostor.herokuapp.com
         | 
| 106 107 | 
             
            licenses: []
         |