localeapp 0.9.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NDE3NjhiMTdlMzc4MDkzMjFmOGY2NmUyZWY3MzFiZDBjMTEwYmQwMg==
4
+ YjQ2MmQ4NGMzNzQ0ZGQwNzJjNzkwZTU0ZjU5MGU3MmU0YTI0Y2E5ZA==
5
5
  data.tar.gz: !binary |-
6
- NGM5MTM5YTlhOWE2ODBjYzEwOGIxYTQ0M2UxMzdiNGFmMzUzZWJjNA==
6
+ Mjg1ZGY4ZTdkNjdhZGQ2NjBmNThiOTE1NzExNjU0M2UyYzBkZGUyYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZmRhNGNhYmMwYTY3OGI5NzY0MGFjZjNjMDYyMjZlMGVkY2ZiNWFjNzRlMTU2
10
- OTBmODA1YjExNTFhZGUzNGU1MzgxNTQyODJhNjZjZWViZmIzYjhiYWJhOWJi
11
- NjVkZWE3NjNlZjEzMGU0NGQzMzU4NGM5YjMyZmMzNjUzZmFjOWU=
9
+ Zjg1OGEzMWMyMWI5Y2E3YzhiNWUxYTY4YjVjMTEyYmZlZDQ4MGVhZDM2NzIw
10
+ OWJhYzRkN2RlMGI2OTNlNTZhMWIzNDlkNWRmYjk3NDhjZGE1NjVmYjg0ZWYy
11
+ Yjc4ZjNiMjk2MmZmYzhlZmI0OWFlOTQ0ZTZkMTE1OTRlMmIzZTI=
12
12
  data.tar.gz: !binary |-
13
- MGU5NTdhNjU5ZWExYTBkZDIzZjk4MjUzNmU3M2YwMGJjMWFlNmU2MzdmYzU5
14
- ZDhjZGExNmUxZDc3MDZkZjk1NDQyMGNhMjBiOTZmMWY3OGE5MTM4NzViZjUx
15
- N2VlYWE3MDQ0Y2Q5OTk0MzllY2M1ZmYzNTIwOGI5MmZiOTA4NWI=
13
+ NGU5ZDBkOWQyZDE4ZGIxMTU4NTcyODg3MjBmNmYzYWM3NDczMTExNWQ1MDYy
14
+ NDhmMmY0YzNiOGUzNWYwNmVkZmQyYzVlNDY4NTgwYmY3NDU2ZDc1MTBjMTg3
15
+ Y2I5NGRiNDczNDFiNWI3ZDY1YmQxMmY0OGM0YmY2NTJiMjQzNGM=
data/.travis.yml CHANGED
@@ -1,8 +1,10 @@
1
+ before_install:
2
+ - gem update bundler
1
3
  rvm:
2
- - 1.9.2
3
4
  - 1.9.3
4
5
  - 2.0.0
5
6
  - 2.1.0
7
+ - 2.2.0
6
8
  - jruby
7
9
  - jruby-head
8
10
  gemfile:
@@ -15,5 +17,7 @@ matrix:
15
17
  gemfile: Gemfile.i18n_037
16
18
  - rvm: 2.1.0
17
19
  gemfile: Gemfile.i18n_037
20
+ - rvm: 2.2.0
21
+ gemfile: Gemfile.i18n_037
18
22
  - rvm: jruby-head
19
23
  gemfile: Gemfile.i18n_037
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # master
2
2
 
3
+ # Version 1.0
4
+
5
+ * Drop support for Ruby 1.9.2
6
+ * Adopt semantic versioning
7
+ * Upgrade test frameworks to RSpec 3 and Cucumber 2
8
+
9
+ # Version 0.9.3
10
+
11
+ * Support multilines translations content in `localeapp add`
12
+
3
13
  # Version 0.9.2
4
14
 
5
15
  * Refactor which monkeypatch/backported-bugfix is loaded for which Rails version
data/README.md CHANGED
@@ -14,14 +14,14 @@ Though the i18n gem uses YAML as it's default file format it doesn't require ser
14
14
 
15
15
  ## Installation
16
16
 
17
- ### Rails 3
17
+ ### Rails 3+
18
18
 
19
19
  Add the localeapp gem to your `Gemfile` and install it:
20
20
 
21
21
  echo "gem 'localeapp'" >> Gemfile
22
22
  bundle install
23
23
 
24
- Create a project on localeapp.com and get the api key. Then run:
24
+ Create a project on [Locale](https://localeapp.com) and get the api key. Then run:
25
25
 
26
26
  bundle exec localeapp install <YOUR_API_KEY>
27
27
 
data/bin/localeapp CHANGED
@@ -5,12 +5,14 @@ require 'localeapp'
5
5
 
6
6
  # Don't connect to the net if we're running under cucumber for testing
7
7
  # Use FakeWeb to simulate api.localeapp.com
8
- if ENV['FAKE_WEB_DURING_CUCUMBER_RUN'] && fake_data_as_json = ENV['FAKE_WEB_FAKES']
8
+ if ENV['FAKE_WEB_DURING_CUCUMBER_RUN']
9
9
  require 'fakeweb'
10
10
  FakeWeb.allow_net_connect = false
11
- fakes = JSON.parse(fake_data_as_json)
12
- fakes.each do |fake|
13
- FakeWeb.register_uri fake['method'].to_sym, fake['uri'], { :body => fake['body'], :status => fake['status'] }.merge(fake['headers'])
11
+ if fake_data_as_json = ENV['FAKE_WEB_FAKES']
12
+ fakes = JSON.parse(fake_data_as_json)
13
+ fakes.each do |fake|
14
+ FakeWeb.register_uri fake['method'].to_sym, fake['uri'], { :body => fake['body'], :status => fake['status'] }.merge(fake['headers'])
15
+ end
14
16
  end
15
17
  end
16
18
 
data/features/add.feature CHANGED
@@ -2,8 +2,8 @@ Feature: Adding a translation from the command line
2
2
 
3
3
  Scenario: Running add
4
4
  In order to add a key and translation content
5
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
6
- And an initializer file
5
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
6
+ And an initializer file
7
7
  When I run `localeapp add foo.baz en:"test en content" es:"test es content"`
8
8
  Then the output should contain:
9
9
  """
@@ -15,8 +15,8 @@ Feature: Adding a translation from the command line
15
15
 
16
16
  Scenario: Running add with no arguments
17
17
  In order to add a key and translation content
18
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
19
- And an initializer file
18
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
19
+ And an initializer file
20
20
  When I run `localeapp add`
21
21
  Then the output should contain:
22
22
  """
@@ -25,8 +25,8 @@ Feature: Adding a translation from the command line
25
25
 
26
26
  Scenario: Running add with just a key name
27
27
  In order to add a key and translation content
28
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
29
- And an initializer file
28
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
29
+ And an initializer file
30
30
  When I run `localeapp add foo.bar`
31
31
  Then the output should contain:
32
32
  """
@@ -35,7 +35,7 @@ Feature: Adding a translation from the command line
35
35
 
36
36
  Scenario: Running add with no initializer file, passing the key on the command line
37
37
  In order to add a key and translation content
38
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
38
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
39
39
  When I run `localeapp -k MYAPIKEY add foo.baz en:"test en content"`
40
40
  Then the output should contain:
41
41
  """
@@ -47,8 +47,8 @@ Feature: Adding a translation from the command line
47
47
 
48
48
  Scenario: Running add with no initializer file, passing the key via an ENV variable
49
49
  In order to add a key and translation content
50
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
51
- When I have a LOCALEAPP_API_KEY env variable set to "MYAPIKEY"
50
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
51
+ And I have a LOCALEAPP_API_KEY env variable set to "MYAPIKEY"
52
52
  When I run `localeapp add foo.baz en:"test en content"`
53
53
  Then the output should contain:
54
54
  """
@@ -57,12 +57,11 @@ Feature: Adding a translation from the command line
57
57
  Sending key: foo.baz
58
58
  Success!
59
59
  """
60
- Then I clear the LOCALEAPP_API_KEY env variable
61
60
 
62
61
  Scenario: Running add with no initializer file, passing the key via a .env file
63
62
  In order to add a key and translation content
64
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
65
- When I have a .env file containing the api key "MYAPIKEY"
63
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
64
+ And I have a .env file containing the api key "MYAPIKEY"
66
65
  When I run `localeapp add foo.baz en:"test en content"`
67
66
  Then the output should contain:
68
67
  """
@@ -2,8 +2,8 @@ Feature: Installation
2
2
 
3
3
  Scenario: Running Rails install
4
4
  In order to configure my project and check my api key is correct
5
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
6
- And I run `localeapp install MYAPIKEY`
5
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
6
+ When I run `localeapp install MYAPIKEY`
7
7
  Then the output should contain:
8
8
  """
9
9
  Localeapp Install
@@ -13,14 +13,14 @@ Feature: Installation
13
13
  Project: Test Project
14
14
  Default Locale: en (English)
15
15
  """
16
- And help should not be displayed
17
- And a file named "config/initializers/localeapp.rb" should exist
18
- And the exit status should be 0
16
+ And help should not be displayed
17
+ And a file named "config/initializers/localeapp.rb" should exist
18
+ And the exit status should be 0
19
19
 
20
20
  Scenario: Running standalone install
21
21
  In order to configure my non rails project and check my api key is correct
22
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
23
- And I run `localeapp install --standalone MYAPIKEY`
22
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
23
+ When I run `localeapp install --standalone MYAPIKEY`
24
24
  Then the output should contain:
25
25
  """
26
26
  Localeapp Install
@@ -32,14 +32,14 @@ Feature: Installation
32
32
  Writing configuration file to .localeapp/config.rb
33
33
  WARNING: please create the locales directory. Your translation data will be stored there.
34
34
  """
35
- And help should not be displayed
36
- And a file named ".localeapp/config.rb" should exist
37
- And the exit status should be 0
35
+ And help should not be displayed
36
+ And a file named ".localeapp/config.rb" should exist
37
+ And the exit status should be 0
38
38
 
39
39
  Scenario: Running github install
40
40
  In order to configure my public github project and check my api key is correct
41
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
42
- And I run `localeapp install --github MYAPIKEY`
41
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
42
+ When I run `localeapp install --github MYAPIKEY`
43
43
  Then the output should contain:
44
44
  """
45
45
  Localeapp Install
@@ -50,16 +50,16 @@ Feature: Installation
50
50
  NOTICE: you probably want to add .localeapp to your .gitignore file
51
51
  Writing configuration file to .localeapp/config.rb
52
52
  """
53
- And help should not be displayed
54
- And a file named ".localeapp/config.rb" should exist
55
- And a file named ".gitignore" should exist
56
- And a file named "README.md" should exist
57
- And the exit status should be 0
53
+ And help should not be displayed
54
+ And a file named ".localeapp/config.rb" should exist
55
+ And a file named ".gitignore" should exist
56
+ And a file named "README.md" should exist
57
+ And the exit status should be 0
58
58
 
59
59
  Scenario: Running heroku install with no api key
60
60
  In order to configure my project to use localeapp as a heroku addon
61
- When I have a valid heroku project
62
- And I run `localeapp install --heroku`
61
+ Given I have a valid heroku project
62
+ When I run `localeapp install --heroku`
63
63
  Then the output should contain:
64
64
  """
65
65
  Localeapp Install
@@ -73,15 +73,15 @@ Feature: Installation
73
73
  Project: Test Project
74
74
  Default Locale: en (English)
75
75
  """
76
- And help should not be displayed
77
- And a file named "config/initializers/localeapp.rb" should exist
78
- And the file "config/initializers/localeapp.rb" should contain "config.api_key = ENV['LOCALEAPP_API_KEY']"
79
- And the exit status should be 0
76
+ And help should not be displayed
77
+ And a file named "config/initializers/localeapp.rb" should exist
78
+ And the file "config/initializers/localeapp.rb" should contain "config.api_key = ENV['LOCALEAPP_API_KEY']"
79
+ And the exit status should be 0
80
80
 
81
81
  Scenario: Running install with bad api key
82
82
  In order to configure my project and check my api key is correct
83
- When I have a valid project on localeapp.com but an incorrect api key "BADAPIKEY"
84
- And I run `localeapp install BADAPIKEY`
83
+ Given I have a valid project on localeapp.com but an incorrect api key "BADAPIKEY"
84
+ When I run `localeapp install BADAPIKEY`
85
85
  Then the output should contain:
86
86
  """
87
87
  Localeapp Install
@@ -89,6 +89,6 @@ Feature: Installation
89
89
  Checking API key: BADAPIKEY
90
90
  ERROR: Project not found
91
91
  """
92
- And help should not be displayed
93
- And a file named "config/initializers/localeapp.rb" should not exist
94
- And the exit status should not be 0
92
+ And help should not be displayed
93
+ And a file named "config/initializers/localeapp.rb" should not exist
94
+ And the exit status should not be 0
data/features/mv.feature CHANGED
@@ -2,8 +2,8 @@ Feature: Renaming a translation from the command line
2
2
 
3
3
  Scenario: Running mv
4
4
  In order to rename an existing key
5
- When I have a valid project on localeapp.com with api key "MYAPIKEY" and the translation key "foo.bar"
6
- And an initializer file
5
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY" and the translation key "foo.bar"
6
+ And an initializer file
7
7
  When I run `localeapp mv foo.bar foo.baz`
8
8
  Then the output should contain:
9
9
  """
@@ -3,8 +3,8 @@ Feature: Pulling all translation
3
3
  Scenario: Running pull
4
4
  In order to retrieve my translations
5
5
  Given I have a translations on localeapp.com for the project with api key "MYAPIKEY"
6
- And an initializer file
7
- And a directory named "config/locales"
6
+ And an initializer file
7
+ And a directory named "config/locales"
8
8
  When I run `localeapp pull`
9
9
  Then the output should contain:
10
10
  """
@@ -15,13 +15,13 @@ Feature: Pulling all translation
15
15
  Updating backend:
16
16
  Success!
17
17
  """
18
- And help should not be displayed
19
- And a file named "config/locales/en.yml" should exist
18
+ And help should not be displayed
19
+ And a file named "config/locales/en.yml" should exist
20
20
 
21
21
  Scenario: Running pull without having a locales dir
22
22
  In order to retreive my translations
23
23
  Given I have a translations on localeapp.com for the project with api key "MYAPIKEY"
24
- And an initializer file
24
+ And an initializer file
25
25
  When I run `localeapp pull`
26
26
  Then the output should contain:
27
27
  """
@@ -31,7 +31,7 @@ Feature: Pulling all translation
31
31
  Scenario: Running pull with no initializer file, passing the key on the command line
32
32
  In order to retrieve my translations
33
33
  Given I have a translations on localeapp.com for the project with api key "MYAPIKEY"
34
- And a directory named "config/locales"
34
+ And a directory named "config/locales"
35
35
  When I run `localeapp -k MYAPIKEY pull`
36
36
  Then the output should contain:
37
37
  """
@@ -42,5 +42,5 @@ Feature: Pulling all translation
42
42
  Updating backend:
43
43
  Success!
44
44
  """
45
- And help should not be displayed
46
- And a file named "config/locales/en.yml" should exist
45
+ And help should not be displayed
46
+ And a file named "config/locales/en.yml" should exist
@@ -2,9 +2,9 @@ Feature: Pushing existing translation to localeapp
2
2
 
3
3
  Scenario: Running push on a file
4
4
  In order to send my translations
5
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
6
- And an initializer file
7
- And an empty file named "config/locales/en.yml"
5
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
6
+ And an initializer file
7
+ And an empty file named "config/locales/en.yml"
8
8
  When I run `localeapp push config/locales/en.yml`
9
9
  Then the output should contain:
10
10
  """
@@ -15,14 +15,14 @@ Feature: Pushing existing translation to localeapp
15
15
 
16
16
  config/locales/en.yml queued for processing.
17
17
  """
18
- And help should not be displayed
18
+ And help should not be displayed
19
19
 
20
20
  Scenario: Running push on a directory
21
21
  In order to send my translations
22
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
23
- And an initializer file
24
- And an empty file named "config/locales/en.yml"
25
- And an empty file named "config/locales/es.yml"
22
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
23
+ And an initializer file
24
+ And an empty file named "config/locales/en.yml"
25
+ And an empty file named "config/locales/es.yml"
26
26
  When I run `localeapp push config/locales`
27
27
  Then the output should contain:
28
28
  """
@@ -38,12 +38,12 @@ Feature: Pushing existing translation to localeapp
38
38
 
39
39
  config/locales/es.yml queued for processing.
40
40
  """
41
- And help should not be displayed
41
+ And help should not be displayed
42
42
 
43
43
  Scenario: Running push on a file with no initializer file, passing the key on the command line
44
44
  In order to send my translations
45
- When I have a valid project on localeapp.com with api key "MYAPIKEY"
46
- And an empty file named "config/locales/en.yml"
45
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY"
46
+ And an empty file named "config/locales/en.yml"
47
47
  When I run `localeapp -k MYAPIKEY push config/locales/en.yml`
48
48
  Then the output should contain:
49
49
  """
@@ -54,4 +54,4 @@ Feature: Pushing existing translation to localeapp
54
54
 
55
55
  config/locales/en.yml queued for processing.
56
56
  """
57
- And help should not be displayed
57
+ And help should not be displayed
data/features/rm.feature CHANGED
@@ -2,8 +2,8 @@ Feature: Removing a translation from the command line
2
2
 
3
3
  Scenario: Running rm
4
4
  In order to remove an existing key
5
- When I have a valid project on localeapp.com with api key "MYAPIKEY" and the translation key "foo.bar"
6
- And an initializer file
5
+ Given I have a valid project on localeapp.com with api key "MYAPIKEY" and the translation key "foo.bar"
6
+ And an initializer file
7
7
  When I run `localeapp rm foo.bar`
8
8
  Then the output should contain:
9
9
  """
@@ -13,7 +13,7 @@ When /^I have a valid heroku project/ do
13
13
  uri = "https://api.localeapp.com/v1/projects/MYAPIKEY.json"
14
14
  body = valid_project_data.to_json
15
15
  add_fake_web_uri(:get, uri, ['200', 'OK'], body)
16
- ENV['CUCUMBER_HEROKU_TEST_API_KEY'] = 'MYAPIKEY'
16
+ set_environment_variable 'CUCUMBER_HEROKU_TEST_API_KEY', 'MYAPIKEY'
17
17
  end
18
18
 
19
19
  When /^I have a valid project on localeapp\.com but an incorrect api key "([^"]*)"$/ do |bad_api_key|
