translation_client 0.0.1 → 0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d948cd09ddca5c4262d9a21689a51d700d0fd09b
4
- data.tar.gz: c069da40506897bd9ff55c057d3c564603369c96
3
+ metadata.gz: 8e160210a9efcf32662b105509566b5e076474ba
4
+ data.tar.gz: b5b65bb51a252390c302f5b8969dc01c7ca71aa4
5
5
  SHA512:
6
- metadata.gz: 1eabce1e6ded1513763330adf8febe7733c584e3fa550904d9d86a63e8623bfebf8168abe933bbc366e4f67dc0597961b4a681fea4a5cdec5aca444f0172988e
7
- data.tar.gz: 613e17faf3e5cb70ef78facd350461f05c732873286e36084d9aa43e285ba994fc4450cf49b045e7fec08e050d865e98d111eadc71ffb51eecb5ba3eeac64053
6
+ metadata.gz: 3f379b467b35e129e5af6760949eaf62bf411d09c7e91f9d092bec0e6c3cb2120a1f04448baff11bc14c9200d18ecfa612e47262f7e1fadb4152b146baaba8a9
7
+ data.tar.gz: e6045935f986ca8d3490b5683cc6b7adc1f69c959dbf36aa9792262a65d8d5568f6837392d746f6f7904f4d72a9f2ddd6988eac78b246ffe543152acf5f2bc9a
@@ -1,4 +1,7 @@
1
- module TranslationClient
2
- class ApplicationController < ActionController::Base
1
+ class TranslationClient::ApplicationController < ActionController::Base
2
+ before_filter :my_method
3
+
4
+ def my_method
5
+ raise 'ok3:' + translation_client.translations_path
3
6
  end
4
- end
7
+ end
@@ -0,0 +1,67 @@
1
+ class TranslationClient::TranslationsController < ApplicationController
2
+ before_filter :find_resource, only: [:edit, :update, :destroy]
3
+
4
+ respond_to :html
5
+
6
+ before_filter :authenticate_user!
7
+
8
+ def index
9
+ @translations = Translation.order('translation_key ASC')
10
+ end
11
+
12
+ def new
13
+ @translation = Translation.new(params[:i18n_backend_active_record_translation])
14
+ end
15
+
16
+ def create
17
+ @translation = Translation.new(params[:i18n_backend_active_record_translation])
18
+
19
+ if @translation.save
20
+ I18n.backend.reload!
21
+
22
+ redirect_to [:edit, @translation], notice: t('general.form.successfully_created')
23
+ else
24
+ render :new
25
+ end
26
+ end
27
+
28
+ def edit
29
+ end
30
+
31
+ def update
32
+ if @translation.update_attributes(params[:i18n_backend_active_record_translation])
33
+ I18n.backend.reload!
34
+
35
+ redirect_to [:edit, @translation], notice: t('general.form.successfully_updated')
36
+ else
37
+ render :edit
38
+ end
39
+ end
40
+
41
+ def destroy
42
+ @translation.destroy
43
+ I18n.backend.reload!
44
+
45
+ redirect_to translation_client.translations_path, notice: t('general.form.destroyed')
46
+ end
47
+
48
+ def resource
49
+ @translation
50
+ end
51
+
52
+ private
53
+
54
+ def find_resource
55
+ @translation = Translation.find(params[:id])
56
+ end
57
+
58
+ def method_missing(m, *args, &block)
59
+ if m.to_s.match(/i18n_backend_active_record_translation/) && m.to_s.match(/path|url/)
60
+ translation_client.send m.to_s.gsub('i18n_backend_active_record_translation', 'translation'), *args, &block
61
+ elsif m.to_s.match(/path|url/) && main_app.respond_to?(m)
62
+ main_app.send m, *args, &block
63
+ else
64
+ super m, *args, &block
65
+ end
66
+ end
67
+ end
@@ -1,4 +1,13 @@
1
1
  module TranslationClient
2
2
  module ApplicationHelper
3
+ def method_missing(m, *args, &block)
4
+ if m.to_s.match(/i18n_backend_active_record_translation/) && m.to_s.match(/path|url/)
5
+ translation_client.send m.to_s.gsub('i18n_backend_active_record_translation', 'translation'), *args, &block
6
+ elsif m.to_s.match(/path|url/) && main_app.respond_to?(m)
7
+ main_app.send m, *args, &block
8
+ else
9
+ super m, *args, &block
10
+ end
11
+ end
3
12
  end
4
13
  end
@@ -0,0 +1,14 @@
1
+ <%= simple_form_for @translation, html: { class: 'form-horizontal'} do |f| %>
2
+ <%= devise_error_messages! %>
3
+
4
+ <%= f.input :locale %>
5
+ <%= f.input :translation_key %>
6
+ <%= f.input :value %>
7
+ <%#= f.input :interpolations %>
8
+
9
+ <div class="form-group">
10
+ <div class="col-sm-offset-3 col-sm-9">
11
+ <%= f.button :submit %>
12
+ </div>
13
+ </div>
14
+ <% end %>
@@ -0,0 +1,3 @@
1
+ <% content_for :title do %><%= t('translation_client.translations.edit.title') %><% end %>
2
+
3
+ <%= render 'form' %>
@@ -0,0 +1,27 @@
1
+ <% content_for :title do %><%= t 'translation_client.translations.index.title' %><% end %>
2
+ <% if @translations.none? %>
3
+ <p><%= t('translation_client.translations.empty_collection') %></p>
4
+ <% else %>
5
+ <table class="table table-striped">
6
+ <thead>
7
+ <tr class="<%= cycle('odd', 'even') %>">
8
+ <th style="width: 25px; vertical-align:top;"><%= t('translation_client.translations.locale') %></th>
9
+ <th style="width: 200px; vertical-align:top;"><%= t('translation_client.translations.key') %></th>
10
+ <th></th>
11
+ </tr>
12
+ </thead>
13
+ <tbody>
14
+ <% @translations.each do |translation| %>
15
+ <tr class="<%= cycle('odd', 'even') %>">
16
+ <td><%= translation.locale %></td>
17
+ <td><%= link_to translation.translation_key, translation_client.edit_translation_path(translation) %></td>
18
+ <td><%= link_to t('general.destroy'), translation_client.translation_path(translation), method: :delete, class: 'btn btn-danger' %></td>
19
+ </tr>
20
+ <% end %>
21
+ </table>
22
+ <p>
23
+ <%= link_to translation_client.new_translation_path, class: 'btn btn-default' do %>
24
+ <span class="glyphicon glyphicon-plus"></span> <%= t('translation_client.translations.new.title') %>
25
+ <% end %>
26
+ </p>
27
+ <% end %>
@@ -0,0 +1,3 @@
1
+ <% content_for :title do %><%= t('translation_client.translations.new.title') %><% end %>
2
+
3
+ <%= render 'form' %>
@@ -0,0 +1,14 @@
1
+ require 'i18n/backend/active_record'
2
+
3
+ Translation = I18n::Backend::ActiveRecord::Translation
4
+
5
+ if Translation.table_exists?
6
+ I18n.backend = I18n::Backend::ActiveRecord.new
7
+
8
+ I18n::Backend::ActiveRecord.send(:include, I18n::Backend::Memoize)
9
+ I18n::Backend::ActiveRecord.send(:include, I18n::Backend::Flatten)
10
+ I18n::Backend::Simple.send(:include, I18n::Backend::Memoize)
11
+ I18n::Backend::Simple.send(:include, I18n::Backend::Pluralization)
12
+
13
+ I18n.backend = I18n::Backend::Chain.new(I18n.backend, I18n::Backend::Simple.new)
14
+ end
@@ -0,0 +1,11 @@
1
+ en:
2
+ translation_client:
3
+ translations:
4
+ index:
5
+ title: Translations
6
+ empty_collection: No translations available.
7
+
8
+ new:
9
+ title: New Translation
10
+ edit:
11
+ title: Edit Translation
@@ -1,2 +1,3 @@
1
1
  TranslationClient::Engine.routes.draw do
2
+ resources :translations
2
3
  end
@@ -0,0 +1,15 @@
1
+ class InitialSchema < ActiveRecord::Migration
2
+ def change
3
+ create_table :translations do |t|
4
+ t.string :locale
5
+ t.string :translation_key
6
+ t.text :value
7
+ t.text :interpolations
8
+ t.boolean :is_proc, :default => false
9
+
10
+ t.timestamps
11
+ end
12
+
13
+ add_index :translations, [:locale, :translation_key], unique: true
14
+ end
15
+ end
@@ -1,4 +1,9 @@
1
- require "translation_client/engine"
1
+ require 'i18n/active_record'
2
+ require 'i18n/backend/active_record'
3
+
4
+ require 'translation_client/concerns/model/translation'
5
+
6
+ require 'translation_client/engine'
2
7
 
3
8
  module TranslationClient
4
9
  end
@@ -0,0 +1,13 @@
1
+ module TranslationClient
2
+ module Concerns
3
+ module Model
4
+ module Translation
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ attr_accessible :locale, :translation_key, :value, :interpolations
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,5 +1,19 @@
1
1
  module TranslationClient
2
2
  class Engine < ::Rails::Engine
3
3
  isolate_namespace TranslationClient
4
+
5
+ config.autoload_paths << File.expand_path("../../../app/models/concerns", __FILE__)
6
+ config.autoload_paths << File.expand_path("../../../app/controllers/concerns", __FILE__)
7
+ config.i18n.load_path += Dir[File.expand_path("../../../config/locales/**/*.{rb,yml}", __FILE__)]
8
+
9
+ config.generators{|g| g.orm :active_record }
10
+
11
+ config.to_prepare do
12
+ I18n::Backend::ActiveRecord::Translation.send :include, ::TranslationClient::Concerns::Model::Translation
13
+ end
14
+
15
+ initializer 'translation_client.add_view_helpers' do |config|
16
+ ActionView::Base.send :include, TranslationClient::ApplicationHelper
17
+ end
4
18
  end
5
19
  end
@@ -1,3 +1,3 @@
1
1
  module TranslationClient
2
- VERSION = "0.0.1"
2
+ VERSION = '0.0.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: translation_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mathias Gawlista
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-12 00:00:00.000000000 Z
11
+ date: 2015-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 4.2.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: i18n-active_record
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.0.2
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: home_page
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,11 +80,19 @@ files:
66
80
  - Rakefile
67
81
  - app/assets/stylesheets/translation_client/application.css
68
82
  - app/controllers/translation_client/application_controller.rb
83
+ - app/controllers/translation_client/translations_controller.rb
69
84
  - app/helpers/translation_client/application_helper.rb
70
- - app/views/layouts/translation_client/application.html.erb
85
+ - app/views/translation_client/translations/_form.html.erb
86
+ - app/views/translation_client/translations/edit.html.erb
87
+ - app/views/translation_client/translations/index.html.erb
88
+ - app/views/translation_client/translations/new.html.erb
89
+ - config/initializers/locale.rb
90
+ - config/locales/resources/translations/en.yml
71
91
  - config/routes.rb
92
+ - db/migrate/20150312203345_initial_schema.rb
72
93
  - lib/tasks/translation_client_tasks.rake
73
94
  - lib/translation_client.rb
95
+ - lib/translation_client/concerns/model/translation.rb
74
96
  - lib/translation_client/engine.rb
75
97
  - lib/translation_client/version.rb
76
98
  homepage: http://Volontari.at
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>TranslationClient</title>
5
- <%= stylesheet_link_tag "translation_client/application", media: "all" %>
6
- <%= javascript_include_tag "translation_client/application" %>
7
- <%= csrf_meta_tags %>
8
- </head>
9
- <body>
10
-
11
- <%= yield %>
12
-
13
- </body>
14
- </html>