localeapp 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +0 -1
- data/CHANGELOG.md +9 -1
- data/bin/localeapp +17 -6
- data/features/localeapp_binary.feature +25 -2
- data/features/support/hooks.rb +1 -0
- data/lib/localeapp/cli/push.rb +21 -5
- data/lib/localeapp/configuration.rb +20 -10
- data/lib/localeapp/version.rb +1 -1
- data/lib/localeapp.rb +4 -4
- data/spec/localeapp/cli/push_spec.rb +39 -10
- data/spec/localeapp/configuration_spec.rb +67 -15
- metadata +4 -4
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,12 @@
|
|
1
|
-
#
|
1
|
+
# Version 0.3.0
|
2
|
+
|
3
|
+
* Allow symbols for environment names in config file
|
4
|
+
* `localeapp push` will now push all yaml files in a directory if it's given a
|
5
|
+
directory instead of a file. (Thanks Bartłomiej Danek)
|
6
|
+
* Better daemon support. `daemon_pid_file` and `daemon_log_file` configuration
|
7
|
+
options. (Thanks again Bartłomiej Danek)
|
8
|
+
|
9
|
+
# Version 0.2.0
|
2
10
|
|
3
11
|
* Add `localeapp add` command for sending keys and translations from the command line
|
4
12
|
* Add `secure` configuration setting for api communications. Default: true
|
data/bin/localeapp
CHANGED
@@ -60,17 +60,17 @@ command :pull do |c|
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
-
desc "Pushes a translation file to localeapp.com"
|
63
|
+
desc "Pushes a translation file or directory to localeapp.com"
|
64
64
|
arg_name "<file>"
|
65
65
|
command :push do |c|
|
66
66
|
c.action do |global_options, options, args|
|
67
67
|
if args.empty?
|
68
|
-
exit_now! "localeapp push requires an file to push", 1
|
68
|
+
exit_now! "localeapp push requires an file or directory to push", 1
|
69
69
|
else
|
70
|
-
file = args.first
|
71
70
|
include_config_file
|
71
|
+
path = args.first
|
72
72
|
pusher = Localeapp::CLI::Push.new
|
73
|
-
pusher.execute(
|
73
|
+
pusher.execute(path)
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
@@ -109,11 +109,22 @@ command :daemon do |c|
|
|
109
109
|
end
|
110
110
|
end
|
111
111
|
if options[:background]
|
112
|
+
|
113
|
+
if File.exists? Localeapp.configuration.daemon_pid_file
|
114
|
+
begin
|
115
|
+
daemon_pid = File.read(Localeapp.configuration.daemon_pid_file)
|
116
|
+
Process.kill("QUIT", daemon_pid.to_i)
|
117
|
+
rescue Errno::ESRCH
|
118
|
+
File.delete(Localeapp.configuration.daemon_pid_file)
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
STDOUT.reopen(File.open(Localeapp.configuration.daemon_log_file, 'a'))
|
112
123
|
pid = fork do
|
113
124
|
command.call
|
114
125
|
end
|
115
|
-
|
116
|
-
File.open(
|
126
|
+
|
127
|
+
File.open(Localeapp.configuration.daemon_pid_file, 'w') {|f| f << pid}
|
117
128
|
else
|
118
129
|
command.call
|
119
130
|
end
|
@@ -99,7 +99,7 @@ Feature: localeapp executable
|
|
99
99
|
And help should not be displayed
|
100
100
|
And a file named "config/locales/en.yml" should exist
|
101
101
|
|
102
|
-
Scenario: Running push
|
102
|
+
Scenario: Running push on a file
|
103
103
|
In order to send my translations
|
104
104
|
When I have a valid project on localeapp.com with api key "MYAPIKEY"
|
105
105
|
And an initializer file
|
@@ -109,13 +109,36 @@ Feature: localeapp executable
|
|
109
109
|
"""
|
110
110
|
Localeapp Push
|
111
111
|
|
112
|
-
Pushing file:
|
112
|
+
Pushing file en.yml:
|
113
113
|
Success!
|
114
114
|
|
115
115
|
config/locales/en.yml queued for processing.
|
116
116
|
"""
|
117
117
|
And help should not be displayed
|
118
118
|
|
119
|
+
Scenario: Running push on a directory
|
120
|
+
In order to send my translations
|
121
|
+
When I have a valid project on localeapp.com with api key "MYAPIKEY"
|
122
|
+
And an initializer file
|
123
|
+
And an empty file named "config/locales/en.yml"
|
124
|
+
And an empty file named "config/locales/es.yml"
|
125
|
+
When I run `localeapp push config/locales`
|
126
|
+
Then the output should contain:
|
127
|
+
"""
|
128
|
+
Localeapp Push
|
129
|
+
|
130
|
+
Pushing file en.yml:
|
131
|
+
Success!
|
132
|
+
|
133
|
+
config/locales/en.yml queued for processing.
|
134
|
+
|
135
|
+
Pushing file es.yml:
|
136
|
+
Success!
|
137
|
+
|
138
|
+
config/locales/es.yml queued for processing.
|
139
|
+
"""
|
140
|
+
And help should not be displayed
|
141
|
+
|
119
142
|
Scenario: Running update
|
120
143
|
In order to receive the translations that have been updated since the last check
|
121
144
|
When I have a valid project on localeapp.com with api key "MYAPIKEY"
|
data/features/support/hooks.rb
CHANGED
data/lib/localeapp/cli/push.rb
CHANGED
@@ -7,15 +7,23 @@ module Localeapp
|
|
7
7
|
@output = output
|
8
8
|
end
|
9
9
|
|
10
|
-
def execute(
|
10
|
+
def execute(path = nil)
|
11
11
|
@output.puts "Localeapp Push"
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
if path_is_directory?(path)
|
13
|
+
yaml_files_in_directory(path).each do |path|
|
14
|
+
push_file(path)
|
15
|
+
end
|
16
|
+
else
|
17
|
+
push_file(path)
|
18
|
+
end
|
19
|
+
end
|
15
20
|
|
21
|
+
def push_file(file_path)
|
22
|
+
@output.puts ""
|
23
|
+
@file_path = file_path # for callbacks
|
16
24
|
file = sanitize_file(file_path)
|
17
25
|
if file
|
18
|
-
@output.puts "Pushing file:"
|
26
|
+
@output.puts "Pushing file #{File.basename(file_path)}:"
|
19
27
|
api_call :import,
|
20
28
|
:payload => { :file => file },
|
21
29
|
:success => :report_success,
|
@@ -44,6 +52,14 @@ module Localeapp
|
|
44
52
|
nil
|
45
53
|
end
|
46
54
|
end
|
55
|
+
|
56
|
+
def path_is_directory?(path)
|
57
|
+
File.directory?(path)
|
58
|
+
end
|
59
|
+
|
60
|
+
def yaml_files_in_directory(path)
|
61
|
+
Dir.glob(File.join(path, '*.yml')).sort
|
62
|
+
end
|
47
63
|
end
|
48
64
|
end
|
49
65
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Localeapp
|
2
2
|
class Configuration
|
3
|
-
|
3
|
+
|
4
4
|
# The API key for your project, found on the project edit form
|
5
5
|
attr_accessor :api_key
|
6
6
|
|
@@ -83,6 +83,14 @@ module Localeapp
|
|
83
83
|
# this to RAILS_ROOT/log/localeapp.yml
|
84
84
|
attr_accessor :synchronization_data_file
|
85
85
|
|
86
|
+
# The complete path to the pid file where we store information about daemon
|
87
|
+
# default: RAILS_ROOT/tmp/pids/localeapp.pid
|
88
|
+
attr_accessor :daemon_pid_file
|
89
|
+
|
90
|
+
# The complete path to the log file where we store information about daemon actions
|
91
|
+
# default: RAILS_ROOT/log/localeapp_daemon.log
|
92
|
+
attr_accessor :daemon_log_file
|
93
|
+
|
86
94
|
# The complete path to the directory where translations are stored
|
87
95
|
attr_accessor :translation_data_directory
|
88
96
|
|
@@ -97,11 +105,13 @@ module Localeapp
|
|
97
105
|
@disabled_sending_environments = %w(test cucumber production)
|
98
106
|
@disabled_reloading_environments = %w(test cucumber production)
|
99
107
|
@disabled_polling_environments = %w(test cucumber production)
|
100
|
-
@sending_environments
|
101
|
-
@reloading_environments
|
102
|
-
@polling_environments
|
108
|
+
@sending_environments = %w(development)
|
109
|
+
@reloading_environments = %w(development)
|
110
|
+
@polling_environments = %w(development)
|
103
111
|
@poll_interval = 0
|
104
112
|
@synchronization_data_file = File.join('log', 'localeapp.yml')
|
113
|
+
@daemon_pid_file = File.join('tmp', 'pids', 'localeapp.pid')
|
114
|
+
@daemon_log_file = File.join('log', 'localeapp_daemon.log')
|
105
115
|
@translation_data_directory = File.join('config', 'locales')
|
106
116
|
if ENV['DEBUG']
|
107
117
|
require 'logger'
|
@@ -112,27 +122,27 @@ module Localeapp
|
|
112
122
|
def polling_disabled?
|
113
123
|
if deprecated_environment_config_used?
|
114
124
|
::Localeapp.log "DEPRECATION: disabled_polling_environments is deprecated and will be removed. Use polling_environments instead and reverse the logic if you've changed the defaults"
|
115
|
-
disabled_polling_environments.include?(environment_name)
|
125
|
+
disabled_polling_environments.map { |v| v.to_s }.include?(environment_name)
|
116
126
|
else
|
117
|
-
!polling_environments.include?(environment_name)
|
127
|
+
!polling_environments.map { |v| v.to_s }.include?(environment_name)
|
118
128
|
end
|
119
129
|
end
|
120
130
|
|
121
131
|
def reloading_disabled?
|
122
132
|
if deprecated_environment_config_used?
|
123
133
|
::Localeapp.log "DEPRECATION: disabled_reloading_environments is deprecated and will be removed. Use reloading_environments instead and reverse the logic if you've changed the defaults"
|
124
|
-
disabled_reloading_environments.include?(environment_name)
|
134
|
+
disabled_reloading_environments.map { |v| v.to_s }.include?(environment_name)
|
125
135
|
else
|
126
|
-
!reloading_environments.include?(environment_name)
|
136
|
+
!reloading_environments.map { |v| v.to_s }.include?(environment_name)
|
127
137
|
end
|
128
138
|
end
|
129
139
|
|
130
140
|
def sending_disabled?
|
131
141
|
if deprecated_environment_config_used?
|
132
142
|
::Localeapp.log "DEPRECATION: disabled_sending_environments is deprecated and will be removed. Use sending_environments instead and reverse the logic if you've changed the defaults"
|
133
|
-
disabled_sending_environments.include?(environment_name)
|
143
|
+
disabled_sending_environments.map { |v| v.to_s }.include?(environment_name)
|
134
144
|
else
|
135
|
-
!sending_environments.include?(environment_name)
|
145
|
+
!sending_environments.map { |v| v.to_s }.include?(environment_name)
|
136
146
|
end
|
137
147
|
end
|
138
148
|
|
data/lib/localeapp/version.rb
CHANGED
data/lib/localeapp.rb
CHANGED
@@ -15,7 +15,7 @@ rescue LoadError
|
|
15
15
|
# This ugliness so we can load AS in the travis env
|
16
16
|
# Assume that we're in rails 2.3 and AS supplies deep_merge
|
17
17
|
# Load AS if we need to
|
18
|
-
unless @loaded_active_support
|
18
|
+
unless @loaded_active_support
|
19
19
|
# we're in 2.3 and we need to load rails to get the vendored i18n
|
20
20
|
require 'thread' # for rubygems > 1.6.0 support
|
21
21
|
require 'active_support'
|
@@ -33,7 +33,7 @@ require 'localeapp/poller'
|
|
33
33
|
require 'localeapp/updater'
|
34
34
|
require 'localeapp/key_checker'
|
35
35
|
require 'localeapp/missing_translations'
|
36
|
-
|
36
|
+
|
37
37
|
require 'localeapp/cli/install'
|
38
38
|
require 'localeapp/cli/pull'
|
39
39
|
require 'localeapp/cli/push'
|
@@ -52,7 +52,7 @@ module Localeapp
|
|
52
52
|
class << self
|
53
53
|
# An Localeapp configuration object.
|
54
54
|
attr_accessor :configuration
|
55
|
-
|
55
|
+
|
56
56
|
# The sender object is responsible for delivering formatted data to the Localeapp server.
|
57
57
|
attr_accessor :sender
|
58
58
|
|
@@ -80,7 +80,7 @@ module Localeapp
|
|
80
80
|
def logger
|
81
81
|
self.configuration && self.configuration.logger
|
82
82
|
end
|
83
|
-
|
83
|
+
|
84
84
|
# @example Configuration
|
85
85
|
# Localeapp.configure do |config|
|
86
86
|
# config.api_key = '1234567890abcdef'
|
@@ -1,30 +1,59 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Localeapp::CLI::Push, "#execute(
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
describe Localeapp::CLI::Push, "#execute(path)" do
|
4
|
+
let(:output) { StringIO.new }
|
5
|
+
let(:pusher) { Localeapp::CLI::Push.new(output) }
|
6
|
+
|
7
|
+
context "path is a directory" do
|
8
|
+
it "calls push_file on each yaml file in the directory" do
|
9
|
+
with_configuration do
|
10
|
+
directory = double('directory')
|
11
|
+
path = 'test_path'
|
12
|
+
yaml_files = %w(en.yml es.yml)
|
13
|
+
pusher.stub!(:path_is_directory?).and_return(true)
|
14
|
+
pusher.should_receive(:yaml_files_in_directory).with(path).and_return(yaml_files)
|
15
|
+
pusher.should_receive(:push_file).with('en.yml')
|
16
|
+
pusher.should_receive(:push_file).with('es.yml')
|
17
|
+
pusher.execute(path)
|
18
|
+
end
|
19
|
+
end
|
7
20
|
end
|
8
21
|
|
22
|
+
context "path is a file" do
|
23
|
+
it "calls push_file on the file" do
|
24
|
+
with_configuration do
|
25
|
+
file = double('file')
|
26
|
+
file_path = 'test_path'
|
27
|
+
pusher.should_receive(:push_file).with(file_path)
|
28
|
+
pusher.execute(file_path)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe Localeapp::CLI::Push, "#push_file(file_path)" do
|
35
|
+
let(:output) { StringIO.new }
|
36
|
+
let(:pusher) { Localeapp::CLI::Push.new(output) }
|
37
|
+
|
9
38
|
it "creates a new file object and makes the api call to the translations endpoint" do
|
10
39
|
with_configuration do
|
11
40
|
file = double('file')
|
12
41
|
file_path = 'test_path'
|
13
|
-
|
14
|
-
|
42
|
+
pusher.stub!(:sanitize_file).and_return(file)
|
43
|
+
pusher.should_receive(:api_call).with(
|
15
44
|
:import,
|
16
45
|
:payload => { :file => file },
|
17
46
|
:success => :report_success,
|
18
47
|
:failure => :report_failure,
|
19
48
|
:max_connection_attempts => 3
|
20
49
|
)
|
21
|
-
|
50
|
+
pusher.push_file(file_path)
|
22
51
|
end
|
23
52
|
end
|
24
53
|
|
25
54
|
it "doesn't make the api call when the file doesn't exist" do
|
26
|
-
|
27
|
-
|
28
|
-
|
55
|
+
pusher.stub!(:sanitize_file).and_return(nil)
|
56
|
+
pusher.should_not_receive(:api_call)
|
57
|
+
pusher.push_file('foo')
|
29
58
|
end
|
30
59
|
end
|
@@ -61,6 +61,22 @@ describe Localeapp::Configuration do
|
|
61
61
|
configuration.translation_data_directory.should == "test"
|
62
62
|
end
|
63
63
|
|
64
|
+
it "sets the daemon_pid_file by default" do
|
65
|
+
configuration.daemon_pid_file.should == 'tmp/pids/localeapp.pid'
|
66
|
+
end
|
67
|
+
|
68
|
+
it "allows the daemon_pid_file to be overwritten" do
|
69
|
+
expect { configuration.daemon_pid_file = 'foo/la.pid' }.to change(configuration, :daemon_pid_file).to('foo/la.pid')
|
70
|
+
end
|
71
|
+
|
72
|
+
it "sets the daemon_log_file by default" do
|
73
|
+
configuration.daemon_log_file.should == 'log/localeapp_daemon.log'
|
74
|
+
end
|
75
|
+
|
76
|
+
it "allows the daemon_log_file to be overwritten" do
|
77
|
+
expect { configuration.daemon_log_file = 'log/la.log' }.to change(configuration, :daemon_log_file).to('log/la.log')
|
78
|
+
end
|
79
|
+
|
64
80
|
context "enabled_sending_environments" do
|
65
81
|
it "is only development by default" do
|
66
82
|
configuration.sending_environments.should == ['development']
|
@@ -81,7 +97,7 @@ describe Localeapp::Configuration do
|
|
81
97
|
|
82
98
|
context "disabled_sending_environments" do
|
83
99
|
it "sets deprecated_environment_config_used flag to true" do
|
84
|
-
configuration.disabled_sending_environments = %(foo bar)
|
100
|
+
configuration.disabled_sending_environments = %w(foo bar)
|
85
101
|
configuration.deprecated_environment_config_used?.should be_true
|
86
102
|
end
|
87
103
|
|
@@ -108,7 +124,7 @@ describe Localeapp::Configuration do
|
|
108
124
|
|
109
125
|
context "disabled_reloading_environments" do
|
110
126
|
it "sets deprecated_environment_config_used flag to true" do
|
111
|
-
configuration.disabled_reloading_environments = %(foo bar)
|
127
|
+
configuration.disabled_reloading_environments = %w(foo bar)
|
112
128
|
configuration.deprecated_environment_config_used?.should be_true
|
113
129
|
end
|
114
130
|
|
@@ -135,7 +151,7 @@ describe Localeapp::Configuration do
|
|
135
151
|
|
136
152
|
context "disabled_polling_environments" do
|
137
153
|
it "sets deprecated_environment_config_used flag to true" do
|
138
|
-
configuration.disabled_polling_environments = %(foo bar)
|
154
|
+
configuration.disabled_polling_environments = %w(foo bar)
|
139
155
|
configuration.deprecated_environment_config_used?.should be_true
|
140
156
|
end
|
141
157
|
|
@@ -163,27 +179,39 @@ describe Localeapp::Configuration do
|
|
163
179
|
describe "polling_disabled?" do
|
164
180
|
context "deprecated syntax used" do
|
165
181
|
it "is true when environment is disabled" do
|
166
|
-
configuration.disabled_polling_environments = %(foo)
|
182
|
+
configuration.disabled_polling_environments = %w(foo)
|
167
183
|
configuration.environment_name = 'foo'
|
168
184
|
configuration.should be_polling_disabled
|
169
185
|
end
|
170
186
|
|
171
187
|
it "is false when environment is not disabled" do
|
172
|
-
configuration.disabled_polling_environments = %(foo)
|
188
|
+
configuration.disabled_polling_environments = %w(foo)
|
173
189
|
configuration.environment_name = 'bar'
|
174
190
|
configuration.should_not be_polling_disabled
|
175
191
|
end
|
192
|
+
|
193
|
+
it "supports symbols in list of environments" do
|
194
|
+
configuration.disabled_polling_environments = [:foo]
|
195
|
+
configuration.environment_name = 'foo'
|
196
|
+
configuration.should be_polling_disabled
|
197
|
+
end
|
176
198
|
end
|
177
199
|
|
178
200
|
context "new syntax used" do
|
179
201
|
it "is true when environment is not enabled" do
|
180
|
-
configuration.polling_environments = %(foo)
|
202
|
+
configuration.polling_environments = %w(foo)
|
181
203
|
configuration.environment_name = 'bar'
|
182
204
|
configuration.should be_polling_disabled
|
183
205
|
end
|
184
206
|
|
185
207
|
it "is false when environment is enabled" do
|
186
|
-
configuration.polling_environments = %(foo)
|
208
|
+
configuration.polling_environments = %w(foo)
|
209
|
+
configuration.environment_name = 'foo'
|
210
|
+
configuration.should_not be_polling_disabled
|
211
|
+
end
|
212
|
+
|
213
|
+
it "supports symbols in list of environments" do
|
214
|
+
configuration.polling_environments = [:foo]
|
187
215
|
configuration.environment_name = 'foo'
|
188
216
|
configuration.should_not be_polling_disabled
|
189
217
|
end
|
@@ -193,27 +221,39 @@ describe Localeapp::Configuration do
|
|
193
221
|
describe "reloading_disabled?" do
|
194
222
|
context "deprecated syntax used" do
|
195
223
|
it "is true when environment is disabled" do
|
196
|
-
configuration.disabled_reloading_environments = %(foo)
|
224
|
+
configuration.disabled_reloading_environments = %w(foo)
|
197
225
|
configuration.environment_name = 'foo'
|
198
226
|
configuration.should be_reloading_disabled
|
199
227
|
end
|
200
228
|
|
201
229
|
it "is false when environment is not disabled" do
|
202
|
-
configuration.disabled_reloading_environments = %(foo)
|
230
|
+
configuration.disabled_reloading_environments = %w(foo)
|
203
231
|
configuration.environment_name = 'bar'
|
204
232
|
configuration.should_not be_reloading_disabled
|
205
233
|
end
|
234
|
+
|
235
|
+
it "supports symbols in list of environments" do
|
236
|
+
configuration.disabled_reloading_environments = [:foo]
|
237
|
+
configuration.environment_name = 'foo'
|
238
|
+
configuration.should be_reloading_disabled
|
239
|
+
end
|
206
240
|
end
|
207
241
|
|
208
242
|
context "new syntax used" do
|
209
243
|
it "is true when environment is not enabled" do
|
210
|
-
configuration.reloading_environments = %(foo)
|
244
|
+
configuration.reloading_environments = %w(foo)
|
211
245
|
configuration.environment_name = 'bar'
|
212
246
|
configuration.should be_reloading_disabled
|
213
247
|
end
|
214
248
|
|
215
249
|
it "is false when environment is enabled" do
|
216
|
-
configuration.reloading_environments = %(foo)
|
250
|
+
configuration.reloading_environments = %w(foo)
|
251
|
+
configuration.environment_name = 'foo'
|
252
|
+
configuration.should_not be_reloading_disabled
|
253
|
+
end
|
254
|
+
|
255
|
+
it "supports symbols in list of environments" do
|
256
|
+
configuration.reloading_environments = [:foo]
|
217
257
|
configuration.environment_name = 'foo'
|
218
258
|
configuration.should_not be_reloading_disabled
|
219
259
|
end
|
@@ -223,27 +263,39 @@ describe Localeapp::Configuration do
|
|
223
263
|
describe "sending_disabled?" do
|
224
264
|
context "deprecated syntax used" do
|
225
265
|
it "is true when environment is disabled" do
|
226
|
-
configuration.disabled_sending_environments = %(foo)
|
266
|
+
configuration.disabled_sending_environments = %w(foo)
|
227
267
|
configuration.environment_name = 'foo'
|
228
268
|
configuration.should be_sending_disabled
|
229
269
|
end
|
230
270
|
|
231
271
|
it "is false when environment is not disabled" do
|
232
|
-
configuration.disabled_sending_environments = %(foo)
|
272
|
+
configuration.disabled_sending_environments = %w(foo)
|
233
273
|
configuration.environment_name = 'bar'
|
234
274
|
configuration.should_not be_sending_disabled
|
235
275
|
end
|
276
|
+
|
277
|
+
it "supports symbols in the list of enviroments" do
|
278
|
+
configuration.disabled_sending_environments = [:foo]
|
279
|
+
configuration.environment_name = 'foo'
|
280
|
+
configuration.should be_sending_disabled
|
281
|
+
end
|
236
282
|
end
|
237
283
|
|
238
284
|
context "new syntax used" do
|
239
285
|
it "is true when environment is not enabled" do
|
240
|
-
configuration.sending_environments = %(foo)
|
286
|
+
configuration.sending_environments = %w(foo)
|
241
287
|
configuration.environment_name = 'bar'
|
242
288
|
configuration.should be_sending_disabled
|
243
289
|
end
|
244
290
|
|
245
291
|
it "is false when environment is enabled" do
|
246
|
-
configuration.sending_environments = %(foo)
|
292
|
+
configuration.sending_environments = %w(foo)
|
293
|
+
configuration.environment_name = 'foo'
|
294
|
+
configuration.should_not be_sending_disabled
|
295
|
+
end
|
296
|
+
|
297
|
+
it "supports symbols in the list of environments" do
|
298
|
+
configuration.sending_environments = [:foo]
|
247
299
|
configuration.environment_name = 'foo'
|
248
300
|
configuration.should_not be_sending_disabled
|
249
301
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: localeapp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 3
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Christopher Dell
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-11-
|
19
|
+
date: 2011-11-18 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: i18n
|