phrase 0.0.7 → 0.0.8

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/Gemfile CHANGED
@@ -1,6 +1,7 @@
1
1
  source :rubygems
2
2
 
3
3
  gem 'json'
4
+ gem "activesupport", :require => "active_support"
4
5
 
5
6
  group :test do
6
7
  gem 'rspec'
data/Gemfile.lock CHANGED
@@ -1,6 +1,7 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ activesupport (3.0.0)
4
5
  addressable (2.2.7)
5
6
  crack (0.3.1)
6
7
  diff-lcs (1.1.3)
@@ -22,6 +23,7 @@ PLATFORMS
22
23
  ruby
23
24
 
24
25
  DEPENDENCIES
26
+ activesupport
25
27
  json
26
28
  rspec
27
29
  vcr
data/lib/phrase.rb CHANGED
@@ -1,9 +1,12 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
 
3
+ require 'active_support/all'
4
+
3
5
  module Phrase
4
6
  autoload :Config, 'phrase/config'
5
7
 
6
8
  class << self
9
+
7
10
  def config
8
11
  Thread.current[:phrase_config] ||= Phrase::Config.new
9
12
  end
@@ -32,3 +35,12 @@ module Phrase
32
35
  require 'phrase/engine'
33
36
  require 'phrase/backend'
34
37
  end
38
+
39
+ module I18n
40
+ class << self
41
+ def translate(*args)
42
+ Phrase.backend.translate(*args)
43
+ end
44
+ alias_method :t, :translate
45
+ end
46
+ end
@@ -4,10 +4,7 @@ module Phrase::Backend::Base
4
4
 
5
5
  def translate(*args)
6
6
  key = lookup_normalized_key(*args)
7
- case key[:translation]
8
- when String, nil, "" then decorate_translation(key[:key])
9
- else key[:translation]
10
- end
7
+ decorate_translation(key[:key])
11
8
  end
12
9
 
13
10
  protected
@@ -16,19 +13,11 @@ module Phrase::Backend::Base
16
13
  "#{Phrase.prefix}phrase_#{key}#{Phrase.suffix}"
17
14
  end
18
15
 
19
- def translation_presence(*args)
20
- I18n.translate!(*args)
21
- rescue I18n::MissingTranslationData => e
22
- nil
23
- end
24
-
25
16
  def lookup_normalized_key(*args)
26
- translation = translation_presence(*args)
27
17
  caller = identify_caller
28
18
 
29
- if (translation.nil? || translation.is_a?(Hash)) && caller && args.first =~ /^\./
19
+ if caller && args.first =~ /^\./
30
20
  args = transform_args_for_caller(caller, *args)
31
- translation = translation_presence(*args)
32
21
  end
33
22
 
34
23
  new_args = split_args(*args)
@@ -36,13 +25,20 @@ module Phrase::Backend::Base
36
25
  normalized_key = I18n::Backend::Flatten.normalize_flat_keys(*new_args)
37
26
  normalized_key.gsub!("..", ".")
38
27
 
39
- {:key => normalized_key, :translation => translation}
28
+ {:key => normalized_key}
40
29
  end
41
30
 
42
31
  def identify_caller
43
32
  caller = nil
44
- send(:caller)[0..6].each { |string| caller = match_caller(string) unless caller }
45
- caller.present? ? find_lookup_scope(caller) : nil
33
+ send(:caller)[0..6].each do |string|
34
+ caller = match_caller(string) unless caller
35
+ end
36
+
37
+ if caller && caller.present?
38
+ find_lookup_scope(caller)
39
+ else
40
+ nil
41
+ end
46
42
  end
47
43
 
48
44
  def match_caller(string)
data/lib/phrase/engine.rb CHANGED
@@ -1,19 +1,21 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
 
3
3
  require 'phrase'
4
- require 'rails'
4
+ require 'i18n'
5
5
 
6
- module Phrase
7
- class Engine < Rails::Engine
6
+ if defined? Rails
7
+ module Phrase
8
+ class Engine < Rails::Engine
8
9
 
9
- initializer 'phrase' do |app|
10
- ActiveSupport.on_load(:action_view) do
11
- ::ActionView::Base.send :include, Phrase::Extensions::Base
12
- end
10
+ initializer 'phrase' do |app|
11
+ ActiveSupport.on_load(:action_view) do
12
+ ::ActionView::Base.send :include, Phrase::Extensions::Base
13
+ end
13
14
 
14
- ActiveSupport.on_load(:action_controller) do
15
- ::ActionController::Base.send :include, Phrase::Extensions::Base
15
+ ActiveSupport.on_load(:action_controller) do
16
+ ::ActionController::Base.send :include, Phrase::Extensions::Base
17
+ end
16
18
  end
17
19
  end
18
20
  end
19
- end
21
+ end
@@ -1,4 +1,5 @@
1
1
  # -*- encoding : utf-8 -*-
2
+
2
3
  module Phrase::Extensions::Hash
3
4
  extend ActiveSupport::Concern
4
5
 
data/phrase.gemspec CHANGED
@@ -4,7 +4,7 @@ $:.unshift lib unless $:.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "phrase"
7
- s.version = "0.0.7"
7
+ s.version = "0.0.8"
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ["Dynport GmbH"]
10
10
  s.email = ["info@phraseapp.com"]
@@ -16,5 +16,6 @@ Gem::Specification.new do |s|
16
16
  git_files = `git ls-files | grep -v spec/`.split("\n") rescue ''
17
17
  s.files = git_files
18
18
  s.executables = %w(phrase)
19
- s.require_paths = ["lib"]
19
+ s.require_paths = ["lib"]
20
+ s.add_dependency('activesupport', '~> 3.0')
20
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phrase
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,19 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-13 00:00:00.000000000Z
13
- dependencies: []
12
+ date: 2012-04-18 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: &70124418301040 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '3.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70124418301040
14
25
  description: phrase allows you to edit translations inline, on the page itself. More
15
26
  information at phraseapp.com
16
27
  email: