zedlocales 1.1.0

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/LICENSE ADDED
@@ -0,0 +1,15 @@
1
+
2
+ Copyright (c) Zedkit.
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ Software is furnished to do so, subject to the following conditions:
8
+
9
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ Software.
11
+
12
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,8 @@
1
+
2
+ = Localization Support within Zedkit Applications
3
+
4
+ More details TBA.
5
+
6
+ == Copyright
7
+
8
+ Copyright (c) 2010 Zedkit. See LICENSE for details. http://www.zedkit.com.
data/Rakefile ADDED
@@ -0,0 +1,74 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ require 'rubygems'
19
+ require 'rake'
20
+
21
+ begin
22
+ require 'jeweler'
23
+ Jeweler::Tasks.new do |gem|
24
+ gem.name = "zedlocales"
25
+ gem.summary = %Q{gem for localization support in Zedkit applications}
26
+ gem.description = %Q{gem for localization support in Zedkit applications to generate locale files and load translations via the Zedkit API}
27
+
28
+ gem.email = "ejw@zedkit.com"
29
+ gem.homepage = "http://github.com/ejw/zedlocales"
30
+ gem.authors = ["Eric Woodward"]
31
+ gem.rubyforge_project = "zedlocales"
32
+ gem.files = FileList['[A-Z]*', 'lib/**/*.rb', 'lib/tasks/*.rake', 'test/**/*.rb']
33
+
34
+ gem.add_dependency 'zedkit', '>= 1.1.0'
35
+ gem.add_dependency 'json', '>= 1.4.4'
36
+ gem.add_dependency 'human_hash'
37
+ end
38
+ Jeweler::GemcutterTasks.new
39
+ rescue LoadError
40
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
41
+ end
42
+
43
+ require 'rake/testtask'
44
+ Rake::TestTask.new(:test) do |test|
45
+ test.libs << 'lib' << 'test'
46
+ test.pattern = 'test/**/test_*.rb'
47
+ test.verbose = true
48
+ end
49
+
50
+ begin
51
+ require 'rcov/rcovtask'
52
+ Rcov::RcovTask.new do |test|
53
+ test.libs << 'test'
54
+ test.pattern = 'test/**/test_*.rb'
55
+ test.verbose = true
56
+ end
57
+ rescue LoadError
58
+ task :rcov do
59
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
60
+ end
61
+ end
62
+
63
+ task :test => :check_dependencies
64
+ task :default => :test
65
+
66
+ require 'rake/rdoctask'
67
+ Rake::RDocTask.new do |rdoc|
68
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
69
+
70
+ rdoc.rdoc_dir = 'rdoc'
71
+ rdoc.title = "zedlocales #{version}"
72
+ rdoc.rdoc_files.include('README*')
73
+ rdoc.rdoc_files.include('lib/**/*.rb')
74
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.1.0
@@ -0,0 +1,28 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ namespace :zedlocales do
19
+ desc "Generates the project's locale files with the latest content and translations"
20
+ task :generate => :environment do
21
+
22
+ # puts "Acquiring Locale for Simple Backend [#{locale}]..."
23
+ # puts "DONE"
24
+
25
+ Zedlocales::Client.get_locales
26
+
27
+ end
28
+ end
@@ -0,0 +1,29 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ module Zedkit
19
+ class Projects
20
+ class << self
21
+ def content_sections(*args)
22
+ zopts = args.extract_zedkit_options!
23
+ reshh = Zedkit::Client.get('content/sections', zopts[:user_key], zopts.zdelete_keys!(%w(user_key)))
24
+ yield(reshh) if (not reshh.nil?) && block_given?
25
+ reshh
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,97 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ module Zedlocales
19
+ class Content
20
+ class << self
21
+ #
22
+ # = Zedlocales Content
23
+ #
24
+ # All Zedkit applications have optional content. You can create, read, update, or delete content within content scopes
25
+ # To perform an operation on a specific content scope you need its UUID, as available from the ContentScopes.content
26
+ # method.
27
+ #
28
+ # To get a Content:
29
+ #
30
+ # Zedlocales::Content.get(:user_key => user['user_key'], :uuid => content['uuid'])
31
+ #
32
+ # To update a Content:
33
+ #
34
+ # Zedlocales::Content.update(:user_key => user['user_key'],
35
+ # :uuid => content['uuid'], :content => { :content => 'whatever' })
36
+ #
37
+ # To delete a Content:
38
+ #
39
+ # Zedlocales::Content.delete(:user_key => user['user_key'], :uuid => scope['uuid'])
40
+ #
41
+ # To create a new Content you submit the required parameters with the scope UUID that you are creating the content for.
42
+ # Whatever items you send within the :content Hash are passed through to the ZedAPI untouched. There is no client side
43
+ # validation within this gem.
44
+ #
45
+ # Zedlocales::Content.create(:user_key => user['user_key'], :scope => { :uuid => scope['uuid'] },
46
+ # :content => { :key => 'whatever', :content => 'yo this the api' })
47
+ #
48
+ # From each of these requests the Zedkit::Client class will return a response hash for your reference, if needed,
49
+ # or as applicable to the request. If there was a HTTP 401 or 404 you will get a nil response. This indicates a
50
+ # security failure or that an UUID is incorrect, not attached the user's account, or non-existent.
51
+ #
52
+ # For each request you can also pass a block to process the response directly:
53
+ #
54
+ # Zedlocales::Content.get(:user_key => user['user_key'], :uuid => content['uuid']) do |result|
55
+ # end
56
+ #
57
+
58
+ def get(*args)
59
+ zopts = args.extract_zedkit_options!
60
+ reshh = Zedkit::Client.get("content/content/#{zopts[:uuid]}", zopts[:user_key],
61
+ zopts.zdelete_keys!(%w(uuid user_key)))
62
+ yield(reshh) if (not reshh.nil?) && block_given?
63
+ reshh
64
+ end
65
+
66
+ def create(*args)
67
+ zopts = args.extract_zedkit_options!
68
+ reshh = Zedkit::Client.create('content/content', zopts[:user_key], zopts.zdelete_keys!(%w(user_key)))
69
+ yield(reshh) if (not reshh.nil?) && block_given?
70
+ reshh
71
+ end
72
+
73
+ def update(*args)
74
+ zopts = args.extract_zedkit_options!
75
+ reshh = Zedkit::Client.update("content/content/#{zopts[:uuid]}", zopts[:user_key],
76
+ zopts.zdelete_keys!(%w(uuid user_key)))
77
+ yield(reshh) if (not reshh.nil?) && block_given?
78
+ reshh
79
+ end
80
+
81
+ def delete(*args)
82
+ zopts = args.extract_zedkit_options!
83
+ reshh = Zedkit::Client.delete("content/content/#{zopts[:uuid]}", zopts[:user_key])
84
+ yield(reshh) if (not reshh.nil?) && block_given?
85
+ reshh
86
+ end
87
+
88
+ def translations(*args)
89
+ zopts = args.extract_zedkit_options!
90
+ reshh = Zedkit::Client.get("content/translations/#{zopts[:uuid]}", zopts[:user_key],
91
+ zopts.zdelete_keys!(%w(user_key)))
92
+ yield(reshh) if (not reshh.nil?) && block_given?
93
+ reshh
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,96 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ module Zedlocales
19
+ class ContentScopes
20
+ class << self
21
+ #
22
+ # = Zedlocales Content Scopes
23
+ #
24
+ # All Zedkit applications have optional content. You can create, read, update, or delete content scopes within sections
25
+ # to organize it. To perform an operation on a specific content scope you need its UUID, as available from the
26
+ # ContentSections.scopes method.
27
+ #
28
+ # To get a Content Scope:
29
+ #
30
+ # Zedlocales::ContentScopes.get(:user_key => user['user_key'], :uuid => scope['uuid'])
31
+ #
32
+ # To update a Content Scope:
33
+ #
34
+ # Zedlocales::ContentScopes.update(:user_key => user['user_key'],
35
+ # :uuid => scope['uuid'], :scope => { :key => 'whatever' })
36
+ #
37
+ # To delete a Content Scope:
38
+ #
39
+ # Zedlocales::ContentScopes.delete(:user_key => user['user_key'], :uuid => scope['uuid'])
40
+ #
41
+ # To create a new Content Scope you submit the required parameters with the section UUID that you are creating the
42
+ # content scope for. Whatever items you send within the :scope Hash are passed through to the ZedAPI untouched.
43
+ # There is no client side validation within this gem.
44
+ #
45
+ # Zedlocales::ContentScopes.create(:user_key => user['user_key'],
46
+ # :section => { :uuid => section['uuid'] }, :scope => { :key => 'whatever' })
47
+ #
48
+ # From each of these requests the Zedkit::Client class will return a response hash for your reference, if needed,
49
+ # or as applicable to the request. If there was a HTTP 401 or 404 you will get a nil response. This indicates a
50
+ # security failure or that an UUID is incorrect, not attached the user's account, or non-existent.
51
+ #
52
+ # For each request you can also pass a block to process the response directly:
53
+ #
54
+ # Zedlocales::ContentSections.get(:user_key => user['user_key'], :uuid => scope['uuid']) do |result|
55
+ # end
56
+ #
57
+
58
+ def get(*args)
59
+ zopts = args.extract_zedkit_options!
60
+ reshh = Zedkit::Client.get("content/scopes/#{zopts[:uuid]}", zopts[:user_key],
61
+ zopts.zdelete_keys!(%w(uuid user_key)))
62
+ yield(reshh) if (not reshh.nil?) && block_given?
63
+ reshh
64
+ end
65
+
66
+ def create(*args)
67
+ zopts = args.extract_zedkit_options!
68
+ reshh = Zedkit::Client.create('content/scopes', zopts[:user_key], zopts.zdelete_keys!(%w(user_key)))
69
+ yield(reshh) if (not reshh.nil?) && block_given?
70
+ reshh
71
+ end
72
+
73
+ def update(*args)
74
+ zopts = args.extract_zedkit_options!
75
+ reshh = Zedkit::Client.update("content/scopes/#{zopts[:uuid]}", zopts[:user_key],
76
+ zopts.zdelete_keys!(%w(uuid user_key)))
77
+ yield(reshh) if (not reshh.nil?) && block_given?
78
+ reshh
79
+ end
80
+
81
+ def delete(*args)
82
+ zopts = args.extract_zedkit_options!
83
+ reshh = Zedkit::Client.delete("content/scopes/#{zopts[:uuid]}", zopts[:user_key])
84
+ yield(reshh) if (not reshh.nil?) && block_given?
85
+ reshh
86
+ end
87
+
88
+ def content(*args)
89
+ zopts = args.extract_zedkit_options!
90
+ reshh = Zedkit::Client.get('content/content', zopts[:user_key], zopts.zdelete_keys!(%w(user_key)))
91
+ yield(reshh) if (not reshh.nil?) && block_given?
92
+ reshh
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,96 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ module Zedlocales
19
+ class ContentSections
20
+ class << self
21
+ #
22
+ # = Zedlocales Content Sections
23
+ #
24
+ # All Zedkit applications have optional content. You can create, read, update, or delete content sections to organize
25
+ # it. To perform an operation on a specific content section you need its UUID, as available from the
26
+ # Websites.content_sections method.
27
+ #
28
+ # To get a Content Section:
29
+ #
30
+ # Zedlocales::ContentSections.get(:user_key => user['user_key'], :uuid => section['uuid'])
31
+ #
32
+ # To update a Content Section:
33
+ #
34
+ # Zedlocales::ContentSections.update(:user_key => user['user_key'],
35
+ # :uuid => section['uuid'], :section => { :key => 'whatever' })
36
+ #
37
+ # To delete a Content Section:
38
+ #
39
+ # Zedlocales::ContentSections.delete(:user_key => user['user_key'], :uuid => section['uuid'])
40
+ #
41
+ # To create a new Content Section you submit the required parameters with the project UUID that you are creating the
42
+ # content section for. Whatever items you send within the :section Hash are passed through to the ZedAPI untouched.
43
+ # There is no client side validation within this gem.
44
+ #
45
+ # Zedlocales::ContentSections.create(:user_key => user['user_key'],
46
+ # :project => { :uuid => project['uuid'] }, :section => { :key => 'whatever' })
47
+ #
48
+ # From each of these requests the Zedkit::Client class will return a response hash for your reference, if needed,
49
+ # or as applicable to the request. If there was a HTTP 401 or 404 you will get a nil response. This indicates a
50
+ # security failure or that an UUID is incorrect, not attached the user's account, or non-existent.
51
+ #
52
+ # For each request you can also pass a block to process the response directly:
53
+ #
54
+ # Zedlocales::ContentSections.get(:user_key => user['user_key'], :uuid => section['uuid']) do |result|
55
+ # end
56
+ #
57
+
58
+ def get(*args)
59
+ zopts = args.extract_zedkit_options!
60
+ reshh = Zedkit::Client.get("content/sections/#{zopts[:uuid]}", zopts[:user_key],
61
+ zopts.zdelete_keys!(%w(uuid user_key)))
62
+ yield(reshh) if (not reshh.nil?) && block_given?
63
+ reshh
64
+ end
65
+
66
+ def create(*args)
67
+ zopts = args.extract_zedkit_options!
68
+ reshh = Zedkit::Client.create('content/sections', zopts[:user_key], zopts.zdelete_keys!(%w(user_key)))
69
+ yield(reshh) if (not reshh.nil?) && block_given?
70
+ reshh
71
+ end
72
+
73
+ def update(*args)
74
+ zopts = args.extract_zedkit_options!
75
+ reshh = Zedkit::Client.update("content/sections/#{zopts[:uuid]}", zopts[:user_key],
76
+ zopts.zdelete_keys!(%w(uuid user_key)))
77
+ yield(reshh) if (not reshh.nil?) && block_given?
78
+ reshh
79
+ end
80
+
81
+ def delete(*args)
82
+ zopts = args.extract_zedkit_options!
83
+ reshh = Zedkit::Client.delete("content/sections/#{zopts[:uuid]}", zopts[:user_key])
84
+ yield(reshh) if (not reshh.nil?) && block_given?
85
+ reshh
86
+ end
87
+
88
+ def scopes(*args)
89
+ zopts = args.extract_zedkit_options!
90
+ reshh = Zedkit::Client.get('content/scopes', zopts[:user_key], zopts.zdelete_keys!(%w(user_key)))
91
+ yield(reshh) if (not reshh.nil?) && block_given?
92
+ reshh
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,26 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ require 'rails'
19
+
20
+ module Zedlocales
21
+ class Railtie < Rails::Railtie
22
+ rake_tasks do
23
+ load "tasks/generate.rake"
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,58 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
7
+ # is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
10
+ #
11
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
12
+ # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
13
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
14
+ # IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15
+ ##
16
+
17
+ module Zedlocales
18
+ class Simple
19
+ class << self
20
+ def get(locale)
21
+ reshh = Zedkit::Client.get("locales/#{locale}/content", nil)
22
+ yield(reshh) if (not reshh.nil?) && block_given?
23
+ reshh
24
+ end
25
+
26
+ def set(locale, content)
27
+ set_locale_in_simple_backend(locale, content)
28
+ end
29
+
30
+ protected
31
+ def set_locale_in_simple_backend(locale, content)
32
+ pp = ["#{Rails.root}",'config','locales',"#{locale}.rb"].join('/')
33
+ File.open(pp, 'w') do |fd|
34
+ fd.write locale_head
35
+ fd.write locale_code(locale)
36
+ fd.write content.human_inspect
37
+ fd.write locale_end(fd)
38
+ end
39
+ end
40
+
41
+ private
42
+ def locale_head
43
+ tmps = "##\n"
44
+ tmps << "# DO NOT EDIT THIS FILE.\n"
45
+ tmps << "# This locale file is auto-generated from the ZedAPI by the ZedLocales Ruby gem. Any manual updates to an rb\n"
46
+ tmps << "# file will be lost when this file is regenerated, with this current file only versioned once, or discarded.\n"
47
+ tmps << "# http://zedkit.com\n"
48
+ tmps << "##\n\n"
49
+ end
50
+ def locale_code(locale)
51
+ "{\n :'#{locale}' =>\n\n"
52
+ end
53
+ def locale_end
54
+ "\n\n}\n\n"
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,52 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ module Zedlocales
19
+ class Translations
20
+ class << self
21
+ def get(*args)
22
+ zopts = args.extract_zedkit_options!
23
+ reshh = Zedkit::Client.get("content/translations/#{zopts[:uuid]}", zopts[:user_key],
24
+ zopts.zdelete_keys!(%w(uuid user_key)))
25
+ yield(reshh) if (not reshh.nil?) && block_given?
26
+ reshh
27
+ end
28
+
29
+ def create(*args)
30
+ zopts = args.extract_zedkit_options!
31
+ reshh = Zedkit::Client.create('content/translations', zopts[:user_key], zopts.zdelete_keys!(%w(user_key)))
32
+ yield(reshh) if (not reshh.nil?) && block_given?
33
+ reshh
34
+ end
35
+
36
+ def update(*args)
37
+ zopts = args.extract_zedkit_options!
38
+ reshh = Zedkit::Client.update("content/translations/#{zopts[:uuid]}", zopts[:user_key],
39
+ zopts.zdelete_keys!(%w(uuid user_key)))
40
+ yield(reshh) if (not reshh.nil?) && block_given?
41
+ reshh
42
+ end
43
+
44
+ def delete(*args)
45
+ zopts = args.extract_zedkit_options!
46
+ reshh = Zedkit::Client.delete("content/translations/#{zopts[:uuid]}", zopts[:user_key])
47
+ yield(reshh) if (not reshh.nil?) && block_given?
48
+ reshh
49
+ end
50
+ end
51
+ end
52
+ end
data/lib/zedlocales.rb ADDED
@@ -0,0 +1,37 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ require 'rubygems'
19
+ require 'zedkit'
20
+ require 'zedkit/projects'
21
+
22
+ module Zedlocales
23
+ class << self
24
+ def entities(user_key)
25
+ reshh = Zedkit::Client.get('v1/entities/zedlocales', user_key)
26
+ yield(reshh) if (not reshh.nil?) && block_given?
27
+ reshh
28
+ end
29
+ end
30
+ end
31
+
32
+ require 'zedlocales/content_sections'
33
+ require 'zedlocales/content_scopes'
34
+ require 'zedlocales/content'
35
+ require 'zedlocales/translations'
36
+ require 'zedlocales/simple'
37
+ require 'zedlocales/railtie' if defined?(Rails::Railtie)
data/test/helper.rb ADDED
@@ -0,0 +1,47 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
7
+ # is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
10
+ #
11
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
12
+ # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
13
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
14
+ # IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15
+ ##
16
+
17
+ require 'test/unit'
18
+ require 'rubygems'
19
+ require 'zedlocales'
20
+
21
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
22
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
23
+
24
+ class Test::Unit::TestCase
25
+ TEST_GEMS_PROJECT_KEY = 'BE1OZog8gJogtQTosh'
26
+ TEST_GEMS_LOCALES_KEY = '6yca7DsnBvaDVupKEZ'
27
+ TEST_GEMS_LOGIN = 'gems@zedkit.com'
28
+ TEST_GEMS_PASSWORD = 'NGIaDhr5vDlXo1tDs6bW3Gd'
29
+
30
+ def setup
31
+ Zedkit.configure do |zb|
32
+ zb.project_key = TEST_GEMS_PROJECT_KEY
33
+ zb.locales_key = TEST_GEMS_LOCALES_KEY
34
+ # zb.api_host = '0.0.0.0'
35
+ # zb.api_port = 5010
36
+ end
37
+ @uu = Zedkit::Users.verify(:username => TEST_GEMS_LOGIN, :password => TEST_GEMS_PASSWORD)
38
+ end
39
+
40
+ protected
41
+ def con_sections
42
+ Zedkit::Projects.content_sections(:user_key => @uu['user_key'], :project => { :uuid => @uu['projects'][0] })['sections']
43
+ end
44
+ def con_scopes
45
+ Zedlocales::ContentSections.scopes(:user_key => @uu['user_key'], :section => { :uuid => con_sections[0]['uuid'] })
46
+ end
47
+ end
@@ -0,0 +1,64 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ require 'helper'
19
+
20
+ class TestContent < Test::Unit::TestCase
21
+ def test_get_content
22
+ cs = Zedlocales::ContentScopes.content(:user_key => @uu['user_key'],
23
+ :scope => { :uuid => con_scopes['scopes'][0]['uuid'] })
24
+ cc = Zedlocales::Content.get(:user_key => @uu['user_key'], :uuid => cs['content'][0]['uuid'])
25
+ assert_equal 'whatever', cc['key']
26
+ assert_equal cs['content'][0]['uuid'], cc['uuid']
27
+ end
28
+
29
+
30
+ def test_create_content
31
+ cc = Zedlocales::Content.create(:user_key => @uu['user_key'], :scope => { :uuid => con_scopes['scopes'][0]['uuid'] },
32
+ :content => { :key => 'yo', :content => 'yo yo' })
33
+ assert_equal 32, cc['uuid'].length
34
+ assert_equal 'yo', cc['key']
35
+ assert_equal 'yo yo', cc['content']
36
+ end
37
+
38
+
39
+ def test_update_content
40
+ cs = Zedlocales::ContentScopes.content(:user_key => @uu['user_key'],
41
+ :scope => { :uuid => con_scopes['scopes'][0]['uuid'] })
42
+ cc = Zedlocales::Content.update(:user_key => @uu['user_key'],
43
+ :uuid => cs['content'][0]['uuid'], :content => { :content => 'yo' })
44
+ assert_equal cs['content'][0]['uuid'], cc['uuid']
45
+ assert_equal 'whatever', cc['key']
46
+ assert_equal 'yo', cc['content']
47
+ end
48
+
49
+
50
+ def test_destroy_content
51
+ cs = Zedlocales::ContentScopes.content(:user_key => @uu['user_key'],
52
+ :scope => { :uuid => con_scopes['scopes'][0]['uuid'] })
53
+ cc = Zedlocales::Content.delete(:user_key => @uu['user_key'], :uuid => cs['content'][0]['uuid'])
54
+ assert_equal cc, {}
55
+ end
56
+
57
+
58
+ def test_get_translations
59
+ cs = Zedlocales::ContentScopes.content(:user_key => @uu['user_key'],
60
+ :scope => { :uuid => con_scopes['scopes'][0]['uuid'] })
61
+ tt = Zedlocales::Content.translations(:user_key => @uu['user_key'], :content => { :uuid => cs['content'][0]['uuid'] })
62
+ assert_equal 2, tt['translations'].length
63
+ end
64
+ end
@@ -0,0 +1,54 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ require 'helper'
19
+
20
+ class TestContentScopes < Test::Unit::TestCase
21
+ def test_get_content_scope
22
+ cs = Zedlocales::ContentScopes.get(:user_key => @uu['user_key'], :uuid => con_scopes['scopes'][0]['uuid'])
23
+ assert_equal 'whatever', cs['key']
24
+ end
25
+
26
+
27
+ def test_create_content_scope
28
+ cs = Zedlocales::ContentScopes.create(:user_key => @uu['user_key'],
29
+ :section => { :uuid => con_sections[0]['uuid'] }, :scope => { :key => 'neww' })
30
+ assert_equal 'neww', cs['key']
31
+ assert_equal 32, cs['uuid'].length
32
+ end
33
+
34
+
35
+ def test_update_content_scope
36
+ cs = Zedlocales::ContentScopes.update(:user_key => @uu['user_key'],
37
+ :uuid => con_scopes['scopes'][0]['uuid'], :scope => { :key => "updated" })
38
+ assert_equal 'updated', cs['key']
39
+ end
40
+
41
+
42
+ def test_delete_content_scope
43
+ cs = Zedlocales::ContentScopes.delete(:user_key => @uu['user_key'], :uuid => con_scopes['scopes'][0]['uuid'])
44
+ assert_equal cs, {}
45
+ end
46
+
47
+
48
+ def test_get_content
49
+ cs = Zedlocales::ContentScopes.content(:user_key => @uu['user_key'],
50
+ :scope => { :uuid => con_scopes['scopes'][0]['uuid'] })
51
+ assert_equal 32, cs['content'][0]['uuid'].length
52
+ assert_equal 'whatever', cs['content'][0]['key']
53
+ end
54
+ end
@@ -0,0 +1,53 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ require 'helper'
19
+
20
+ class TestContentSections < Test::Unit::TestCase
21
+ def test_get_content_section
22
+ ss = Zedlocales::ContentSections.get(:user_key => @uu['user_key'], :uuid => con_sections[0]['uuid'])
23
+ assert_equal 'whatever', ss['key']
24
+ assert_equal 32, ss['uuid'].length
25
+ end
26
+
27
+
28
+ def test_create_content_section
29
+ ss = Zedlocales::ContentSections.create(:user_key => @uu['user_key'], :project => { :uuid => @uu['projects'][0] },
30
+ :section => { :key => 'newsection' })
31
+ assert_equal 32, ss['uuid'].length
32
+ assert_equal 'newsection', ss['key']
33
+ end
34
+
35
+
36
+ def test_update_content_section
37
+ ss = Zedlocales::ContentSections.update(:user_key => @uu['user_key'],
38
+ :uuid => con_sections[0]['uuid'], :section => { :key => 'updatedsection' })
39
+ assert_equal 'updatedsection', ss['key']
40
+ end
41
+
42
+
43
+ def test_delete_content_section
44
+ assert_equal Zedlocales::ContentSections.delete(:user_key => @uu['user_key'], :uuid => con_sections[0]['uuid']), {}
45
+ end
46
+
47
+
48
+ def test_get_content_section_scopes
49
+ ss = Zedlocales::ContentSections.scopes(:user_key => @uu['user_key'], :section => { :uuid => con_sections[0]['uuid'] })
50
+ assert_equal 32, ss['scopes'][0]['uuid'].length
51
+ assert_equal 'whatever', ss['scopes'][0]['key']
52
+ end
53
+ end
@@ -0,0 +1,21 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ require 'helper'
19
+
20
+ class TestLocales < Test::Unit::TestCase
21
+ end
@@ -0,0 +1,36 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ require 'helper'
19
+
20
+ class TestSimpleBackend < Test::Unit::TestCase
21
+ def test_get_english_locale
22
+ en = Zedlocales::Simple.get(:en)['content']
23
+ end
24
+
25
+ def test_get_french_locale
26
+ fr = Zedlocales::Simple.get(:fr)['content']
27
+ assert_not_nil fr
28
+ assert_equal ["dim", "lun", "mar", "mer", "jeu", "ven", "sam"], fr['fr']['date']['abbr_day_names']
29
+ end
30
+
31
+ def test_get_spanish_locale
32
+ es = Zedlocales::Simple.get(:es)['content']
33
+ assert_not_nil es
34
+ assert_equal ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"], es['es']['date']['abbr_day_names']
35
+ end
36
+ end
@@ -0,0 +1,55 @@
1
+ ##
2
+ # Copyright (c) Zedkit.
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
5
+ # files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
6
+ # modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
7
+ # Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ # Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ ##
17
+
18
+ require 'helper'
19
+
20
+ class TestContent < Test::Unit::TestCase
21
+ def test_get_translation
22
+ cs = Zedlocales::ContentScopes.content(:user_key => @uu['user_key'], :scope => { :uuid => con_scopes['scopes'][0]['uuid'] })
23
+ cc = Zedlocales::Content.translations(:user_key => @uu['user_key'], :content => { :uuid => cs['content'][0]['uuid'] })
24
+ tt = Zedlocales::Translations.get(:user_key => @uu['user_key'], :uuid => cc['translations'][0]['uuid'])
25
+ assert_equal tt['content']['uuid'], cs['content'][0]['uuid']
26
+ end
27
+
28
+
29
+ def test_create_translation
30
+ cs = Zedlocales::ContentScopes.content(:user_key => @uu['user_key'], :scope => { :uuid => con_scopes['scopes'][0]['uuid'] })
31
+ tt = Zedlocales::Translations.create(:user_key => @uu['user_key'], :content => { :uuid => cs['content'][0]['uuid'] },
32
+ :translation => { :locale => 'de', :source => 'ZEDKIT', :translation => 'yo' })
33
+ assert_equal cs['content'][0]['uuid'], tt['content']['uuid']
34
+ assert_equal 'yo', tt['translation']
35
+ end
36
+
37
+
38
+ def test_update_translation
39
+ cs = Zedlocales::ContentScopes.content(:user_key => @uu['user_key'], :scope => { :uuid => con_scopes['scopes'][0]['uuid'] })
40
+ cc = Zedlocales::Content.translations(:user_key => @uu['user_key'], :content => { :uuid => cs['content'][0]['uuid'] })
41
+ tt = Zedlocales::Translations.update(:user_key => @uu['user_key'],
42
+ :uuid => cc['translations'][0]['uuid'], :translation => { :translation => 'yo' })
43
+ assert_equal cs['content'][0]['uuid'], tt['content']['uuid']
44
+ assert_equal cc['translations'][0]['uuid'], tt['uuid']
45
+ assert_equal 'yo', tt['translation']
46
+ end
47
+
48
+
49
+ def test_destroy_translation
50
+ cs = Zedlocales::ContentScopes.content(:user_key => @uu['user_key'], :scope => { :uuid => con_scopes['scopes'][0]['uuid'] })
51
+ cc = Zedlocales::Content.translations(:user_key => @uu['user_key'], :content => { :uuid => cs['content'][0]['uuid'] })
52
+ tt = Zedlocales::Translations.get(:user_key => @uu['user_key'], :uuid => cc['translations'][0]['uuid'])
53
+ assert_equal tt['content']['uuid'], cs['content'][0]['uuid']
54
+ end
55
+ end
metadata ADDED
@@ -0,0 +1,132 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zedlocales
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 1
8
+ - 0
9
+ version: 1.1.0
10
+ platform: ruby
11
+ authors:
12
+ - Eric Woodward
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-11-15 00:00:00 -08:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: zedkit
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 1
30
+ - 1
31
+ - 0
32
+ version: 1.1.0
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: json
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ segments:
44
+ - 1
45
+ - 4
46
+ - 4
47
+ version: 1.4.4
48
+ type: :runtime
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: human_hash
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ segments:
59
+ - 0
60
+ version: "0"
61
+ type: :runtime
62
+ version_requirements: *id003
63
+ description: gem for localization support in Zedkit applications to generate locale files and load translations via the Zedkit API
64
+ email: ejw@zedkit.com
65
+ executables: []
66
+
67
+ extensions: []
68
+
69
+ extra_rdoc_files:
70
+ - LICENSE
71
+ - README.rdoc
72
+ files:
73
+ - LICENSE
74
+ - README.rdoc
75
+ - Rakefile
76
+ - VERSION
77
+ - lib/tasks/generate.rake
78
+ - lib/zedkit/projects.rb
79
+ - lib/zedlocales.rb
80
+ - lib/zedlocales/content.rb
81
+ - lib/zedlocales/content_scopes.rb
82
+ - lib/zedlocales/content_sections.rb
83
+ - lib/zedlocales/railtie.rb
84
+ - lib/zedlocales/simple.rb
85
+ - lib/zedlocales/translations.rb
86
+ - test/helper.rb
87
+ - test/test_content.rb
88
+ - test/test_content_scopes.rb
89
+ - test/test_content_sections.rb
90
+ - test/test_locales.rb
91
+ - test/test_simple_backend.rb
92
+ - test/test_translations.rb
93
+ has_rdoc: true
94
+ homepage: http://github.com/ejw/zedlocales
95
+ licenses: []
96
+
97
+ post_install_message:
98
+ rdoc_options:
99
+ - --charset=UTF-8
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ none: false
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ segments:
108
+ - 0
109
+ version: "0"
110
+ required_rubygems_version: !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ segments:
116
+ - 0
117
+ version: "0"
118
+ requirements: []
119
+
120
+ rubyforge_project: zedlocales
121
+ rubygems_version: 1.3.7
122
+ signing_key:
123
+ specification_version: 3
124
+ summary: gem for localization support in Zedkit applications
125
+ test_files:
126
+ - test/helper.rb
127
+ - test/test_content.rb
128
+ - test/test_content_scopes.rb
129
+ - test/test_content_sections.rb
130
+ - test/test_locales.rb
131
+ - test/test_simple_backend.rb
132
+ - test/test_translations.rb