phraseapp-in-context-editor-ruby 1.4.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +18 -0
  3. data/.github/workflows/close_inactive_issues.yml +18 -0
  4. data/.github/workflows/release.yml +28 -0
  5. data/.github/workflows/test.yml +8 -9
  6. data/.gitignore +1 -1
  7. data/.tool-versions +1 -1
  8. data/CHANGELOG.md +9 -105
  9. data/CODEOWNERS +1 -0
  10. data/Gemfile +1 -1
  11. data/Gemfile.lock +244 -0
  12. data/Guardfile +13 -13
  13. data/README.md +81 -51
  14. data/RELEASING.md +3 -0
  15. data/docs/CHANGELOG.md +116 -0
  16. data/examples/demo/.gitattributes +7 -0
  17. data/examples/demo/.gitignore +35 -0
  18. data/examples/demo/Gemfile +74 -0
  19. data/examples/demo/Gemfile.lock +268 -0
  20. data/examples/demo/README.md +5 -0
  21. data/examples/demo/Rakefile +6 -0
  22. data/examples/demo/app/assets/config/manifest.js +4 -0
  23. data/examples/demo/app/assets/images/.keep +0 -0
  24. data/examples/demo/app/assets/stylesheets/application.css +15 -0
  25. data/examples/demo/app/channels/application_cable/channel.rb +4 -0
  26. data/examples/demo/app/channels/application_cable/connection.rb +4 -0
  27. data/examples/demo/app/controllers/application_controller.rb +2 -0
  28. data/examples/demo/app/controllers/concerns/.keep +0 -0
  29. data/examples/demo/app/controllers/main_controller.rb +4 -0
  30. data/examples/demo/app/helpers/application_helper.rb +2 -0
  31. data/examples/demo/app/helpers/main_helper.rb +2 -0
  32. data/examples/demo/app/javascript/application.js +3 -0
  33. data/examples/demo/app/javascript/controllers/application.js +9 -0
  34. data/examples/demo/app/javascript/controllers/hello_controller.js +7 -0
  35. data/examples/demo/app/javascript/controllers/index.js +11 -0
  36. data/examples/demo/app/jobs/application_job.rb +7 -0
  37. data/examples/demo/app/mailers/application_mailer.rb +4 -0
  38. data/examples/demo/app/models/application_record.rb +3 -0
  39. data/examples/demo/app/models/concerns/.keep +0 -0
  40. data/examples/demo/app/views/layouts/application.html.erb +17 -0
  41. data/examples/demo/app/views/layouts/mailer.html.erb +13 -0
  42. data/examples/demo/app/views/layouts/mailer.text.erb +1 -0
  43. data/examples/demo/app/views/main/index.html.erb +8 -0
  44. data/examples/demo/bin/bundle +109 -0
  45. data/examples/demo/bin/importmap +4 -0
  46. data/examples/demo/bin/rails +4 -0
  47. data/examples/demo/bin/rake +4 -0
  48. data/examples/demo/bin/setup +33 -0
  49. data/examples/demo/config/application.rb +22 -0
  50. data/examples/demo/config/boot.rb +4 -0
  51. data/examples/demo/config/cable.yml +10 -0
  52. data/examples/demo/config/credentials.yml.enc +1 -0
  53. data/examples/demo/config/database.yml +25 -0
  54. data/examples/demo/config/environment.rb +5 -0
  55. data/examples/demo/config/environments/development.rb +70 -0
  56. data/examples/demo/config/environments/production.rb +93 -0
  57. data/examples/demo/config/environments/test.rb +60 -0
  58. data/examples/demo/config/importmap.rb +7 -0
  59. data/examples/demo/config/initializers/assets.rb +12 -0
  60. data/examples/demo/config/initializers/content_security_policy.rb +25 -0
  61. data/examples/demo/config/initializers/filter_parameter_logging.rb +8 -0
  62. data/examples/demo/config/initializers/inflections.rb +16 -0
  63. data/examples/demo/config/initializers/permissions_policy.rb +11 -0
  64. data/examples/demo/config/initializers/phraseapp_in_context_editor.rb +20 -0
  65. data/examples/demo/config/locales/en.yml +38 -0
  66. data/examples/demo/config/puma.rb +43 -0
  67. data/examples/demo/config/routes.rb +6 -0
  68. data/examples/demo/config/storage.yml +34 -0
  69. data/examples/demo/config.ru +6 -0
  70. data/examples/demo/db/seeds.rb +7 -0
  71. data/examples/demo/lib/assets/.keep +0 -0
  72. data/examples/demo/lib/tasks/.keep +0 -0
  73. data/examples/demo/log/.keep +0 -0
  74. data/examples/demo/public/404.html +67 -0
  75. data/examples/demo/public/422.html +67 -0
  76. data/examples/demo/public/500.html +66 -0
  77. data/examples/demo/public/apple-touch-icon-precomposed.png +0 -0
  78. data/examples/demo/public/apple-touch-icon.png +0 -0
  79. data/examples/demo/public/favicon.ico +0 -0
  80. data/examples/demo/public/robots.txt +1 -0
  81. data/examples/demo/storage/.keep +0 -0
  82. data/examples/demo/test/application_system_test_case.rb +5 -0
  83. data/examples/demo/test/channels/application_cable/connection_test.rb +11 -0
  84. data/examples/demo/test/controllers/.keep +0 -0
  85. data/examples/demo/test/controllers/main_controller_test.rb +8 -0
  86. data/examples/demo/test/fixtures/files/.keep +0 -0
  87. data/examples/demo/test/helpers/.keep +0 -0
  88. data/examples/demo/test/integration/.keep +0 -0
  89. data/examples/demo/test/mailers/.keep +0 -0
  90. data/examples/demo/test/models/.keep +0 -0
  91. data/examples/demo/test/system/.keep +0 -0
  92. data/examples/demo/test/test_helper.rb +13 -0
  93. data/examples/demo/tmp/.keep +0 -0
  94. data/examples/demo/tmp/pids/.keep +0 -0
  95. data/examples/demo/tmp/storage/.keep +0 -0
  96. data/examples/demo/vendor/.keep +0 -0
  97. data/examples/demo/vendor/javascript/.keep +0 -0
  98. data/lib/generators/phraseapp_in_context_editor/install_generator.rb +3 -9
  99. data/lib/generators/phraseapp_in_context_editor/templates/phraseapp_in_context_editor.rb +9 -17
  100. data/lib/phraseapp-in-context-editor-ruby/adapters/fast_gettext.rb +20 -20
  101. data/lib/phraseapp-in-context-editor-ruby/adapters/i18n.rb +10 -10
  102. data/lib/phraseapp-in-context-editor-ruby/backend_service.rb +12 -99
  103. data/lib/phraseapp-in-context-editor-ruby/config.rb +13 -49
  104. data/lib/phraseapp-in-context-editor-ruby/delegate/fast_gettext.rb +13 -15
  105. data/lib/phraseapp-in-context-editor-ruby/delegate/i18n_delegate.rb +4 -50
  106. data/lib/phraseapp-in-context-editor-ruby/delegate.rb +13 -14
  107. data/lib/phraseapp-in-context-editor-ruby/engine.rb +5 -6
  108. data/lib/phraseapp-in-context-editor-ruby/version.rb +1 -3
  109. data/lib/phraseapp-in-context-editor-ruby/view_helpers.rb +26 -19
  110. data/lib/phraseapp-in-context-editor-ruby.rb +17 -52
  111. data/package-lock.json +6576 -0
  112. data/package.json +13 -0
  113. data/phraseapp-in-context-editor-ruby.gemspec +19 -32
  114. data/release.config.js +10 -0
  115. metadata +113 -97
  116. data/lib/generators/phraseapp_in_context_editor/templates/README +0 -10
  117. data/lib/phraseapp-in-context-editor-ruby/api_collection.rb +0 -41
  118. data/lib/phraseapp-in-context-editor-ruby/api_wrapper.rb +0 -59
  119. data/lib/phraseapp-in-context-editor-ruby/cache.rb +0 -37
  120. data/lib/phraseapp-in-context-editor-ruby/displayable_key_identifier.rb +0 -46
  121. data/lib/phraseapp-in-context-editor-ruby/fallback_keys_fetcher.rb +0 -44
  122. data/lib/phraseapp-in-context-editor-ruby/hash_flattener.rb +0 -53
  123. data/lib/phraseapp-in-context-editor-ruby/key_names_cache.rb +0 -53
data/README.md CHANGED
@@ -1,92 +1,122 @@
1
- # Phrase In-Context Editor for Ruby #
1
+ # phraseapp-in-context-editor-ruby
2
2
 
3
- *This Ruby gem is for use with Ruby (Rails, Sinatra) applications only. Check out the [documentation](https://help.phrase.com/help/translate-directly-on-your-website) to learn how to set up the In-Context Editor with other technologies.*
3
+ ![Build status](https://github.com/phrase/phraseapp-in-context-editor-ruby/workflows/Test/badge.svg)
4
4
 
5
- ![Build Status](https://github.com/phrase/phraseapp-in-context-editor-ruby/workflows/Test/badge.svg)
5
+ **phraseapp-in-context-editor-ruby** is the official library for integrating [Phrase Strings In-Context Editor](https://support.phrase.com/hc/en-us/articles/5784095916188-In-Context-Editor-Strings) with [i18n](https://github.com/ruby-i18n/i18n) in your Ruby application.
6
6
 
7
- Phrase is the translation management solution for web and mobile applications. Collaborate with your team, find professional translators and stay on top of the process.
7
+ ## :scroll: Documentation
8
8
 
9
- [Try out Phrase for free](https://phrase.com/signup) and start translating your app!
9
+ ### Prerequisites
10
10
 
11
- *Note: This gem [documentation](https://help.phrase.com/help/translate-directly-on-your-website) to learn how to install the In-Context Editor with other technologies.*
11
+ To use phraseapp-in-context-editor-ruby with your application you have to:
12
12
 
13
- ## In-Context-Editor ###
13
+ * Sign up for a Phrase account: [https://app.phrase.com/signup](https://app.phrase.com/signup)
14
+ * Use the excellent [i18n](https://github.com/ruby-i18n/i18n) gem also used by [Rails](https://guides.rubyonrails.org/i18n.html)
14
15
 
15
- How awesome would it be if translators could simply browse your website and edit text along the way? Our In-Context Editor offers just that. It provides translators with useful contextual information which improves overall translation quality. See our documentation on how to set it up: [In-Context Editor Setup](https://help.phrase.com/help/translate-directly-on-your-website).
16
+ ### Demo
16
17
 
17
- ## Installation
18
+ You can find a demo project in the `examples/demo` folder, just run `bundle && rails s` and head to `http://127.0.0.1:3000`
19
+ Login via the demo credentials `demo@phrase.com` / `phrase`
18
20
 
19
- ### Install the gem
21
+ ### Installation
20
22
 
21
- Install the gem via `gem install`:
23
+ #### NOTE: You can not use the old version of the ICE with integration versions of >2.0.0, you have to instead use 1.x.x versions as before
24
+ #### via Gem
22
25
 
23
- gem install phraseapp-in-context-editor-ruby
26
+ ```bash
27
+ gem install phraseapp-in-context-editor-ruby
28
+ ```
29
+ #### via Bundler
24
30
 
25
- or add it to your `Gemfile` when using bundler:
31
+ Add it to your `Gemfile`
26
32
 
27
- gem 'phraseapp-in-context-editor-ruby'
33
+ ```
34
+ gem 'phraseapp-in-context-editor-ruby
35
+ ```
28
36
 
29
- and install it:
37
+ #### Build from source
30
38
 
31
- $ bundle install
39
+ You can also build it directly from source to get the latest and greatest:
32
40
 
33
- Next, create the initializer file by executing the Rails generator:
41
+ ```bash
42
+ bundle && gem build
43
+ ```
34
44
 
35
- $ bundle exec rails generate phraseapp_in_context_editor:install --access-token=<YOUR_TOKEN> --project-id=<YOUR_PROJECT_ID>
45
+ #### Initialized config file
36
46
 
37
- ##### --access-token
47
+ Create the initializer file by executing the Rails generator:
38
48
 
39
- You can create and manage access tokens in your [profile settings](https://app.phrase.com/settings/oauth_access_tokens) or via the [Authorizations API](https://developers.phrase.com/api/#authorizations).
49
+ ```bash
50
+ rails generate phraseapp_in_context_editor:install --account_id=<YOUR_ACCOUNT_ID> --project-id=<YOUR_PROJECT_ID>
51
+ ```
40
52
 
41
- ##### --project-id
53
+ ### Development
42
54
 
43
- You can find the ID of your project in your project settings in Translation Center.
55
+ ```bash
56
+ # install deps
57
+ bundle
58
+ ```
44
59
 
45
- ### Add the JavaScript helper
60
+ #### Configure
46
61
 
47
- Next, add the Javascript helper to your Rails application layout file:
62
+ Add the following Ruby snippet to your rails `app/views//layouts/application.html.erb`
48
63
 
49
- <%= phraseapp_in_context_editor_js %>
64
+ ```
65
+ <%= load_in_context_editor %>
66
+ ```
50
67
 
51
- If you don't want to use the helper but add the plain Javascript yourself, head over to our [documentation](https://help.phrase.com/help/translate-directly-on-your-website) to learn more.
68
+ And the following config to your `/config/initializers/phraseapp_in_context_editor.rb`
52
69
 
53
- ### Done!
70
+ ```ruby
71
+ config.enabled = true
72
+ config.project_id = "YOUR_PROJECT_ID"
73
+ config.account_id = "YOUR_ACCOUNT_ID"
74
+ config.datacenter = "eu"
75
+ ```
54
76
 
55
- Restart your application to see the In-Context Editor in action!
77
+ You can find the Project-ID in the Project overview in the PhraseApp Translation Center.
78
+ You can find the Account-ID in the Organization page in the PhraseApp Translation Center.
56
79
 
57
- ### OpenSSL issues
80
+ If this does not work for you, you can also integrate the [JavaScript snippet manually](https://help.phrase.com/help/integrate-in-context-editor-into-any-web-framework).
58
81
 
59
- Please note that outdated certificates or old versions of OpenSSL may cause connection issues, especially on Mac OSX. We recommend using Ruby 2.2.2 with OpenSSL 1.0.2d or later. If you experience OpenSSL-related errors, try the following.
82
+ Old version of the ICE is not available since version 2.0.0. If you still would rather use the old version, please go back to 1.x.x versions.
60
83
 
61
- Upgrade OpenSSL using Homebrew:
84
+ #### Using the US Datacenter with ICE
62
85
 
63
- ```shell
64
- $ brew upgrade openssl
65
- $ brew install openssl
86
+ In addition to the settings in your `config/initializers/phraseapp_in_context_editor.rb`, set the US datacenter to enable the ICE to work with the US endpoints.
87
+ ```ruby
88
+ config.enabled = true
89
+ config.project_id = "YOUR_PROJECT_ID"
90
+ config.account_id = "YOUR_ACCOUNT_ID"
91
+ config.datacenter = "us"
66
92
  ```
67
93
 
68
- If you are using RVM, also run:
94
+ ### Browser support
69
95
 
70
- ```shell
71
- $ rvm osx-ssl-certs status all
72
- $ rvm osx-ssl-certs update all
73
- ````
96
+ This library might not work out of the box for some older browser or IE11. We recommend to add [Babel](https://github.com/babel/babel) to the build pipeline if those browser need to be supported.
74
97
 
75
- As a workaround, you can disable SSL certificate verification in your `config/initializers/phraseapp_in_context_editor.rb` by adding the following line:
98
+ ### How does it work
76
99
 
77
- ```ruby
78
- config.skip_ssl_verification = true
100
+ The library adds custom functionality to the `i18n` package. When `config.enabled = true` this gem modifies the outcoming values from translation functions to present a format which the ICE can read.
101
+
102
+ ### Test
103
+
104
+ Run unit tests using jest:
105
+
106
+ ```bash
107
+ rspec
79
108
  ```
80
109
 
81
- This is **not recommended** and should only be used as a temporary workaround.
110
+ ## :white_check_mark: Commits & Pull Requests
111
+
112
+ We welcome anyone who wants to contribute to our codebase, so if you notice something, feel free to open a Pull Request! However, we ask that you please use the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification for your commit messages and titles when opening a Pull Request.
113
+
114
+ Example: `chore: Update README`
115
+
116
+ ## :question: Issues, Questions, Support
82
117
 
118
+ Please use [GitHub issues](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues) to share your problem, and we will do our best to answer any questions or to support you in finding a solution.
83
119
 
84
- ## Further Information
85
- * [Phrase Help Center](https://help.phrase.com/)
86
- * [Software Translation Management with Phrase](https://phrase.com/features)
87
- * [Contact us](https://phrase.com/contact)
120
+ ## :memo: Changelog
88
121
 
89
- ## References
90
- * [Phrase API Documentation](https://developers.phrase.com/api/)
91
- * [In-Context-Editor Demo](https://phrase.com/demo)
92
- * [Localization Guides and Software Translation Best Practices](https://phrase.com/blog/)
122
+ Detailed changes for each release are documented in the [changelog](https://github.com/phrase/phraseapp-in-context-editor-ruby/releases).
data/RELEASING.md ADDED
@@ -0,0 +1,3 @@
1
+ # :package: Releasing
2
+
3
+ Package is being released automatically with the use of [Semantic Release Action](https://github.com/marketplace/actions/action-for-semantic-release). Just push a commit to the main and a new version will be released right away!
data/docs/CHANGELOG.md ADDED
@@ -0,0 +1,116 @@
1
+ # Changelog
2
+
3
+ ## [v1.4.0](https://github.com/phrase/phraseapp-in-context-editor-ruby/tree/v1.4.0) (2021-02-16)
4
+
5
+ [Full Changelog](https://github.com/phrase/phraseapp-in-context-editor-ruby/compare/v1.3.1...v1.4.0)
6
+
7
+ **Closed issues:**
8
+
9
+ - phraseapp-ruby locked to ~\> 1.2.7, current is 1.3.3 [\#19](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/19)
10
+
11
+ **Merged pull requests:**
12
+
13
+ - Ruby 3.0 support [\#49](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/49) ([sbruhns](https://github.com/sbruhns))
14
+ - remove all dynport.de references [\#47](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/47) ([tobstarr](https://github.com/tobstarr))
15
+ - Update license decisions [\#46](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/46) ([forelabs](https://github.com/forelabs))
16
+ - Tests: Upgrade to modern RSpec syntax [\#45](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/45) ([docstun](https://github.com/docstun))
17
+ - GitHub actions [\#44](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/44) ([docstun](https://github.com/docstun))
18
+ - Licenses: fix project name [\#43](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/43) ([forelabs](https://github.com/forelabs))
19
+ - Licenses: Ignore dev&test dependencies [\#42](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/42) ([forelabs](https://github.com/forelabs))
20
+ - Introduce LicenseFinder config [\#41](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/41) ([forelabs](https://github.com/forelabs))
21
+ - fix pa licenses [\#40](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/40) ([forelabs](https://github.com/forelabs))
22
+ - Add pa licenses yml [\#39](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/39) ([forelabs](https://github.com/forelabs))
23
+
24
+ ## [v1.3.1](https://github.com/phrase/phraseapp-in-context-editor-ruby/tree/v1.3.1) (2019-08-29)
25
+
26
+ [Full Changelog](https://github.com/phrase/phraseapp-in-context-editor-ruby/compare/v1.3.0...v1.3.1)
27
+
28
+ **Merged pull requests:**
29
+
30
+ - Update docs [\#38](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/38) ([timleers](https://github.com/timleers))
31
+ - Update documentation URLs [\#37](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/37) ([docstun](https://github.com/docstun))
32
+
33
+ ## [v1.3.0](https://github.com/phrase/phraseapp-in-context-editor-ruby/tree/v1.3.0) (2018-04-19)
34
+
35
+ [Full Changelog](https://github.com/phrase/phraseapp-in-context-editor-ruby/compare/v1.2.1...v1.3.0)
36
+
37
+ **Closed issues:**
38
+
39
+ - Using translation in data-x attributes replaces entire string. [\#33](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/33)
40
+
41
+ **Merged pull requests:**
42
+
43
+ - Set ruby 2.1 as minimum version [\#36](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/36) ([theSoenke](https://github.com/theSoenke))
44
+ - use RequestStore instead of Thread\[:current\] [\#32](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/32) ([zuchmanski](https://github.com/zuchmanski))
45
+
46
+ ## [v1.2.1](https://github.com/phrase/phraseapp-in-context-editor-ruby/tree/v1.2.1) (2017-03-13)
47
+
48
+ [Full Changelog](https://github.com/phrase/phraseapp-in-context-editor-ruby/compare/v1.2.0...v1.2.1)
49
+
50
+ **Closed issues:**
51
+
52
+ - Implicit Translations [\#17](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/17)
53
+
54
+ **Merged pull requests:**
55
+
56
+ - Fix simple form exception [\#22](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/22) ([docstun](https://github.com/docstun))
57
+ - Version update, Ruby 2.4.0 support because of json-dependency change [\#20](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/20) ([fredv](https://github.com/fredv))
58
+
59
+ ## [v1.2.0](https://github.com/phrase/phraseapp-in-context-editor-ruby/tree/v1.2.0) (2017-02-24)
60
+
61
+ [Full Changelog](https://github.com/phrase/phraseapp-in-context-editor-ruby/compare/v1.1.0...v1.2.0)
62
+
63
+ **Merged pull requests:**
64
+
65
+ - Changes json dependency to json \>= 1.8 [\#18](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/18) ([fredv](https://github.com/fredv))
66
+
67
+ ## [v1.1.0](https://github.com/phrase/phraseapp-in-context-editor-ruby/tree/v1.1.0) (2016-10-04)
68
+
69
+ [Full Changelog](https://github.com/phrase/phraseapp-in-context-editor-ruby/compare/v1.0.2...v1.1.0)
70
+
71
+ **Closed issues:**
72
+
73
+ - rails\_admin json issue with phraseapp and rails\_admin-i18n [\#16](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/16)
74
+ - Per thread config [\#14](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/14)
75
+ - RuntimeError: not found? [\#12](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/12)
76
+ - Editor conflicts the angular router [\#9](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/9)
77
+ - Edit icons missing if the enabled false by default [\#8](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/8)
78
+ - Introduce a changelog [\#7](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/7)
79
+
80
+ **Merged pull requests:**
81
+
82
+ - Proper storage of config on Thread.current [\#15](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/15) ([docstun](https://github.com/docstun))
83
+ - disable dependency loading on before as fix for rails5 [\#13](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/13) ([koljaa](https://github.com/koljaa))
84
+ - Update LICENSE [\#11](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/11) ([sbruhns](https://github.com/sbruhns))
85
+ - i18n set to \>= 0.6 [\#10](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/10) ([jethroo](https://github.com/jethroo))
86
+
87
+ ## [v1.0.2](https://github.com/phrase/phraseapp-in-context-editor-ruby/tree/v1.0.2) (2015-10-12)
88
+
89
+ [Full Changelog](https://github.com/phrase/phraseapp-in-context-editor-ruby/compare/v1.0.1...v1.0.2)
90
+
91
+ **Closed issues:**
92
+
93
+ - Method missing error [\#5](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/5)
94
+
95
+ **Merged pull requests:**
96
+
97
+ - 18n delegate refactoring [\#6](https://github.com/phrase/phraseapp-in-context-editor-ruby/pull/6) ([koljaa](https://github.com/koljaa))
98
+
99
+ ## [v1.0.1](https://github.com/phrase/phraseapp-in-context-editor-ruby/tree/v1.0.1) (2015-10-07)
100
+
101
+ [Full Changelog](https://github.com/phrase/phraseapp-in-context-editor-ruby/compare/v1.0.0...v1.0.1)
102
+
103
+ **Closed issues:**
104
+
105
+ - Two translations in one HTML element [\#4](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/4)
106
+ - Why PhraseApp In-Context Editor can be enabled/disabled only for entire application? [\#3](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/3)
107
+ - Why Access Token is mandatory in configuration for In-Context Editor? [\#2](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/2)
108
+ - Problems chaneging suffix and prefix [\#1](https://github.com/phrase/phraseapp-in-context-editor-ruby/issues/1)
109
+
110
+ ## [v1.0.0](https://github.com/phrase/phraseapp-in-context-editor-ruby/tree/v1.0.0) (2015-08-21)
111
+
112
+ [Full Changelog](https://github.com/phrase/phraseapp-in-context-editor-ruby/compare/4a0e284a7acad8529eef882863b226858384b757...v1.0.0)
113
+
114
+
115
+
116
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
@@ -0,0 +1,7 @@
1
+ # See https://git-scm.com/docs/gitattributes for more about git attribute files.
2
+
3
+ # Mark the database schema as having been generated.
4
+ db/schema.rb linguist-generated
5
+
6
+ # Mark any vendored files as having been vendored.
7
+ vendor/* linguist-vendored
@@ -0,0 +1,35 @@
1
+ # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile '~/.gitignore_global'
6
+
7
+ # Ignore bundler config.
8
+ /.bundle
9
+
10
+ # Ignore the default SQLite database.
11
+ /db/*.sqlite3
12
+ /db/*.sqlite3-*
13
+
14
+ # Ignore all logfiles and tempfiles.
15
+ /log/*
16
+ /tmp/*
17
+ !/log/.keep
18
+ !/tmp/.keep
19
+
20
+ # Ignore pidfiles, but keep the directory.
21
+ /tmp/pids/*
22
+ !/tmp/pids/
23
+ !/tmp/pids/.keep
24
+
25
+ # Ignore uploaded files in development.
26
+ /storage/*
27
+ !/storage/.keep
28
+ /tmp/storage/*
29
+ !/tmp/storage/
30
+ !/tmp/storage/.keep
31
+
32
+ /public/assets
33
+
34
+ # Ignore master key for decrypting credentials and more.
35
+ /config/master.key
@@ -0,0 +1,74 @@
1
+ source "https://rubygems.org"
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
+
4
+ ruby "3.2.1"
5
+
6
+ # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
7
+ gem "rails", "~> 7.0.7", ">= 7.0.7.2"
8
+
9
+ # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
10
+ gem "sprockets-rails"
11
+
12
+ # Use sqlite3 as the database for Active Record
13
+ gem "sqlite3", "~> 1.4"
14
+
15
+ # Use the Puma web server [https://github.com/puma/puma]
16
+ gem "puma", "~> 5.0"
17
+
18
+ # Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
19
+ gem "importmap-rails"
20
+
21
+ # Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
22
+ gem "turbo-rails"
23
+
24
+ # Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
25
+ gem "stimulus-rails"
26
+
27
+ # Build JSON APIs with ease [https://github.com/rails/jbuilder]
28
+ gem "jbuilder"
29
+
30
+ # Use Redis adapter to run Action Cable in production
31
+ # gem "redis", "~> 4.0"
32
+
33
+ # Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
34
+ # gem "kredis"
35
+
36
+ # Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
37
+ # gem "bcrypt", "~> 3.1.7"
38
+
39
+ # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
40
+ gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ]
41
+
42
+ # Reduces boot times through caching; required in config/boot.rb
43
+ gem "bootsnap", require: false
44
+
45
+ # Use Sass to process CSS
46
+ # gem "sassc-rails"
47
+
48
+ # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
49
+ # gem "image_processing", "~> 1.2"
50
+
51
+ group :development, :test do
52
+ # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
53
+ gem "debug", platforms: %i[ mri mingw x64_mingw ]
54
+ end
55
+
56
+ group :development do
57
+ # Use console on exceptions pages [https://github.com/rails/web-console]
58
+ gem "web-console"
59
+
60
+ # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
61
+ # gem "rack-mini-profiler"
62
+
63
+ # Speed up commands on slow machines / big apps [https://github.com/rails/spring]
64
+ # gem "spring"
65
+ end
66
+
67
+ group :test do
68
+ # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
69
+ gem "capybara"
70
+ gem "selenium-webdriver"
71
+ gem "webdrivers"
72
+ end
73
+
74
+ gem "phraseapp-in-context-editor-ruby", path: "../.." # Note this is using local version of the gem