rails_dictionary 0.1.2 → 0.2
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/.gitignore +3 -0
- data/CHANGELOG +3 -0
- data/Gemfile +3 -2
- data/README.rdoc +5 -4
- data/Rakefile +2 -1
- data/lib/rails_dictionary/models/active_record_extension.rb +1 -0
- data/lib/rails_dictionary/models/acts_as_dictionary.rb +6 -3
- data/lib/rails_dictionary/version.rb +1 -1
- data/lib/rails_dictionary.rb +3 -2
- data/spec/rails_dictionary_spec.rb +5 -0
- metadata +17 -9
- data/log/development.log +0 -2
data/.gitignore
CHANGED
data/CHANGELOG
CHANGED
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -5,9 +5,10 @@ This gem can map these static data to a Dictionary#method like Dictionary#studen
|
|
5
5
|
|
6
6
|
= Usage
|
7
7
|
== Installation
|
8
|
-
Version
|
8
|
+
Version 0.2 support Rails4
|
9
|
+
|
10
|
+
Version 0.1 support Rails3.1
|
9
11
|
|
10
|
-
Rail3
|
11
12
|
gem 'rails_dictionary'
|
12
13
|
or
|
13
14
|
gem "rails_dictionary", :git => 'git://github.com/raykin/rails_dictionary'
|
@@ -74,7 +75,8 @@ Here is what should be like.Student model can be other models.
|
|
74
75
|
end
|
75
76
|
|
76
77
|
class Student < ActiveRecord::Base
|
77
|
-
acts_as_dict_slave
|
78
|
+
# use acts_as_dict_slave when your rails_dictionary version < 0.2
|
79
|
+
acts_as_dict_consumer
|
78
80
|
end
|
79
81
|
|
80
82
|
== Features (relies on the above data) :
|
@@ -126,6 +128,5 @@ In short,when you confused with the debug data,try running "rails tmp:clear" fir
|
|
126
128
|
Remove engine. Becase for the view layer we can use gem rails_admin. so this gem did not need rails engine.
|
127
129
|
Is there any exist low level method to monitor the change of descendents?
|
128
130
|
Add test code for cache DictType.tab_and_column,then uncomment the cache code.
|
129
|
-
Remove gems/rails_dictionary-0.0.9.4/app/views from rails view path
|
130
131
|
|
131
132
|
There are no conventions and implemention to map Class like Ckeditor::Asset to a legal method name.
|
data/Rakefile
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
require 'bundler'
|
2
2
|
Bundler::GemHelper.install_tasks
|
3
3
|
|
4
|
+
task :default => [:test]
|
5
|
+
|
4
6
|
desc "Running Test"
|
5
7
|
task :test do
|
6
8
|
# system "ruby -I . test/rails_dictionary_test.rb " # used with version 0.0.8 or before it
|
7
9
|
system "rspec spec/rails_dictionary_spec.rb"
|
8
10
|
end
|
9
|
-
|
@@ -25,7 +25,7 @@ module RailsDictionary
|
|
25
25
|
def method_missing(method_id,options={})
|
26
26
|
if DictType.all_types.include? method_id
|
27
27
|
method_name=method_id.to_s.downcase
|
28
|
-
Rails.cache.fetch("Dictionary.#{method_name}") { dict_type_name_eq(method_name).
|
28
|
+
Rails.cache.fetch("Dictionary.#{method_name}") { dict_type_name_eq(method_name).to_a }
|
29
29
|
listed_attr=Rails.cache.read("Dictionary.#{method_name}").dup # Instance of ActiveRecord::Relation can not be dup?
|
30
30
|
build_scope_method(method_id)
|
31
31
|
if options.keys.include? :locale or options.keys.include? "locale"
|
@@ -45,8 +45,7 @@ module RailsDictionary
|
|
45
45
|
if options.keys.include? :locale or options.keys.include? "locale"
|
46
46
|
locale="name_#{ options[:locale] }"
|
47
47
|
if options[:locale].to_sym == :zh
|
48
|
-
|
49
|
-
Proc.new { |a,b| conv.iconv(a.send(locale)) <=> conv.iconv(b.send(locale)) }
|
48
|
+
Proc.new { |a,b| a.send(locale).encode('GBK') <=> b.send(locale).encode('GBK') }
|
50
49
|
else
|
51
50
|
Proc.new { |a,b| a.send(locale).downcase <=> b.send(locale).downcase }
|
52
51
|
end
|
@@ -55,6 +54,10 @@ module RailsDictionary
|
|
55
54
|
end
|
56
55
|
end
|
57
56
|
|
57
|
+
def respond_to?(name, include_private=false)
|
58
|
+
DictType.all_types.include?(name) || super
|
59
|
+
end
|
60
|
+
|
58
61
|
private
|
59
62
|
|
60
63
|
def build_scope_method(name)
|
data/lib/rails_dictionary.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
-
require 'iconv'
|
2
|
-
|
3
1
|
require File.join(File.dirname(__FILE__), "rails_dictionary/array_core_ext")
|
4
2
|
require File.join(File.dirname(__FILE__), "rails_dictionary/models/active_record_extension")
|
5
3
|
require File.join(File.dirname(__FILE__), "rails_dictionary/models/acts_as_dict_type")
|
6
4
|
require File.join(File.dirname(__FILE__), "rails_dictionary/models/acts_as_dictionary")
|
7
5
|
require File.join(File.dirname(__FILE__), "rails_dictionary/models/acts_as_dict_slave")
|
8
6
|
|
7
|
+
# rake tasks not autoload in Rails4
|
8
|
+
Dir[File.expand_path('../tasks/**/*.rake',__FILE__)].each { |ext| load ext } if defined?(Rake)
|
9
|
+
|
9
10
|
::ActiveRecord::Base.send :include, RailsDictionary::ActiveRecordExtension
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
+
require 'debugger'
|
2
3
|
require File.expand_path('spec_helper', File.dirname(__FILE__))
|
3
4
|
|
4
5
|
describe RailsDictionary::ActiveRecordExtension do
|
@@ -40,6 +41,10 @@ describe RailsDictionary do
|
|
40
41
|
end
|
41
42
|
|
42
43
|
describe Dictionary do
|
44
|
+
it "should respond to student_city" do
|
45
|
+
Dictionary.should respond_to(:student_city)
|
46
|
+
end
|
47
|
+
|
43
48
|
it "generate student_city method" do
|
44
49
|
Dictionary.student_city.should == [dy_shanghai,dy_beijing]
|
45
50
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_dictionary
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.2'
|
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:
|
12
|
+
date: 2013-07-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>'
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '3.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>'
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rails
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>'
|
@@ -32,7 +37,12 @@ dependencies:
|
|
32
37
|
version: '3.0'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>'
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.0'
|
36
46
|
description: Rails plugin for mapping static data of web application to Dictionary
|
37
47
|
class
|
38
48
|
email:
|
@@ -54,7 +64,6 @@ files:
|
|
54
64
|
- lib/rails_dictionary/models/acts_as_dictionary.rb
|
55
65
|
- lib/rails_dictionary/version.rb
|
56
66
|
- lib/tasks/dicts.rake
|
57
|
-
- log/development.log
|
58
67
|
- rails_dictionary.gemspec
|
59
68
|
- spec/fake_app.rb
|
60
69
|
- spec/rails_dictionary_spec.rb
|
@@ -79,9 +88,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
88
|
version: '0'
|
80
89
|
requirements: []
|
81
90
|
rubyforge_project: rails_dictionary
|
82
|
-
rubygems_version: 1.8.
|
91
|
+
rubygems_version: 1.8.23
|
83
92
|
signing_key:
|
84
93
|
specification_version: 3
|
85
94
|
summary: dictionary data for web application
|
86
95
|
test_files: []
|
87
|
-
has_rdoc:
|
data/log/development.log
DELETED