Changeset 1344
- Timestamp:
- 02/13/08 18:19:38 (1 year ago)
- Files:
-
- org.jalcedo.babel.database/trunk/README.ja (added)
- org.jalcedo.babel.database/trunk/Rakefile (modified) (1 diff)
- org.jalcedo.babel.database/trunk/init.rb (modified) (2 diffs)
- org.jalcedo.babel.database/trunk/models/babel.rb (added)
- org.jalcedo.babel.database/trunk/models/babel/dictionary.rb (modified) (1 diff)
- org.jalcedo.babel.database/trunk/models/babel/register.rb (modified) (2 diffs)
- org.jalcedo.babel.database/trunk/models/babel/translation.rb (modified) (2 diffs)
- org.jalcedo.babel.database/trunk/spec/babel/translation_spec.rb (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
org.jalcedo.babel.database/trunk/Rakefile
r1337 r1344 9 9 desc "Run all specs" 10 10 Spec::Rake::SpecTask.new('specs') do |t| 11 ENV["APP_ENV"] = 'test'12 13 11 t.spec_opts = ["--format", "specdoc", "--colour"] 14 12 t.spec_files = Dir['spec/**/*_spec.rb'].sort 15 13 end 14 15 desc 'Register translated words.' 16 task :register do 17 require 'init' 18 project = ENV['project'] ? ENV['project'] : 'eclipse' 19 version = ENV['version'] ? ENV['version'] : '3.3' 20 user = ENV['user'] 21 lang = ENV['language'] ? ENV['language'] : 'ja' 22 23 Babel::Register.new(project, version, user, lang).register 24 end org.jalcedo.babel.database/trunk/init.rb
r1341 r1344 1 ENV["APP_ENV"] ||= ' development'1 ENV["APP_ENV"] ||= 'test' 2 2 3 require 'java'4 3 require 'yaml' 5 require 'rubygems'6 7 require 'active_record'8 4 9 5 APP_ROOT = "#{File.dirname(__FILE__)}" unless defined?(APP_ROOT) … … 15 11 $:.unshift File.join(APP_ROOT, 'spec', 'helper') if ENV["APP_ENV"] == 'test' 16 12 13 require 'babel' 14 17 15 ActiveRecord::Base.establish_connection(DATABASE_CONFIG[ENV["APP_ENV"]]) org.jalcedo.babel.database/trunk/models/babel/dictionary.rb
r1342 r1344 10 10 # find a dictionary for iso_code. 11 11 def find iso_code 12 Dictionary.default_dictionaries['ja'] ||= JapaneaseDictionary.new13 12 return Dictionary.default_dictionaries[iso_code] 14 13 end org.jalcedo.babel.database/trunk/models/babel/register.rb
r1342 r1344 26 26 String.transaction do 27 27 self.files.each do |file| 28 #puts "files is #{file.id}" 28 29 String.find_all_by_file_id(file.id).each do |string| 30 #puts "string is #{string.id}" 29 31 tr = Translation.new 30 32 tr.string_id = string.id … … 32 34 tr.value = @dictionary.lookup(string.value) 33 35 tr.user = @user 34 tr.save! 36 # TODO validate tr and logged. 37 tr.save 35 38 end 36 39 end org.jalcedo.babel.database/trunk/models/babel/translation.rb
r1342 r1344 1 1 2 2 module Babel 3 3 4 class Translation < ActiveRecord::Base 4 5 set_primary_key 'translation_id' … … 8 9 belongs_to :user, :foreign_key => "userid" 9 10 11 validates_presence_of :value 12 10 13 def validate_on_create 11 14 return unless active_translation = Translation.find(:first, 12 :conditions => ['string_id and language_id and is_active', string_id, language_id, 1] 15 :conditions => ['string_id = ? and language_id = ? and is_active = ?', string_id, language_id, 1] 16 # XXX cant specify this bug. 17 # :conditions => ['string_id and language_id and is_active', string_id, language_id, 1] 13 18 ) 19 #puts "#{active_translation.value}, #{value}, #{active_translation.string_id}, #{string_id}" 14 20 if active_translation.value == value 15 21 errors.add(:value, 'Same value on active translation.') org.jalcedo.babel.database/trunk/spec/babel/translation_spec.rb
r1341 r1344 12 12 13 13 before(:each) do 14 @translation = create_translation 'ファイル'15 @translation.save!16 14 end 17 15 … … 21 19 22 20 it 'should new translation is active.' do 21 @translation = create_translation 'ファイル' 22 @translation.save! 23 23 @translation.is_active.should == 1 24 end 25 26 it 'should not save empty value file.' do 27 @translation = create_translation '' 28 lambda { @translation.save! }.should raise_error 29 end 30 31 it 'should not save nil value file.' do 32 @translation = create_translation nil 33 lambda { @translation.save! }.should raise_error 24 34 end 25 35 end … … 58 68 59 69 before(:all) do 70 @other_translation = create_translation 'へんしゅー' 71 @other_translation.string = Babel::String.find_by_value('Edit') 72 @other_translation.save! 73 60 74 # old old is not in_active 61 75 @old_old_translation = create_translation 'ヘルプ' … … 65 79 @old_translation = create_translation 'ヘルプププ' 66 80 @old_translation.save! 81 82 @other_translation = create_translation '編集' 83 @other_translation.string = Babel::String.find_by_value('Edit') 84 @other_translation.save! 67 85 end 68 86 … … 74 92 @translation = create_translation 'ヘルプププ' 75 93 lambda { @translation.save! }.should raise_error 94 @translation = create_translation '編集' 95 @translation.string = Babel::String.find_by_value('Edit') 96 lambda { @translation.save! }.should raise_error 97 end 98 99 it 'should register same value for another strings.' do 100 @translation = create_translation 'ファイル' 101 lambda { @translation.save! }.should_not raise_error 76 102 end 77 103
