gettext_i18n_rails 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
data/Readme.md CHANGED
@@ -28,7 +28,7 @@ Setup
28
28
 
29
29
  ##### Optional:
30
30
  Add `gettext` if you want to find translations or build .mo files<br/>
31
- Add `ruby_parser` if you want to find translations inside haml files
31
+ Add `ruby_parser` if you want to find translations inside haml/slim/hamlet files (does not support ruby 1.9 syntax)
32
32
 
33
33
 
34
34
  # Gemfile
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.5
1
+ 0.4.6
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "gettext_i18n_rails"
8
- s.version = "0.4.5"
8
+ s.version = "0.4.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Grosser"]
12
- s.date = "2012-03-12"
12
+ s.date = "2012-04-05"
13
13
  s.email = "grosser.michael@gmail.com"
14
14
  s.files = [
15
15
  "Gemfile",
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
23
23
  "lib/gettext_i18n_rails/action_controller.rb",
24
24
  "lib/gettext_i18n_rails/active_record.rb",
25
25
  "lib/gettext_i18n_rails/backend.rb",
26
+ "lib/gettext_i18n_rails/base_parser.rb",
26
27
  "lib/gettext_i18n_rails/haml_parser.rb",
27
28
  "lib/gettext_i18n_rails/hamlet_parser.rb",
28
29
  "lib/gettext_i18n_rails/html_safe_translations.rb",
@@ -0,0 +1,41 @@
1
+ require 'gettext/utils'
2
+ begin
3
+ require 'gettext/tools/rgettext'
4
+ rescue LoadError #version prior to 2.0
5
+ require 'gettext/rgettext'
6
+ end
7
+
8
+ module GettextI18nRails
9
+ class BaseParser
10
+ def self.target?(file)
11
+ File.extname(file) == ".#{extension}"
12
+ end
13
+
14
+ def self.parse(file, msgids = [])
15
+ return msgids unless load_library
16
+ code = convert_to_code(File.read(file))
17
+ RubyGettextExtractor.parse_string(code, file, msgids)
18
+ rescue Racc::ParseError => e
19
+ $stderr.puts "file ignored: ruby_parser cannot read #{extension} files with 1.9 syntax --- (#{e.message})"
20
+ return msgids
21
+ end
22
+
23
+ def self.load_library
24
+ return true if @library_loaded
25
+
26
+ begin
27
+ require "#{::Rails.root.to_s}/vendor/plugins/#{extension}/lib/#{extension}"
28
+ rescue LoadError
29
+ begin
30
+ require extension # From gem
31
+ rescue LoadError
32
+ puts "A #{extension} file was found, but #{extension} library could not be found, so nothing will be parsed..."
33
+ return false
34
+ end
35
+ end
36
+
37
+ require 'gettext_i18n_rails/ruby_gettext_extractor'
38
+ @library_loaded = true
39
+ end
40
+ end
41
+ end
@@ -1,43 +1,15 @@
1
- require 'gettext/utils'
2
- begin
3
- require 'gettext/tools/rgettext'
4
- rescue LoadError #version prior to 2.0
5
- require 'gettext/rgettext'
6
- end
1
+ require 'gettext_i18n_rails/base_parser'
7
2
 
8
3
  module GettextI18nRails
9
- module HamlParser
10
- module_function
11
-
12
- def target?(file)
13
- File.extname(file) == '.haml'
14
- end
15
-
16
- def parse(file, msgids = [])
17
- return msgids unless prepare_haml_parsing
18
- text = File.read(file)
19
- code = Haml::Engine.new(text).precompiled()
20
- RubyGettextExtractor.parse_string(code, file, msgids)
4
+ class HamlParser < BaseParser
5
+ def self.extension
6
+ "haml"
21
7
  end
22
8
 
23
- def prepare_haml_parsing
24
- return true if @haml_loaded
25
-
26
- begin
27
- require "#{::Rails.root.to_s}/vendor/plugins/haml/lib/haml"
28
- rescue LoadError
29
- begin
30
- require 'haml' # From gem
31
- rescue LoadError
32
- puts "A haml file was found, but haml library could not be found, so nothing will be parsed..."
33
- return false
34
- end
35
- end
36
-
37
- require 'gettext_i18n_rails/ruby_gettext_extractor'
38
- @haml_loaded = true
9
+ def self.convert_to_code(text)
10
+ Haml::Engine.new(text).precompiled()
39
11
  end
40
12
  end
41
13
  end
42
14
 
43
- GetText::RGetText.add_parser(GettextI18nRails::HamlParser)
15
+ GetText::RGetText.add_parser(GettextI18nRails::HamlParser)
@@ -1,35 +1,13 @@
1
- require 'gettext/tools'
2
- begin
3
- require 'gettext/tools/rgettext'
4
- rescue LoadError #version prior to 2.0
5
- require 'gettext/rgettext'
6
- end
1
+ require 'gettext_i18n_rails/base_parser'
7
2
 
8
3
  module GettextI18nRails
9
- module HamletParser
10
- module_function
11
-
12
- def target?(file)
13
- File.extname(file) == '.hamlet'
14
- end
15
-
16
- def parse(file, msgids = [])
17
- return msgids unless prepare_hamlet_parsing
18
- text = File.read(file)
19
- code = Hamlet::Engine.new.call(text)
20
- RubyGettextExtractor.parse_string(code, file, msgids)
4
+ class HamletParser < BaseParser
5
+ def self.extension
6
+ "hamlet"
21
7
  end
22
8
 
23
- def prepare_hamlet_parsing
24
- return true if @hamlet_loaded
25
- begin
26
- require 'hamlet'
27
- rescue LoadError
28
- puts "A hamlet file was found, but hamlet library could not be found, so nothing will be parsed..."
29
- return false
30
- end
31
- require 'gettext_i18n_rails/ruby_gettext_extractor'
32
- @hamlet_loaded = true
9
+ def self.convert_to_code(text)
10
+ Hamlet::Engine.new.call(text)
33
11
  end
34
12
  end
35
13
  end
@@ -1,35 +1,13 @@
1
- require 'gettext/tools'
2
- begin
3
- require 'gettext/tools/rgettext'
4
- rescue LoadError #version prior to 2.0
5
- require 'gettext/rgettext'
6
- end
1
+ require 'gettext_i18n_rails/base_parser'
7
2
 
8
3
  module GettextI18nRails
9
- module SlimParser
10
- module_function
11
-
12
- def target?(file)
13
- File.extname(file) == '.slim'
14
- end
15
-
16
- def parse(file, msgids = [])
17
- return msgids unless prepare_slim_parsing
18
- text = File.read(file)
19
- code = Slim::Engine.new.call(text)
20
- RubyGettextExtractor.parse_string(code, file, msgids)
4
+ class SlimParser < BaseParser
5
+ def self.extension
6
+ "slim"
21
7
  end
22
8
 
23
- def prepare_slim_parsing
24
- return true if @slim_loaded
25
- begin
26
- require 'slim'
27
- rescue LoadError
28
- puts "A slim file was found, but slim library could not be found, so nothing will be parsed..."
29
- return false
30
- end
31
- require 'gettext_i18n_rails/ruby_gettext_extractor'
32
- @slim_loaded = true
9
+ def self.convert_to_code(text)
10
+ Slim::Engine.new.call(text)
33
11
  end
34
12
  end
35
13
  end
@@ -23,10 +23,17 @@ describe GettextI18nRails::HamlParser do
23
23
  end
24
24
  end
25
25
 
26
+ it "ignores 1.9 errors" do
27
+ with_file '= _("xxxx", x: 1)' do |path|
28
+ $stderr.should_receive(:puts).with{|x| x =~ /file ignored/ }
29
+ parser.parse(path, [1]).should == [1]
30
+ end
31
+ end
32
+
26
33
  it "does not find messages in text" do
27
34
  with_file '_("xxxx")' do |path|
28
35
  parser.parse(path, []).should == []
29
36
  end
30
37
  end
31
38
  end
32
- end
39
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gettext_i18n_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-12 00:00:00.000000000 Z
12
+ date: 2012-04-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fast_gettext
16
- requirement: &21390020 !ruby/object:Gem::Requirement
16
+ requirement: &13650380 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *21390020
24
+ version_requirements: *13650380
25
25
  description:
26
26
  email: grosser.michael@gmail.com
27
27
  executables: []
@@ -39,6 +39,7 @@ files:
39
39
  - lib/gettext_i18n_rails/action_controller.rb
40
40
  - lib/gettext_i18n_rails/active_record.rb
41
41
  - lib/gettext_i18n_rails/backend.rb
42
+ - lib/gettext_i18n_rails/base_parser.rb
42
43
  - lib/gettext_i18n_rails/haml_parser.rb
43
44
  - lib/gettext_i18n_rails/hamlet_parser.rb
44
45
  - lib/gettext_i18n_rails/html_safe_translations.rb
@@ -73,7 +74,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
73
74
  version: '0'
74
75
  segments:
75
76
  - 0
76
- hash: -3104048641149797128
77
+ hash: 846699544332952376
77
78
  required_rubygems_version: !ruby/object:Gem::Requirement
78
79
  none: false
79
80
  requirements: