ymdp 0.1.9 → 0.1.10
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/.base +5 -0
- data/.gitignore +4 -0
- data/Gemfile +6 -2
- data/History.txt +11 -0
- data/Rakefile +7 -1
- data/VERSION +1 -1
- data/lib/ymdp/base.rb +1 -1
- data/lib/ymdp/commands/generate.rb +3 -3
- data/lib/ymdp/compiler/template.rb +11 -46
- data/lib/ymdp/tasks/keys.rake +3 -3
- data/spec/compiler_template_spec.rb +1 -1
- data/spec/spec_helper.rb +3 -0
- data/spec/stubs.rb +5 -0
- data/ymdp.gemspec +3 -2
- metadata +2 -1
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -3,11 +3,15 @@ gem "haml"
|
|
3
3
|
gem "json"
|
4
4
|
gem "hpricot"
|
5
5
|
gem "ruby-growl"
|
6
|
-
gem "activesupport"
|
6
|
+
gem "activesupport", :require_as => "active_support"
|
7
7
|
gem "sishen-rtranslate"
|
8
8
|
gem "progressions-basepath", :require_as => "basepath"
|
9
|
-
gem "
|
9
|
+
gem "progressions-g", :require_as => "g"
|
10
10
|
gem "timer"
|
11
11
|
gem "serenity"
|
12
12
|
gem "ymdp_generator"
|
13
13
|
gem "ymdt"
|
14
|
+
gem "yrb"
|
15
|
+
gem "idiom"
|
16
|
+
|
17
|
+
bin_path "vendor/bin"
|
data/History.txt
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
== in Git
|
2
|
+
|
3
|
+
|
4
|
+
== 0.1.10 2010-01-22
|
5
|
+
* minor enhancements
|
6
|
+
* use YRB gem to parse .pres files
|
7
|
+
|
8
|
+
== 0.1.9 2010-01-22
|
9
|
+
* major enhancements
|
10
|
+
* extract translation into new gem, Idiom
|
11
|
+
|
1
12
|
== 0.1.8.1 2010-01-20
|
2
13
|
* bug fixes
|
3
14
|
* fix typo in constants.rb
|
data/Rakefile
CHANGED
@@ -24,6 +24,7 @@ begin
|
|
24
24
|
gem.add_runtime_dependency "serenity", ">= 0"
|
25
25
|
gem.add_runtime_dependency "ymdp_generator", ">= 0"
|
26
26
|
gem.add_runtime_dependency "ymdt", ">= 0"
|
27
|
+
gem.add_runtime_dependency "yrb", ">= 0"
|
27
28
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
28
29
|
end
|
29
30
|
Jeweler::GemcutterTasks.new
|
@@ -46,7 +47,12 @@ Spec::Rake::SpecTask.new(:rcov) do |spec|
|
|
46
47
|
spec.rcov = true
|
47
48
|
end
|
48
49
|
|
49
|
-
task :
|
50
|
+
task :bundle do
|
51
|
+
require 'vendor/gems/environment'
|
52
|
+
Bundler.require_env
|
53
|
+
end
|
54
|
+
|
55
|
+
task :spec => [:bundle, :check_dependencies]
|
50
56
|
|
51
57
|
task :default => :spec
|
52
58
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.10
|
data/lib/ymdp/base.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
require 'translator/base'
|
2
|
-
|
3
1
|
if ARGV[0] == "view"
|
4
2
|
p = {
|
5
3
|
:template_path => File.join(File.dirname(__FILE__), "..", "generator", "templates"),
|
6
4
|
:application_path => APPLICATION_PATH
|
7
5
|
}
|
8
6
|
YMDP::Generator::Base.new(p).generate(ARGV[1])
|
9
|
-
|
7
|
+
Dir["#{BASE_PATH}/app/assets/yrb/en-US/new_#{ARGV[1]}_en-US.pres"].each do |path|
|
8
|
+
Idiom::Base.translate(:source => path)
|
9
|
+
end
|
10
10
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'yrb'
|
2
|
+
|
1
3
|
module YMDP
|
2
4
|
module Compiler #:nodoc:
|
3
5
|
module Template #:nodoc:
|
@@ -294,7 +296,7 @@ module YMDP
|
|
294
296
|
# Convert them to a hash and write the hash to a JSON file.
|
295
297
|
#
|
296
298
|
# Each language can have as many YRB translation files (with an extension of ".pres")
|
297
|
-
# as necessary. The files are concatenated together and
|
299
|
+
# as necessary. The files are concatenated together and converted into a single JSON file
|
298
300
|
# for each language.
|
299
301
|
#
|
300
302
|
class YRB < Base
|
@@ -322,7 +324,13 @@ module YMDP
|
|
322
324
|
# Turn it back into a hash.
|
323
325
|
#
|
324
326
|
def to_hash
|
325
|
-
|
327
|
+
yrb
|
328
|
+
end
|
329
|
+
|
330
|
+
# Parse YRB file
|
331
|
+
#
|
332
|
+
def yrb
|
333
|
+
::YRB.load_file(@file)
|
326
334
|
end
|
327
335
|
|
328
336
|
# Convert the hash to Yaml if you should want to do that.
|
@@ -340,7 +348,7 @@ module YMDP
|
|
340
348
|
# case, the JSON file.
|
341
349
|
#
|
342
350
|
def processed_template
|
343
|
-
|
351
|
+
yrb.to_json
|
344
352
|
end
|
345
353
|
|
346
354
|
# Validate the JSON file.
|
@@ -362,49 +370,6 @@ module YMDP
|
|
362
370
|
def convert_filename(filename)
|
363
371
|
"#{base_filename(filename)}.json"
|
364
372
|
end
|
365
|
-
|
366
|
-
# Is this line a valid comment in YRB?
|
367
|
-
def comment?(line)
|
368
|
-
line =~ /^[\s]*#/
|
369
|
-
end
|
370
|
-
|
371
|
-
# Is this line valid YRB syntax?
|
372
|
-
#
|
373
|
-
def key_and_value_from_line(line)
|
374
|
-
if line =~ /^([^\=]+)=(.+)/
|
375
|
-
return $1, $2.strip
|
376
|
-
else
|
377
|
-
return nil, nil
|
378
|
-
end
|
379
|
-
end
|
380
|
-
|
381
|
-
# Parse YRB and add it to a hash. Raise an error if the key already exists in the hash.
|
382
|
-
#
|
383
|
-
def process_template(template)
|
384
|
-
@hash = {}
|
385
|
-
lines = template.split("\n")
|
386
|
-
lines.each do |line|
|
387
|
-
unless comment?(line)
|
388
|
-
key, value = key_and_value_from_line(line)
|
389
|
-
unless key.blank?
|
390
|
-
if @hash.has_key?(key)
|
391
|
-
$stdout.puts
|
392
|
-
$stdout.puts "Duplicate value in #{destination_path}"
|
393
|
-
$stdout.puts " #{key}=#{@hash[key]}"
|
394
|
-
$stdout.puts " #{key}=#{value}"
|
395
|
-
$stdout.puts
|
396
|
-
if @hash[key] == value
|
397
|
-
$stdout.puts " Values are the same but duplicate values still should not exist!"
|
398
|
-
$stdout.puts
|
399
|
-
end
|
400
|
-
raise "Duplicate key error"
|
401
|
-
end
|
402
|
-
@hash[key] = value
|
403
|
-
end
|
404
|
-
end
|
405
|
-
end
|
406
|
-
@hash
|
407
|
-
end
|
408
373
|
|
409
374
|
# Write JSON file to its destination.
|
410
375
|
#
|
data/lib/ymdp/tasks/keys.rake
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
require 'lib/init'
|
2
2
|
|
3
|
-
require 'translator/base'
|
4
|
-
|
5
3
|
@key = ENV["key"] || ""
|
6
4
|
@key = @key.upcase
|
7
5
|
|
@@ -77,7 +75,9 @@ namespace :keys do
|
|
77
75
|
|
78
76
|
desc "Translate any new keys into non-US languages"
|
79
77
|
task :translate do
|
80
|
-
|
78
|
+
Dir["#{BASE_PATH}/app/assets/yrb/en-US/*.pres"].each do |path|
|
79
|
+
Idiom::Base.translate(:source => path)
|
80
|
+
end
|
81
81
|
end
|
82
82
|
|
83
83
|
task :rename do
|
@@ -63,7 +63,7 @@ describe "Template" do
|
|
63
63
|
File.stub!(:read).with("filename.pres").and_return("KEY=value\nKEY=value\n")
|
64
64
|
lambda {
|
65
65
|
@js_template.build
|
66
|
-
}.should raise_error(
|
66
|
+
}.should raise_error(/Duplicate key error/)
|
67
67
|
end
|
68
68
|
|
69
69
|
describe "methods" do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
2
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
3
|
|
4
|
+
|
4
5
|
BASE_PATH = File.dirname(__FILE__) + "/data"
|
5
6
|
CONFIG_PATH = "#{BASE_PATH}/config"
|
6
7
|
SERVERS_PATH = "#{BASE_PATH}/servers"
|
@@ -13,6 +14,8 @@ require 'g'
|
|
13
14
|
require 'active_support'
|
14
15
|
require 'spec'
|
15
16
|
require 'spec/autorun'
|
17
|
+
require 'yrb'
|
18
|
+
require 'timer'
|
16
19
|
|
17
20
|
require 'stubs'
|
18
21
|
require 'default_settings'
|
data/spec/stubs.rb
CHANGED
@@ -3,6 +3,7 @@ def stub_io
|
|
3
3
|
stub_file_io
|
4
4
|
stub_file_utils
|
5
5
|
stub_yaml
|
6
|
+
stub_yrb
|
6
7
|
stub_growl
|
7
8
|
end
|
8
9
|
|
@@ -40,6 +41,10 @@ def stub_yaml(output_hash={})
|
|
40
41
|
YAML.stub!(:load_file).and_return(output_hash)
|
41
42
|
end
|
42
43
|
|
44
|
+
def stub_yrb(output_hash={})
|
45
|
+
YRB.stub!(:load_file).and_return(output_hash)
|
46
|
+
end
|
47
|
+
|
43
48
|
def stub_erb(processed_file="")
|
44
49
|
@erb ||= mock('erb').as_null_object
|
45
50
|
@erb.stub!(:result).and_return(processed_file)
|
data/ymdp.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ymdp}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.10"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jeff Coleman"]
|
@@ -17,7 +17,8 @@ Gem::Specification.new do |s|
|
|
17
17
|
"README.rdoc"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
|
-
".
|
20
|
+
".base",
|
21
|
+
".document",
|
21
22
|
".gitignore",
|
22
23
|
"Gemfile",
|
23
24
|
"History.txt",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ymdp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Coleman
|
@@ -172,6 +172,7 @@ extra_rdoc_files:
|
|
172
172
|
- LICENSE
|
173
173
|
- README.rdoc
|
174
174
|
files:
|
175
|
+
- .base
|
175
176
|
- .document
|
176
177
|
- .gitignore
|
177
178
|
- Gemfile
|