translates_fields 0.0.1

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.
@@ -0,0 +1,32 @@
1
+ module TranslatesFields
2
+ def self.included(base)
3
+ base.extend(ClassMethods)
4
+ end
5
+
6
+ module ClassMethods
7
+ def translates(field)
8
+ serialize field
9
+
10
+ send :define_method, "#{field}=".to_sym do |*args|
11
+ if args.first.is_a?(Array)
12
+ key = args.first.shift
13
+ options = args.first.pop
14
+ else
15
+ key = args.first
16
+ options = {}
17
+ end
18
+ write_attribute(field, [key, options])
19
+ end
20
+
21
+ send :define_method, field do
22
+ scope = read_attribute(field).first
23
+ options = read_attribute(field).last
24
+ key = "app.models.#{self.class.to_s.underscore}.attributes.#{field}.#{scope}".to_sym
25
+ I18n.translate(key, options)
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+
32
+ ActiveRecord::Base.send(:include, TranslatesFields)
@@ -0,0 +1,3 @@
1
+ module TranslatesFields
2
+ VERSION = "0.0.1"
3
+ end
metadata ADDED
@@ -0,0 +1,101 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: translates_fields
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Christopher Dell
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-09-14 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: gem-release
16
+ requirement: &2152996680 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *2152996680
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &2152996180 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - =
31
+ - !ruby/object:Gem::Version
32
+ version: 2.5.0
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *2152996180
36
+ - !ruby/object:Gem::Dependency
37
+ name: activerecord
38
+ requirement: &2152995620 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - =
42
+ - !ruby/object:Gem::Version
43
+ version: 3.0.10
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2152995620
47
+ - !ruby/object:Gem::Dependency
48
+ name: i18n
49
+ requirement: &2152995160 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - =
53
+ - !ruby/object:Gem::Version
54
+ version: 0.5.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *2152995160
58
+ - !ruby/object:Gem::Dependency
59
+ name: sqlite3
60
+ requirement: &2152994760 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *2152994760
69
+ description: ! '[description]'
70
+ email: chris@tigrish.com
71
+ executables: []
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - lib/translates_fields/translates_fields.rb
76
+ - lib/translates_fields/version.rb
77
+ homepage: https://github.com/Locale/translates_fields
78
+ licenses: []
79
+ post_install_message:
80
+ rdoc_options: []
81
+ require_paths:
82
+ - lib
83
+ required_ruby_version: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ requirements: []
96
+ rubyforge_project: ! '[none]'
97
+ rubygems_version: 1.8.6
98
+ signing_key:
99
+ specification_version: 3
100
+ summary: ! '[summary]'
101
+ test_files: []