interpret 1.0.2 → 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.
@@ -1,3 +1,6 @@
1
+ //= require jquery
2
+ //= require best_in_place
3
+
1
4
  $(document).ready(function() {
2
5
  /* Activating Best In Place */
3
6
  $("#interpret_container .best_in_place").best_in_place()
@@ -1,18 +1,24 @@
1
- class Interpret::BaseController < eval(Interpret.parent_controller.classify)
1
+ class Interpret::BaseController < Interpret.parent_controller.classify.constantize
2
2
  before_filter :set_locale
3
3
  before_filter { authorize! :use, :interpret }
4
4
  before_filter :check_authorized_language
5
5
  layout 'interpret/interpret'
6
+ helper Interpret::InterpretHelper
6
7
 
7
8
  protected
8
9
  def current_interpret_user
9
- @current_interpret_user ||= eval(Interpret.current_user)
10
+ send(Interpret.current_user)
10
11
  end
11
12
 
12
13
  def current_ability
13
14
  @current_ability ||= Interpret.ability.new(current_interpret_user)
14
15
  end
15
16
 
17
+ def default_url_options(options = {})
18
+ options.merge({:locale => I18n.locale})
19
+ end
20
+
21
+
16
22
  private
17
23
  def set_locale
18
24
  I18n.locale = params[:locale] if params[:locale]
@@ -3,6 +3,10 @@ module Interpret
3
3
  before_filter :get_tree, :only => :index
4
4
  authorize_resource :class => "Interpret::Translation"
5
5
 
6
+ def welcome
7
+ redirect_to root_url
8
+ end
9
+
6
10
  def index
7
11
  key = params[:key]
8
12
  t = Interpret::Translation.arel_table
@@ -36,15 +40,15 @@ module Interpret
36
40
  respond_to do |format|
37
41
  if @translation.update_attributes(params[:translation].presence || params[:interpret_translation])
38
42
  msg = ""
39
- msg << "By [#{@interpret_user}]. " if @interpret_user
43
+ msg << "By [#{current_interpret_user}]. " if current_interpret_user
40
44
  msg << "Locale: [#{@translation.locale}], key: [#{@translation.key}]. The translation has been changed from [#{old_value}] to [#{@translation.value}]"
41
45
  Interpret.logger.info msg
42
46
 
43
- format.html { redirect_to(request.env["HTTP_REFERER"]) }
47
+ format.html { redirect_to :back }
44
48
  format.xml { head :ok }
45
49
  format.json { head :ok }
46
50
  else
47
- format.html { redirect_to(request.env["HTTP_REFERER"]) }
51
+ format.html { redirect_to :back }
48
52
  format.xml { render :xml => @translation.errors, :status => :unprocessable_entity }
49
53
  format.json { render :status => :unprocessable_entity }
50
54
  end
@@ -56,10 +60,10 @@ module Interpret
56
60
 
57
61
  if @translation.save
58
62
  flash[:notice] = "New translation created for #{@translation.key}"
59
- redirect_to request.env["HTTP_REFERER"]
63
+ redirect_to :back
60
64
  else
61
65
  flash[:alert] = "Error when creating a new translation"
62
- redirect_to request.env["HTTP_REFERER"]
66
+ redirect_to :back
63
67
  end
64
68
  end
65
69
 
@@ -68,7 +72,7 @@ module Interpret
68
72
 
69
73
  @translation.destroy
70
74
  flash[:notice] = "Translation #{@translation.key} destroyed."
71
- redirect_to request.env["HTTP_REFERER"]
75
+ redirect_to :back
72
76
  end
73
77
 
74
78
  private
@@ -1,5 +1,5 @@
1
1
  module Interpret
2
- module InterpretHelpers
2
+ module InterpretHelper
3
3
  # Generates the html tree from the given keys
4
4
  def interpret_show_tree(tree, origin_keys)
5
5
  tree = tree.first[1]
@@ -17,11 +17,6 @@ module Interpret
17
17
  end
18
18
  end
19
19
 
20
- def interpret_parent_layout(layout)
21
- @view_flow.set(:layout, self.output_buffer)
22
- self.output_buffer = render(:file => "layouts/#{layout}")
23
- end
24
-
25
20
  private
26
21
 
27
22
  def build_tree(hash, origin_keys = "", prev_key = "")
@@ -44,3 +39,4 @@ module Interpret
44
39
  end
45
40
  end
46
41
  end
42
+
@@ -8,6 +8,7 @@ module Interpret
8
8
 
9
9
  after_update :set_stale
10
10
  before_validation :downcase_key
11
+ attr_accessible :stale
11
12
 
12
13
  scope :stale, where(:stale => true)
13
14
 
@@ -1,55 +1,66 @@
1
- <div id="interpret_container">
2
- <% if flash.any? %>
3
- <div class="interpret_flash grid_16 <%= flash.keys.first %>">
4
- <%= flash[:notice] || flash[:alert] %>
5
- </div>
6
- <% end %>
7
- <div class="menu grid_12">
8
- <%= link_to "Overview", root_path, :class => controller_name == "translations" && action_name == "index" ? "current" : "" %>
9
-
10
- <% if can? :use, :tools%>
11
- | <%= link_to "Tools", tools_path, :class => controller_name == "tools" ? "current" : "" %>
12
- <% end%>
13
-
14
- <% if can? :use, :search%>
15
- | <%= link_to "Search", search_path, :class => controller_name == "search" ? "current" : ""%>
16
- <% end%>
17
-
18
- <% if can? :read, :missing_translations%>
19
- | <%= link_to "Missing translations", missing_translations_path, :class => controller_name == "missing_translations" && action_name == "index" ? "current" : ""%>
20
- <% end%>
21
-
22
- <% if can? :read, :stale_translations%>
23
- | <%= link_to "Stale translations", stale_translations_path, :class => controller_name == "missing_translations" && action_name == "stale" ? "current" : ""%>
24
- <% end%>
25
-
26
- <% if can? :read, :blank_translations%>
27
- | <%= link_to "Blank translations", blank_translations_path, :class => controller_name == "missing_translations" && action_name == "blank" ? "current" : ""%>
28
- <% end%>
29
-
30
- <% if can? :read, :unused_translations%>
31
- | <%= link_to "Unused translations", unused_translations_path, :class => controller_name == "missing_translations" && action_name == "unused" ? "current" : ""%>
32
- <% end%>
33
- <hr />
34
- </div>
35
- <div class="menu grid_4" id='languages_nav'>
36
- Languages:
37
- <% Interpret::Translation.available_locales.each do |locale| %>
38
- <% next unless can? :use, :"interpret_in_#{locale}" %>
39
- <% opts = {:locale => locale} %>
40
- <% opts[:key] = params[:key] if params[:key] %>
41
- <% opts[:value] = params[:value] if params[:value] %>
42
- <%= link_to locale, opts %>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= yield :title %></title>
5
+ <%= stylesheet_link_tag "interpret_style" %>
6
+ <%= javascript_include_tag "interpret" %>
7
+ <%= csrf_meta_tag %>
8
+ </head>
9
+ <body>
10
+ <div id="interpret_container">
11
+ <% if flash.any? %>
12
+ <div class="interpret_flash grid_16 <%= flash.keys.first %>">
13
+ <%= flash[:notice] || flash[:alert] %>
14
+ </div>
43
15
  <% end %>
44
- <hr />
45
- </div>
46
- <div class="clearfix"></div>
47
- <div id="sidebar" class="grid_3">
48
- <%= yield :sidebar %>
49
- </div>
50
- <div id="main" class="grid_13">
51
- <%= yield %>
16
+ <div class="menu grid_12">
17
+ <%= link_to "Overview", root_path, :class => controller_name == "translations" && action_name == "index" ? "current" : "" %>
18
+
19
+ <% if can? :use, :tools%>
20
+ | <%= link_to "Tools", tools_path, :class => controller_name == "tools" ? "current" : "" %>
21
+ <% end%>
22
+
23
+ <% if can? :use, :search%>
24
+ | <%= link_to "Search", search_path, :class => controller_name == "search" ? "current" : ""%>
25
+ <% end%>
26
+
27
+ <% if can? :read, :missing_translations%>
28
+ | <%= link_to "Missing translations", missing_translations_path, :class => controller_name == "missing_translations" && action_name == "index" ? "current" : ""%>
29
+ <% end%>
30
+
31
+ <% if can? :read, :stale_translations%>
32
+ | <%= link_to "Stale translations", stale_translations_path, :class => controller_name == "missing_translations" && action_name == "stale" ? "current" : ""%>
33
+ <% end%>
34
+
35
+ <% if can? :read, :blank_translations%>
36
+ | <%= link_to "Blank translations", blank_translations_path, :class => controller_name == "missing_translations" && action_name == "blank" ? "current" : ""%>
37
+ <% end%>
38
+
39
+ <% if can? :read, :unused_translations%>
40
+ | <%= link_to "Unused translations", unused_translations_path, :class => controller_name == "missing_translations" && action_name == "unused" ? "current" : ""%>
41
+ <% end%>
42
+ <hr />
43
+ </div>
44
+ <div class="menu grid_4" id='languages_nav'>
45
+ Languages:
46
+ <% Interpret::Translation.available_locales.each do |locale| %>
47
+ <% next unless can? :use, :"interpret_in_#{locale}" %>
48
+ <% opts = {:locale => locale} %>
49
+ <% opts[:key] = params[:key] if params[:key] %>
50
+ <% opts[:value] = params[:value] if params[:value] %>
51
+ <%= link_to locale, opts %>
52
+ <% end %>
53
+ <hr />
54
+ </div>
55
+ <div class="clearfix"></div>
56
+ <div id="sidebar" class="grid_3">
57
+ <%= yield :sidebar %>
58
+ </div>
59
+ <div id="main" class="grid_13">
60
+ <%= yield %>
61
+ </div>
52
62
  </div>
53
- </div>
54
63
 
55
- <%= interpret_parent_layout Interpret.layout%>
64
+ </body>
65
+ </html>
66
+
data/config/routes.rb CHANGED
@@ -23,4 +23,6 @@ Interpret::Engine.routes.draw do
23
23
 
24
24
  root :to => "translations#index"
25
25
  end
26
+
27
+ match "/", :to => "translations#welcome"
26
28
  end
data/interpret.gemspec CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
26
26
  s.add_dependency "best_in_place", "~> 1.0"
27
27
  s.add_dependency "lazyhash", ">= 0.1.1"
28
28
  s.add_dependency "cancan", "~> 1.6.0"
29
+ s.add_dependency "jquery-rails"
29
30
 
30
31
  s.add_development_dependency "rspec-rails", "~> 2.5"
31
32
  s.add_development_dependency "capybara", "~> 1.0.1"
@@ -1,9 +1,9 @@
1
1
  require 'interpret/logger'
2
- require 'interpret/helpers'
3
2
 
4
3
  module Interpret
5
4
  class Engine < Rails::Engine
6
5
  isolate_namespace Interpret
6
+ engine_name "interpret"
7
7
 
8
8
  initializer "interpret.register_i18n_active_record_backend" do |app|
9
9
  app.config.after_initialize do
@@ -1,3 +1,3 @@
1
1
  module Interpret
2
- VERSION = "1.0.2"
2
+ VERSION = "1.1.0"
3
3
  end
data/lib/interpret.rb CHANGED
@@ -9,14 +9,12 @@ module Interpret
9
9
  mattr_accessor :parent_controller
10
10
  mattr_accessor :registered_envs
11
11
  mattr_accessor :current_user
12
- mattr_accessor :layout
13
12
  mattr_accessor :soft
14
13
  mattr_accessor :black_list
15
14
  mattr_accessor :ability
16
15
 
17
16
  @@parent_controller = "application_controller"
18
17
  @@registered_envs = [:production, :staging]
19
- @@layout = "interpret_base"
20
18
  @@soft = true
21
19
  @@black_list = []
22
20
  @@current_user = "current_user"
@@ -44,5 +42,3 @@ module Interpret
44
42
  end
45
43
 
46
44
  require 'interpret/engine' if defined? Rails
47
-
48
- ActionView::Base.send(:include, Interpret::InterpretHelpers)
@@ -15,7 +15,7 @@ class ApplicationController < ActionController::Base
15
15
  def toggle_edition_mode
16
16
  Interpret.live_edit = !Interpret.live_edit
17
17
 
18
- redirect_to request.env["HTTP_REFERER"]
18
+ redirect_to :back
19
19
  end
20
20
 
21
21
  def set_locale
@@ -1,7 +1,6 @@
1
1
  Interpret.configure do |config|
2
2
  config.registered_envs << :development
3
3
  config.parent_controller = "application_controller"
4
- config.layout = "backoffice"
5
4
  config.ability = "interpret_ability"
6
5
  config.black_list = ["blacklist.*", "missings.black"]
7
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: interpret
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-24 00:00:00.000000000 Z
12
+ date: 2012-06-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -123,6 +123,22 @@ dependencies:
123
123
  - - ~>
124
124
  - !ruby/object:Gem::Version
125
125
  version: 1.6.0
126
+ - !ruby/object:Gem::Dependency
127
+ name: jquery-rails
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
126
142
  - !ruby/object:Gem::Dependency
127
143
  name: rspec-rails
128
144
  requirement: !ruby/object:Gem::Requirement
@@ -192,6 +208,7 @@ files:
192
208
  - app/controllers/interpret/search_controller.rb
193
209
  - app/controllers/interpret/tools_controller.rb
194
210
  - app/controllers/interpret/translations_controller.rb
211
+ - app/helpers/interpret/interpret_helper.rb
195
212
  - app/models/interpret/ability.rb
196
213
  - app/models/interpret/expiration_observer.rb
197
214
  - app/models/interpret/translation.rb
@@ -207,14 +224,12 @@ files:
207
224
  - app/views/interpret/translations/index.html.erb
208
225
  - app/views/interpret/translations/new.html.erb
209
226
  - app/views/layouts/interpret/interpret.html.erb
210
- - app/views/layouts/interpret/interpret_base.html.erb
211
227
  - config/environment.rb
212
228
  - config/routes.rb
213
229
  - db/migrate/20111108094329_create_translations.rb
214
230
  - interpret.gemspec
215
231
  - lib/interpret.rb
216
232
  - lib/interpret/engine.rb
217
- - lib/interpret/helpers.rb
218
233
  - lib/interpret/logger.rb
219
234
  - lib/interpret/version.rb
220
235
  - lib/tasks/interpret.rake
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title><%= yield :title %></title>
5
- <%= stylesheet_link_tag "interpret_style" %>
6
- <%= javascript_include_tag "https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" %>
7
- <%= javascript_include_tag "best_in_place", "interpret" %>
8
- <%= csrf_meta_tag %>
9
- </head>
10
- <body>
11
- <%= yield %>
12
- </body>
13
- </html>
14
-