avoiding naming conflict with using I18n module in AASM'ified class

This commit is contained in:
Thorsten Böttger 2011-09-10 18:41:48 +02:00
parent 192fc96ffa
commit 55fbd65fa9
6 changed files with 13 additions and 13 deletions

View File

@ -7,4 +7,4 @@ require File.join(File.dirname(__FILE__), 'aasm', 'supporting_classes')
require File.join(File.dirname(__FILE__), 'aasm', 'state_machine') require File.join(File.dirname(__FILE__), 'aasm', 'state_machine')
require File.join(File.dirname(__FILE__), 'aasm', 'persistence') require File.join(File.dirname(__FILE__), 'aasm', 'persistence')
require File.join(File.dirname(__FILE__), 'aasm', 'aasm') require File.join(File.dirname(__FILE__), 'aasm', 'aasm')
require File.join(File.dirname(__FILE__), 'aasm', 'i18n') require File.join(File.dirname(__FILE__), 'aasm', 'localizer')

View File

@ -79,7 +79,7 @@ module AASM
end end
def human_event_name(event) def human_event_name(event)
AASM::I18n.new.human_event_name(self, event) AASM::Localizer.new.human_event_name(self, event)
end end
end end
@ -123,7 +123,7 @@ module AASM
end end
def human_state def human_state
AASM::I18n.new.human_state(self) AASM::Localizer.new.human_state(self)
end end
private private

View File

@ -1,4 +1,4 @@
class AASM::I18n class AASM::Localizer
def human_event_name(klass, event) def human_event_name(klass, event)
defaults = ancestors_list(klass).map do |ancestor| defaults = ancestors_list(klass).map do |ancestor|
:"#{i18n_scope(klass)}.events.#{i18n_klass(ancestor)}.#{event}" :"#{i18n_scope(klass)}.events.#{i18n_klass(ancestor)}.#{event}"

View File

@ -1,10 +1,10 @@
en: en:
activerecord: activerecord:
events: events:
i18n_test_model: localizer_test_model:
close: "Let's close it!" close: "Let's close it!"
attributes: attributes:
i18n_test_model: localizer_test_model:
aasm_state: aasm_state:
open: "It's opened now!" open: "It's opened now!"

View File

@ -1,6 +1,6 @@
ActiveRecord::Schema.define(:version => 0) do ActiveRecord::Schema.define(:version => 0) do
%w{gates readers writers transients simples thieves i18n_test_models}.each do |table_name| %w{gates readers writers transients simples thieves localizer_test_models}.each do |table_name|
create_table table_name, :force => true create_table table_name, :force => true
end end

View File

@ -5,7 +5,7 @@ require 'i18n'
ActiveRecord::Base.logger = Logger.new(STDERR) ActiveRecord::Base.logger = Logger.new(STDERR)
class I18nTestModel < ActiveRecord::Base class LocalizerTestModel < ActiveRecord::Base
include AASM include AASM
attr_accessor :aasm_state attr_accessor :aasm_state
@ -18,7 +18,7 @@ class I18nTestModel < ActiveRecord::Base
aasm_event :open aasm_event :open
end end
describe AASM::I18n do describe AASM::Localizer do
before(:all) do before(:all) do
I18n.load_path << 'spec/en.yml' I18n.load_path << 'spec/en.yml'
I18n.default_locale = :en I18n.default_locale = :en
@ -26,8 +26,8 @@ describe AASM::I18n do
after(:all) { I18n.load_path.clear } after(:all) { I18n.load_path.clear }
let (:foo_opened) { I18nTestModel.new } let (:foo_opened) { LocalizerTestModel.new }
let (:foo_closed) { I18nTestModel.new.tap { |x| x.aasm_state = :closed } } let (:foo_closed) { LocalizerTestModel.new.tap { |x| x.aasm_state = :closed } }
context '.human_state' do context '.human_state' do
it 'should return translated state value' do it 'should return translated state value' do
@ -41,11 +41,11 @@ describe AASM::I18n do
context '.human_event_name' do context '.human_event_name' do
it 'should return translated event name' do it 'should return translated event name' do
I18nTestModel.human_event_name(:close).should == "Let's close it!" LocalizerTestModel.human_event_name(:close).should == "Let's close it!"
end end
it 'should return humanized event name' do it 'should return humanized event name' do
I18nTestModel.human_event_name(:open).should == "Open" LocalizerTestModel.human_event_name(:open).should == "Open"
end end
end end
end end