interpreter 0.0.4 → 0.0.5
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/Rakefile +11 -2
- data/app/controllers/interpreter/translations_controller.rb +23 -18
- data/app/models/interpreter_translation.rb +1 -6
- data/app/views/interpreter/shared/_css.html.haml +6 -17
- data/app/views/interpreter/translations/_form.html.haml +5 -8
- data/app/views/interpreter/translations/edit.html.haml +6 -0
- data/app/views/interpreter/translations/index.html.haml +13 -15
- data/app/views/interpreter/translations/new.html.haml +2 -0
- data/config/routes.rb +0 -1
- data/lib/interpreter.rb +1 -0
- data/lib/interpreter/base.rb +9 -72
- data/lib/interpreter/translation.rb +104 -0
- data/lib/interpreter/version.rb +1 -1
- data/test/compliance_test.rb +8 -0
- data/test/dummy/config/environment.rb +2 -0
- data/test/dummy/config/initializers/interpreter.rb +2 -2
- data/test/dummy/features/manage_translations.feature +30 -17
- data/test/dummy/features/step_definitions/translation_steps.rb +3 -5
- data/test/dummy/features/support/hooks.rb +4 -0
- data/test/dummy/lib/tasks/test.rake +1 -1
- data/test/test_helper.rb +22 -0
- metadata +10 -3
- data/app/views/interpreter/translations/show.html.haml +0 -9
data/Rakefile
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'bundler'
|
2
2
|
Bundler::GemHelper.install_tasks
|
3
3
|
|
4
|
-
task :default =>
|
4
|
+
task :default => :test
|
5
5
|
|
6
6
|
namespace :test do
|
7
7
|
desc "Run all cucumber features"
|
8
|
-
task :
|
8
|
+
task :cukes do
|
9
9
|
system "cucumber test/dummy/features"
|
10
10
|
end
|
11
11
|
|
@@ -14,3 +14,12 @@ namespace :test do
|
|
14
14
|
system "rake test:prepare -f test/dummy/Rakefile"
|
15
15
|
end
|
16
16
|
end
|
17
|
+
|
18
|
+
require 'rake/testtask'
|
19
|
+
|
20
|
+
Rake::TestTask.new(:test) do |t|
|
21
|
+
t.libs << 'lib'
|
22
|
+
t.libs << 'test'
|
23
|
+
t.pattern = 'test/**/*_test.rb'
|
24
|
+
t.verbose = false
|
25
|
+
end
|
@@ -2,17 +2,11 @@ class Interpreter::TranslationsController < ApplicationController
|
|
2
2
|
layout "translations"
|
3
3
|
|
4
4
|
def index
|
5
|
-
@
|
6
|
-
if params[:category]
|
7
|
-
@translations = InterpreterTranslation.find_like_key("en.#{params[:category]}.*")
|
8
|
-
else
|
9
|
-
@translations = InterpreterTranslation.all
|
10
|
-
end
|
5
|
+
@translations = InterpreterTranslation.all
|
11
6
|
end
|
12
7
|
|
13
8
|
def search
|
14
|
-
@
|
15
|
-
@translations = InterpreterTranslation.find_like_key params[:query]
|
9
|
+
@translations = InterpreterTranslation.find_all_by_value_like params[:query]
|
16
10
|
@search_notice = "#{@translations.length} translation#{'s' if @translations.length > 1} found."
|
17
11
|
render :action => :index
|
18
12
|
end
|
@@ -21,16 +15,8 @@ class Interpreter::TranslationsController < ApplicationController
|
|
21
15
|
@translation = InterpreterTranslation.new
|
22
16
|
end
|
23
17
|
|
24
|
-
def show
|
25
|
-
@key = params[:id].gsub('-','.')
|
26
|
-
@translations = InterpreterTranslation.find_all_by_key(@key)
|
27
|
-
end
|
28
|
-
|
29
18
|
def create
|
30
|
-
@translation = InterpreterTranslation.new
|
31
|
-
@translation.locale = params[:interpreter_translation][:locale]
|
32
|
-
@translation.key = params[:interpreter_translation][:key]
|
33
|
-
@translation.value = params[:interpreter_translation][:value]
|
19
|
+
@translation = InterpreterTranslation.new params[:interpreter_translation]
|
34
20
|
if @translation.save
|
35
21
|
redirect_to interpreter_translations_url, :notice => "Translation added."
|
36
22
|
else
|
@@ -38,9 +24,28 @@ class Interpreter::TranslationsController < ApplicationController
|
|
38
24
|
end
|
39
25
|
end
|
40
26
|
|
27
|
+
def edit
|
28
|
+
@translation = InterpreterTranslation.find_by_key(params[:id].gsub('-','.'))
|
29
|
+
end
|
30
|
+
|
31
|
+
def update
|
32
|
+
@translation = InterpreterTranslation.find_by_key(parse_id(params[:id]))
|
33
|
+
@translation.update_attributes(params[:interpreter_translation])
|
34
|
+
if @translation.save
|
35
|
+
redirect_to interpreter_translations_url, :notice => "Translation updated."
|
36
|
+
else
|
37
|
+
render :action => :edit
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
41
|
def destroy
|
42
42
|
count = InterpreterTranslation.destroy(params[:id].gsub('-','.'))
|
43
|
-
redirect_to :back, :notice => "
|
43
|
+
redirect_to :back, :notice => "Translation destroyed."
|
44
44
|
end
|
45
45
|
|
46
|
+
protected
|
47
|
+
|
48
|
+
def parse_id id
|
49
|
+
id.gsub('-','.')
|
50
|
+
end
|
46
51
|
end
|
@@ -1,9 +1,4 @@
|
|
1
|
-
class InterpreterTranslation < Interpreter::
|
2
|
-
attributes :locale, :key, :value
|
3
|
-
|
4
|
-
validates :locale, :presence => true
|
5
|
-
validates :key, :presence => true
|
6
|
-
validates :value, :presence => true
|
1
|
+
class InterpreterTranslation < Interpreter::Translation
|
7
2
|
|
8
3
|
def human_name
|
9
4
|
"Translation"
|
@@ -1,25 +1,14 @@
|
|
1
1
|
:css
|
2
|
-
|
3
|
-
|
4
|
-
width:400px;
|
2
|
+
table#translations{
|
3
|
+
width:100%;
|
5
4
|
overflow:hidden;
|
6
|
-
padding-left:10px;
|
7
5
|
}
|
8
6
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
padding-left:10px;
|
7
|
+
table#translations td{
|
8
|
+
padding:0px;
|
9
|
+
margin:0px;
|
13
10
|
}
|
14
11
|
|
15
|
-
|
16
|
-
float:right;
|
17
|
-
padding-bottom:10px;
|
18
|
-
}
|
19
|
-
div.translation{
|
20
|
-
overflow: auto;
|
21
|
-
width: 100%
|
22
|
-
}
|
23
|
-
div.translation:hover{
|
12
|
+
tr.translation:hover{
|
24
13
|
background:#eee;
|
25
14
|
}
|
@@ -1,16 +1,13 @@
|
|
1
1
|
= form_for @translation do |f|
|
2
2
|
= render :partial => 'errors', :locals => {:object => @translation}
|
3
|
-
.field
|
4
|
-
= f.label :locale
|
5
|
-
%br
|
6
|
-
= f.text_field :locale
|
7
3
|
.field
|
8
4
|
= f.label :key
|
9
5
|
%br
|
10
6
|
= f.text_field :key
|
11
|
-
.
|
12
|
-
|
13
|
-
|
14
|
-
|
7
|
+
- InterpreterTranslation.available_locales.each do |locale|
|
8
|
+
.field
|
9
|
+
= f.label locale
|
10
|
+
%br
|
11
|
+
= f.text_field locale
|
15
12
|
.actions
|
16
13
|
= f.submit "Save"
|
@@ -9,20 +9,18 @@
|
|
9
9
|
.actions
|
10
10
|
= submit_tag "Search"
|
11
11
|
|
12
|
-
%h3 Categories
|
13
|
-
#categories
|
14
|
-
- @categories.each do |c|
|
15
|
-
= link_to c.capitalize, category_interpreter_translations_path(c)
|
16
|
-
|
17
12
|
%p= link_to "New Translation", new_interpreter_translation_path
|
18
13
|
|
19
|
-
#translations
|
20
|
-
|
21
|
-
|
22
|
-
.
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
%
|
14
|
+
%table#translations{:cellpadding => 0, :cellspacing => 0}
|
15
|
+
%thead
|
16
|
+
%tr
|
17
|
+
- InterpreterTranslation.available_locales.each do |locale|
|
18
|
+
%td= locale
|
19
|
+
%tbody
|
20
|
+
- @translations.each do |t|
|
21
|
+
%tr.translation{:id => t.key}
|
22
|
+
- InterpreterTranslation.available_locales.each do |locale|
|
23
|
+
%td.locale= t.send(locale)
|
24
|
+
%td.links
|
25
|
+
= link_to 'Edit', edit_interpreter_translation_path(t)
|
26
|
+
= link_to 'Remove', interpreter_translation_path(t), :method => :delete
|
data/config/routes.rb
CHANGED
data/lib/interpreter.rb
CHANGED
data/lib/interpreter/base.rb
CHANGED
@@ -16,6 +16,12 @@ class Interpreter::Base
|
|
16
16
|
self._attributes += names
|
17
17
|
end
|
18
18
|
|
19
|
+
def self.locales(*names)
|
20
|
+
attr_accessor *names
|
21
|
+
define_attribute_methods names
|
22
|
+
self._attributes += names
|
23
|
+
end
|
24
|
+
|
19
25
|
def attributes
|
20
26
|
self._attributes.inject({}) do |hash, attr|
|
21
27
|
hash[attr.to_s] = send(attr)
|
@@ -24,80 +30,11 @@ class Interpreter::Base
|
|
24
30
|
end
|
25
31
|
|
26
32
|
def persisted?
|
27
|
-
|
28
|
-
Interpreter.backend.get(id).nil? ? false : true
|
29
|
-
else
|
30
|
-
false
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def id
|
35
|
-
locale + '.' + key
|
36
|
-
end
|
37
|
-
|
38
|
-
def id?
|
39
|
-
locale? and key?
|
40
|
-
end
|
41
|
-
|
42
|
-
def save
|
43
|
-
if self.valid?
|
44
|
-
Interpreter.backend.set("#{locale}.#{key}", value)
|
45
|
-
else
|
46
|
-
return false
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
def ==(other)
|
51
|
-
self.locale == other.locale and self.key == other.key and self.value == other.value
|
52
|
-
end
|
53
|
-
|
54
|
-
def self.all
|
55
|
-
collection = []
|
56
|
-
Interpreter.backend.keys.each do |k|
|
57
|
-
obj = find_by_key(k)
|
58
|
-
if obj and obj.valid?# and obj.child_keys.empty?
|
59
|
-
collection << obj
|
60
|
-
end
|
61
|
-
end
|
62
|
-
collection.sort{|a, b| a.key <=> b.key}
|
63
|
-
end
|
64
|
-
|
65
|
-
def self.find_all_by_key key
|
66
|
-
result = {}
|
67
|
-
Interpreter.backend.keys("*.#{key}").map{|k| find_by_key(k)}.compact.each do |t|
|
68
|
-
result[t.locale] = t.value
|
69
|
-
end
|
70
|
-
return result
|
71
|
-
end
|
72
|
-
|
73
|
-
def self.find_by_key full_key
|
74
|
-
locale = full_key.split('.')[0]
|
75
|
-
key = full_key.gsub("#{locale}.",'')
|
76
|
-
obj = self.new
|
77
|
-
obj.locale = locale
|
78
|
-
obj.key = key
|
79
|
-
obj.value = Interpreter.backend.get(full_key)
|
80
|
-
obj.valid? ? obj : nil
|
81
|
-
end
|
82
|
-
|
83
|
-
def self.find_like_key str
|
84
|
-
Interpreter.backend.keys("*#{str}*").map{|k| find_by_key(k)}.compact.sort{|a, b| a.locale <=> b.locale}
|
85
|
-
end
|
86
|
-
|
87
|
-
def child_keys
|
88
|
-
Interpreter.backend.keys("#{id}.*")
|
89
|
-
end
|
90
|
-
|
91
|
-
def self.destroy key
|
92
|
-
Interpreter.backend.keys("*.#{key}").sum{|k| Interpreter.backend.del(k)}
|
93
|
-
end
|
94
|
-
|
95
|
-
def self.categories
|
96
|
-
Interpreter.backend.keys.map{|k| k.split('.')[1]}.uniq
|
33
|
+
false
|
97
34
|
end
|
98
35
|
|
99
|
-
def
|
100
|
-
|
36
|
+
def new_record?
|
37
|
+
!persisted?
|
101
38
|
end
|
102
39
|
|
103
40
|
protected
|
@@ -0,0 +1,104 @@
|
|
1
|
+
class Interpreter::Translation < Interpreter::Base
|
2
|
+
attributes :key
|
3
|
+
locales *Interpreter.locales
|
4
|
+
|
5
|
+
validates :key, :presence => true
|
6
|
+
|
7
|
+
def initialize options={}
|
8
|
+
self.key = options[:key]
|
9
|
+
self.class.available_locales.each do |locale|
|
10
|
+
self.send("#{locale}=", options[locale])
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def persisted?
|
15
|
+
if key?
|
16
|
+
Interpreter.backend.keys("??.#{key}").present?
|
17
|
+
else
|
18
|
+
super
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def id
|
23
|
+
self.key.gsub('.','-')
|
24
|
+
end
|
25
|
+
|
26
|
+
def save
|
27
|
+
if self.valid?
|
28
|
+
self.class.available_locales.each do |locale|
|
29
|
+
value = self.send(locale)
|
30
|
+
Interpreter.backend.set("#{locale}.#{key}", value.to_json) unless value.nil?
|
31
|
+
end
|
32
|
+
else
|
33
|
+
return false
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def update_attributes options={}
|
38
|
+
self.key = options[:key]
|
39
|
+
self.class.available_locales.each do |locale|
|
40
|
+
self.send("#{locale}=", options[locale])
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def ==(other)
|
45
|
+
self.key == other.key
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.all
|
49
|
+
result = []
|
50
|
+
Interpreter.backend.keys("??.*").each do |full_key|
|
51
|
+
key, locale, value = parse_key(full_key)
|
52
|
+
|
53
|
+
obj = result.select{|r| r.key == key }.first || self.new
|
54
|
+
obj.send("#{locale}=", value)
|
55
|
+
obj.send('key=', key)
|
56
|
+
result << obj
|
57
|
+
end
|
58
|
+
return result.uniq
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.find_by_key key
|
62
|
+
collection = Interpreter.backend.keys("??.#{key}")
|
63
|
+
if collection.present?
|
64
|
+
obj = self.new
|
65
|
+
obj.send('key=', key)
|
66
|
+
collection.each do |full_key|
|
67
|
+
key, locale, value = parse_key(full_key)
|
68
|
+
obj.send("#{locale}=", value)
|
69
|
+
end
|
70
|
+
return obj
|
71
|
+
else
|
72
|
+
return nil
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def self.find_all_by_value_like str
|
77
|
+
keys = []
|
78
|
+
Interpreter.backend.keys.each do |full_key|
|
79
|
+
if Interpreter.backend.get(full_key).downcase.include?(str.downcase)
|
80
|
+
keys << parse_key(full_key).first
|
81
|
+
end
|
82
|
+
end
|
83
|
+
keys.map{|k| find_by_key k}
|
84
|
+
end
|
85
|
+
|
86
|
+
def self.destroy key
|
87
|
+
Interpreter.backend.keys("??.#{key}").sum{|k| Interpreter.backend.del(k)}
|
88
|
+
end
|
89
|
+
|
90
|
+
def self.available_locales
|
91
|
+
Interpreter.locales
|
92
|
+
end
|
93
|
+
|
94
|
+
protected
|
95
|
+
|
96
|
+
def self.parse_key full_key
|
97
|
+
arr = full_key.split('.')
|
98
|
+
locale = arr.shift
|
99
|
+
key = arr.join('.')
|
100
|
+
value = Interpreter.backend.get(full_key)
|
101
|
+
value = ActiveSupport::JSON.decode(value) unless value.nil?
|
102
|
+
return [key, locale, value]
|
103
|
+
end
|
104
|
+
end
|
data/lib/interpreter/version.rb
CHANGED
@@ -5,39 +5,52 @@ Feature: Manage translations
|
|
5
5
|
|
6
6
|
Scenario: Add new translation
|
7
7
|
Given I am on the new interpreter translation page
|
8
|
-
When I fill in "
|
9
|
-
And I fill in "
|
10
|
-
And I fill in "
|
8
|
+
When I fill in "Key" with "key1"
|
9
|
+
And I fill in "En" with "value1"
|
10
|
+
And I fill in "Pt" with "value2"
|
11
|
+
And I fill in "Es" with "value3"
|
11
12
|
And I press "Save"
|
12
13
|
Then I should see "Translation added."
|
13
|
-
And I should see "
|
14
|
-
And I should see "
|
15
|
-
And I should see "
|
14
|
+
And I should see "value1"
|
15
|
+
And I should see "value2"
|
16
|
+
And I should see "value3"
|
16
17
|
|
17
18
|
Scenario: Edit translation
|
18
|
-
Given a translation is present with key: hello,
|
19
|
-
|
20
|
-
|
21
|
-
And I fill in "
|
22
|
-
And I fill in "
|
19
|
+
Given a translation is present with key: "hello", en: "hello", pt: "hey" and es: "hoola"
|
20
|
+
And I am on the interpreter translations page
|
21
|
+
When I follow "Edit" within "#hello"
|
22
|
+
And I fill in "En" with "hello again"
|
23
|
+
And I fill in "Pt" with "Hey there"
|
23
24
|
And I press "Save"
|
24
|
-
Then I should see "
|
25
|
+
Then I should see "Translation updated."
|
25
26
|
And I should see "hello again"
|
27
|
+
And I should see "Hey there"
|
26
28
|
|
27
29
|
Scenario: Remove translation
|
28
|
-
Given a translation is present with key: hello,
|
30
|
+
Given a translation is present with key: "hello", en: "hello", pt: "hey" and es: "hoola"
|
29
31
|
When I go to the interpreter translations page
|
30
|
-
Then I should see "hello"
|
32
|
+
Then I should see "hello" within "#translations"
|
31
33
|
And I should see "Remove"
|
32
34
|
When I follow "Remove"
|
33
|
-
Then I should not see "hello"
|
34
|
-
And I should see "
|
35
|
+
Then I should not see "hello" within "#translations"
|
36
|
+
And I should see "Translation destroyed."
|
35
37
|
And I should be on the interpreter translations page
|
36
38
|
|
37
39
|
Scenario: Search translations
|
38
|
-
Given a translation is present with key: hello,
|
40
|
+
Given a translation is present with key: "hello", en: "hello", pt: "hey" and es: "hoola"
|
39
41
|
When I go to the interpreter translations page
|
40
42
|
And I fill in "query" with "hello" within "#search_translations"
|
41
43
|
And I press "Search"
|
42
44
|
Then I should see "hello" within "#translations"
|
43
45
|
And I should see "1 translation found."
|
46
|
+
|
47
|
+
Scenario: View all translations for each key on home page
|
48
|
+
Given a translation is present with key: "key1", en: "hello1", pt: "hey1" and es: "hoola1"
|
49
|
+
And a translation is present with key: "key2", en: "hello2", pt: "hey2" and es: "hoola2"
|
50
|
+
When I go to the interpreter translations page
|
51
|
+
Then I should see "hello1" within "#key1"
|
52
|
+
And I should see "hey1" within "#key1"
|
53
|
+
And I should see "hoola1" within "#key1"
|
54
|
+
And I should see "hello2" within "#key2"
|
55
|
+
And I should see "hey2" within "#key2"
|
56
|
+
And I should see "hoola2" within "#key2"
|
@@ -13,10 +13,8 @@ Then /^I should see the following translations:$/ do |expected_translations_tabl
|
|
13
13
|
expected_translations_table.diff!(tableish('table tr', 'td,th'))
|
14
14
|
end
|
15
15
|
|
16
|
-
Given /^a translation is present with key: (
|
17
|
-
i = InterpreterTranslation.new
|
18
|
-
i.locale = locale
|
19
|
-
i.key = key
|
20
|
-
i.value = value
|
16
|
+
Given /^a translation is present with key: "([^"]*)", en: "([^"]*)", pt: "([^"]*)" and es: "([^"]*)"$/ do |key, en, pt, es|
|
17
|
+
i = InterpreterTranslation.new(:key => key, :en => en, :pt => pt, :es => es)
|
21
18
|
i.save
|
22
19
|
end
|
20
|
+
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# Configure Rails Envinronment
|
2
|
+
ENV["RAILS_ENV"] = "test"
|
3
|
+
|
4
|
+
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
5
|
+
require "rails/test_help"
|
6
|
+
|
7
|
+
ActionMailer::Base.delivery_method = :test
|
8
|
+
ActionMailer::Base.perform_deliveries = true
|
9
|
+
ActionMailer::Base.default_url_options[:host] = "test.com"
|
10
|
+
|
11
|
+
Rails.backtrace_cleaner.remove_silencers!
|
12
|
+
|
13
|
+
# Configure capybara for integration testing
|
14
|
+
require "capybara/rails"
|
15
|
+
Capybara.default_driver = :rack_test
|
16
|
+
Capybara.default_selector = :css
|
17
|
+
|
18
|
+
# Run any available migration
|
19
|
+
ActiveRecord::Migrator.migrate File.expand_path("../dummy/db/migrate/", __FILE__)
|
20
|
+
|
21
|
+
# Load support files
|
22
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: interpreter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jagdeep Singh
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-21 00:00:00 +05:30
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -56,15 +56,17 @@ files:
|
|
56
56
|
- app/views/interpreter/shared/_css.html.haml
|
57
57
|
- app/views/interpreter/translations/_errors.html.haml
|
58
58
|
- app/views/interpreter/translations/_form.html.haml
|
59
|
+
- app/views/interpreter/translations/edit.html.haml
|
59
60
|
- app/views/interpreter/translations/index.html.haml
|
60
61
|
- app/views/interpreter/translations/new.html.haml
|
61
|
-
- app/views/interpreter/translations/show.html.haml
|
62
62
|
- app/views/layouts/translations.html.haml
|
63
63
|
- config/routes.rb
|
64
64
|
- interpreter.gemspec
|
65
65
|
- lib/interpreter.rb
|
66
66
|
- lib/interpreter/base.rb
|
67
|
+
- lib/interpreter/translation.rb
|
67
68
|
- lib/interpreter/version.rb
|
69
|
+
- test/compliance_test.rb
|
68
70
|
- test/dummy/.gitignore
|
69
71
|
- test/dummy/Gemfile
|
70
72
|
- test/dummy/Rakefile
|
@@ -97,6 +99,7 @@ files:
|
|
97
99
|
- test/dummy/features/step_definitions/web_steps.rb
|
98
100
|
- test/dummy/features/support/env.rb
|
99
101
|
- test/dummy/features/support/factory_girl.rb
|
102
|
+
- test/dummy/features/support/hooks.rb
|
100
103
|
- test/dummy/features/support/paths.rb
|
101
104
|
- test/dummy/features/support/pickle.rb
|
102
105
|
- test/dummy/features/support/selectors.rb
|
@@ -117,6 +120,7 @@ files:
|
|
117
120
|
- test/dummy/script/cucumber
|
118
121
|
- test/dummy/script/rails
|
119
122
|
- test/dummy/vendor/plugins/.gitkeep
|
123
|
+
- test/test_helper.rb
|
120
124
|
has_rdoc: true
|
121
125
|
homepage: https://github.com/jagdeep/interpreter
|
122
126
|
licenses: []
|
@@ -146,6 +150,7 @@ signing_key:
|
|
146
150
|
specification_version: 3
|
147
151
|
summary: Provides an interface for managing translations
|
148
152
|
test_files:
|
153
|
+
- test/compliance_test.rb
|
149
154
|
- test/dummy/.gitignore
|
150
155
|
- test/dummy/Gemfile
|
151
156
|
- test/dummy/Rakefile
|
@@ -178,6 +183,7 @@ test_files:
|
|
178
183
|
- test/dummy/features/step_definitions/web_steps.rb
|
179
184
|
- test/dummy/features/support/env.rb
|
180
185
|
- test/dummy/features/support/factory_girl.rb
|
186
|
+
- test/dummy/features/support/hooks.rb
|
181
187
|
- test/dummy/features/support/paths.rb
|
182
188
|
- test/dummy/features/support/pickle.rb
|
183
189
|
- test/dummy/features/support/selectors.rb
|
@@ -198,3 +204,4 @@ test_files:
|
|
198
204
|
- test/dummy/script/cucumber
|
199
205
|
- test/dummy/script/rails
|
200
206
|
- test/dummy/vendor/plugins/.gitkeep
|
207
|
+
- test/test_helper.rb
|