@@ -47,11 +47,7 @@ When /^I have a valid project on localeapp\.com with api key "([^"]*)" and the t
47
47
  end
48
48
 
49
49
  When /^I have a LOCALEAPP_API_KEY env variable set to "(.*?)"$/ do |api_key|
50
- ENV['LOCALEAPP_API_KEY'] = api_key
51
- end
52
-
53
- Then /^I clear the LOCALEAPP_API_KEY env variable$/ do
54
- ENV['LOCALEAPP_API_KEY'] = nil
50
+ set_environment_variable 'LOCALEAPP_API_KEY', api_key
55
51
  end
56
52
 
57
53
  When /^I have a \.env file containing the api key "(.*?)"$/ do |api_key|
@@ -1,14 +1,12 @@
1
1
  require 'aruba/cucumber'
2
- require 'aruba/jruby'
2
+ require 'aruba/config/jruby'
3
3
 
4
4
  require File.expand_path(File.join(File.dirname(__FILE__), '../../spec/support/localeapp_integration_data'))
5
5
  World(LocaleappIntegrationData)
6
6
 
7
- ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
8
-
9
7
  module FakeWebHelper
10
8
  def add_fake_web_uri(method, uri, status, body, headers = {})
11
- fakes = JSON.parse(ENV['FAKE_WEB_FAKES'] || '[]')
9
+ fakes = JSON.parse(aruba.environment['FAKE_WEB_FAKES'] || '[]')
12
10
  fakes << {
13
11
  'method' => method,
14
12
  'uri' => uri,
@@ -16,7 +14,7 @@ module FakeWebHelper
16
14
  'body' => body,
17
15
  'headers' => headers
18
16
  }
19
- ENV['FAKE_WEB_FAKES'] = fakes.to_json
17
+ set_environment_variable 'FAKE_WEB_FAKES', fakes.to_json
20
18
  end
21
19
  end
22
20
  World(FakeWebHelper)
@@ -1,11 +1,11 @@
1
1
  Before do
2
- ENV['FAKE_WEB_DURING_CUCUMBER_RUN'] = '1'
2
+ set_environment_variable 'FAKE_WEB_DURING_CUCUMBER_RUN', '1'
3
3
  @aruba_timeout_seconds = RUBY_PLATFORM == 'java' ? 60 : 15
4
4
  end
5
5
 
6
6
  # Globally @announce-cmd to track down slow cmd.
7
7
  Aruba.configure do |config|
8
- config.before_cmd do |cmd|
9
- puts "$ '#{cmd}'"
8
+ config.before :command do |cmd|
9
+ puts "$ #{cmd.commandline}"
10
10
  end
11
11
  end