redis_snippets 0.0.10 → 1.0.2

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.
Files changed (58) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +4 -2
  3. data/.rspec +2 -0
  4. data/.travis.yml +19 -0
  5. data/Gemfile +12 -0
  6. data/README.md +84 -18
  7. data/Rakefile +5 -0
  8. data/app/controllers/redis_snippets/snippets_controller.rb +5 -6
  9. data/app/helpers/redis_snippets/snippets_helper.rb +5 -23
  10. data/app/presenters/snippet_presenter.rb +67 -0
  11. data/app/{models/redis_snippets/snippets.rb → services/snippet_store_service.rb} +9 -1
  12. data/app/views/redis_snippets/snippets/show.html.erb +11 -15
  13. data/config/routes.rb +1 -1
  14. data/lib/redis_snippets/engine.rb +3 -1
  15. data/lib/redis_snippets/redis.rb +10 -5
  16. data/lib/redis_snippets/{help.rb → util.rb} +2 -2
  17. data/lib/redis_snippets/version.rb +1 -1
  18. data/lib/redis_snippets.rb +4 -2
  19. data/redis_snippets.gemspec +5 -4
  20. data/spec/app/helpers/redis_snippets/snippets_helper_spec.rb +38 -0
  21. data/spec/app/presenters/snippet_presenter_spec.rb +53 -0
  22. data/spec/app/presenters/snippet_presenter_transform_spec.rb +45 -0
  23. data/spec/app/services/snippet_store_service_spec.rb +44 -0
  24. data/spec/dummy/.ruby-version +1 -0
  25. data/spec/dummy/Rakefile +6 -0
  26. data/spec/dummy/app/assets/config/manifest.js +3 -0
  27. data/spec/dummy/app/assets/images/.keep +0 -0
  28. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  29. data/spec/dummy/app/controllers/application_controller.rb +2 -0
  30. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  31. data/spec/dummy/bin/rails +4 -0
  32. data/spec/dummy/bin/rake +4 -0
  33. data/spec/dummy/bin/setup +33 -0
  34. data/spec/dummy/config/application.rb +29 -0
  35. data/spec/dummy/config/boot.rb +5 -0
  36. data/spec/dummy/config/environment.rb +5 -0
  37. data/spec/dummy/config/environments/development.rb +62 -0
  38. data/spec/dummy/config/environments/test.rb +48 -0
  39. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  40. data/spec/dummy/config/initializers/assets.rb +12 -0
  41. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  42. data/spec/dummy/config/initializers/content_security_policy.rb +28 -0
  43. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  44. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  45. data/spec/dummy/config/initializers/inflections.rb +16 -0
  46. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  47. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  48. data/spec/dummy/config/puma.rb +38 -0
  49. data/spec/dummy/config/routes.rb +3 -0
  50. data/spec/dummy/config.ru +5 -0
  51. data/spec/dummy/lib/assets/.keep +0 -0
  52. data/spec/dummy/log/.keep +0 -0
  53. data/spec/dummy/tmp/.keep +0 -0
  54. data/spec/dummy/tmp/development_secret.txt +1 -0
  55. data/spec/rails_helper.rb +54 -0
  56. data/spec/spec_helper.rb +13 -0
  57. data/spec/support/simplecov_setup.rb +5 -0
  58. metadata +105 -11
@@ -0,0 +1,8 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # ActiveSupport::Reloader.to_prepare do
4
+ # ApplicationController.renderer.defaults.merge!(
5
+ # http_host: 'example.org',
6
+ # https: false
7
+ # )
8
+ # end
@@ -0,0 +1,12 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Version of your assets, change this if you want to expire all your assets.
4
+ Rails.application.config.assets.version = '1.0'
5
+
6
+ # Add additional assets to the asset load path.
7
+ # Rails.application.config.assets.paths << Emoji.images_path
8
+
9
+ # Precompile additional assets.
10
+ # application.js, application.css, and all non-JS/CSS in the app/assets
11
+ # folder are already added.
12
+ # Rails.application.config.assets.precompile += %w( admin.js admin.css )
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
+ # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
+
6
+ # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
+ # Rails.backtrace_cleaner.remove_silencers!
@@ -0,0 +1,28 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Define an application-wide content security policy
4
+ # For further information see the following documentation
5
+ # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
6
+
7
+ # Rails.application.config.content_security_policy do |policy|
8
+ # policy.default_src :self, :https
9
+ # policy.font_src :self, :https, :data
10
+ # policy.img_src :self, :https, :data
11
+ # policy.object_src :none
12
+ # policy.script_src :self, :https
13
+ # policy.style_src :self, :https
14
+
15
+ # # Specify URI for violation reports
16
+ # # policy.report_uri "/csp-violation-report-endpoint"
17
+ # end
18
+
19
+ # If you are using UJS then enable automatic nonce generation
20
+ # Rails.application.config.content_security_policy_nonce_generator = -> request { SecureRandom.base64(16) }
21
+
22
+ # Set the nonce only to specific directives
23
+ # Rails.application.config.content_security_policy_nonce_directives = %w(script-src)
24
+
25
+ # Report CSP violations to a specified URI
26
+ # For further information see the following documentation:
27
+ # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only
28
+ # Rails.application.config.content_security_policy_report_only = true
@@ -0,0 +1,5 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Specify a serializer for the signed and encrypted cookie jars.
4
+ # Valid options are :json, :marshal, and :hybrid.
5
+ Rails.application.config.action_dispatch.cookies_serializer = :json
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Configure sensitive parameters which will be filtered from the log file.
4
+ Rails.application.config.filter_parameters += [:password]
@@ -0,0 +1,16 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format. Inflections
4
+ # are locale specific, and you may define rules for as many different
5
+ # locales as you wish. All of these examples are active by default:
6
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
7
+ # inflect.plural /^(ox)$/i, '\1en'
8
+ # inflect.singular /^(ox)en/i, '\1'
9
+ # inflect.irregular 'person', 'people'
10
+ # inflect.uncountable %w( fish sheep )
11
+ # end
12
+
13
+ # These inflection rules are supported but not enabled by default:
14
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
15
+ # inflect.acronym 'RESTful'
16
+ # end
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
@@ -0,0 +1,14 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # This file contains settings for ActionController::ParamsWrapper which
4
+ # is enabled by default.
5
+
6
+ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7
+ ActiveSupport.on_load(:action_controller) do
8
+ wrap_parameters format: [:json]
9
+ end
10
+
11
+ # To enable root element in JSON for ActiveRecord objects.
12
+ # ActiveSupport.on_load(:active_record) do
13
+ # self.include_root_in_json = true
14
+ # end
@@ -0,0 +1,38 @@
1
+ # Puma can serve each request in a thread from an internal thread pool.
2
+ # The `threads` method setting takes two numbers: a minimum and maximum.
3
+ # Any libraries that use thread pools should be configured to match
4
+ # the maximum value specified for Puma. Default is set to 5 threads for minimum
5
+ # and maximum; this matches the default thread size of Active Record.
6
+ #
7
+ max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
8
+ min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
9
+ threads min_threads_count, max_threads_count
10
+
11
+ # Specifies the `port` that Puma will listen on to receive requests; default is 3000.
12
+ #
13
+ port ENV.fetch("PORT") { 3000 }
14
+
15
+ # Specifies the `environment` that Puma will run in.
16
+ #
17
+ environment ENV.fetch("RAILS_ENV") { "development" }
18
+
19
+ # Specifies the `pidfile` that Puma will use.
20
+ pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
21
+
22
+ # Specifies the number of `workers` to boot in clustered mode.
23
+ # Workers are forked web server processes. If using threads and workers together
24
+ # the concurrency of the application would be max `threads` * `workers`.
25
+ # Workers do not work on JRuby or Windows (both of which do not support
26
+ # processes).
27
+ #
28
+ # workers ENV.fetch("WEB_CONCURRENCY") { 2 }
29
+
30
+ # Use the `preload_app!` method when specifying a `workers` number.
31
+ # This directive tells Puma to first boot the application and load code
32
+ # before forking the application. This takes advantage of Copy On Write
33
+ # process behavior so workers use less memory.
34
+ #
35
+ # preload_app!
36
+
37
+ # Allow puma to be restarted by `rails restart` command.
38
+ plugin :tmp_restart
@@ -0,0 +1,3 @@
1
+ Rails.application.routes.draw do
2
+ mount RedisSnippets::Engine, at: "admin", as: "redis_snippets"
3
+ end
@@ -0,0 +1,5 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require_relative 'config/environment'
4
+
5
+ run Rails.application
File without changes
File without changes
File without changes
@@ -0,0 +1 @@
1
+ 25c7ba3ff5498aead660dbc8bf38be3833df9479ffc2fc76fd8306308d7d365a455654be62905c9594caa61d0c85e7349056c1cd49d027995ac34dae86cd3dd7
@@ -0,0 +1,54 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+
3
+ require 'support/simplecov_setup'
4
+
5
+ require File.expand_path('dummy/config/environment', __dir__)
6
+ require 'rspec/rails'
7
+ require 'redis_snippets'
8
+
9
+ include RedisSnippets::SnippetsHelper
10
+
11
+ Rails.application.config.redis_snippets = {
12
+ connection: MockRedis.new,
13
+ keys: [
14
+ :advert_header,
15
+ :advert_footer
16
+ ],
17
+ transform: -> { ENV['TRANSFORM'] ? "Transformer" : nil }
18
+ }
19
+
20
+ RSpec.configure do |config|
21
+ # RSpec Rails can automatically mix in different behaviours to your tests
22
+ # based on their file location, for example enabling you to call `get` and
23
+ # `post` in specs under `spec/controllers`.
24
+ #
25
+ # You can disable this behaviour by removing the line below, and instead
26
+ # explicitly tag your specs with their type, e.g.:
27
+ #
28
+ # RSpec.describe UsersController, :type => :controller do
29
+ # # ...
30
+ # end
31
+ #
32
+ # The different available types are documented in the features, such as in
33
+ # https://relishapp.com/rspec/rspec-rails/docs
34
+ config.infer_spec_type_from_file_location!
35
+
36
+ # Filter lines from Rails gems in backtraces.
37
+ config.filter_rails_from_backtrace!
38
+ # arbitrary gems may also be filtered via:
39
+ # config.filter_gems_from_backtrace("gem name")
40
+
41
+ def clean_keys!
42
+ RedisSnippets::Engine.config.redis_snippets[:keys].each do |key|
43
+ SnippetStoreService.del(key)
44
+ end
45
+ end
46
+
47
+ config.before(:each) do
48
+ clean_keys!
49
+ end
50
+
51
+ config.after(:each) do
52
+ clean_keys!
53
+ end
54
+ end
@@ -0,0 +1,13 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+
3
+ require 'support/simplecov_setup'
4
+
5
+ RSpec.configure do |config|
6
+ config.expect_with :rspec do |expectations|
7
+ expectations.syntax = :expect
8
+ end
9
+
10
+ config.mock_with :rspec do |mocks|
11
+ mocks.syntax = :expect
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ require 'simplecov'
2
+
3
+ SimpleCov.start do
4
+ add_filter %r{^/spec/}
5
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_snippets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Moen Wulffeld
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-09 00:00:00.000000000 Z
11
+ date: 2021-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '5'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '5'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: redis
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -66,28 +80,71 @@ dependencies:
66
80
  - - ">="
67
81
  - !ruby/object:Gem::Version
68
82
  version: 1.2.1
69
- description: Storing snippets of whatever in Redis.
83
+ description: A Ruby on Rails gem that facilitates fast retrieval of snippets of code
84
+ or information for views.
70
85
  email:
71
- - martin@wulffeld.org
86
+ - wulffeld@gmail.com
72
87
  executables: []
73
88
  extensions: []
74
89
  extra_rdoc_files: []
75
90
  files:
76
91
  - ".gitignore"
92
+ - ".rspec"
93
+ - ".travis.yml"
94
+ - Gemfile
77
95
  - README.md
78
96
  - Rakefile
79
97
  - app/controllers/redis_snippets/snippets_controller.rb
80
98
  - app/helpers/redis_snippets/snippets_helper.rb
81
- - app/models/redis_snippets/snippets.rb
99
+ - app/presenters/snippet_presenter.rb
100
+ - app/services/snippet_store_service.rb
82
101
  - app/views/redis_snippets/snippets/show.html.erb
83
102
  - config/routes.rb
84
103
  - lib/redis_snippets.rb
85
104
  - lib/redis_snippets/engine.rb
86
- - lib/redis_snippets/help.rb
87
105
  - lib/redis_snippets/redis.rb
106
+ - lib/redis_snippets/util.rb
88
107
  - lib/redis_snippets/version.rb
89
108
  - redis_snippets.gemspec
90
- homepage: http://www.wulffeld.org/
109
+ - spec/app/helpers/redis_snippets/snippets_helper_spec.rb
110
+ - spec/app/presenters/snippet_presenter_spec.rb
111
+ - spec/app/presenters/snippet_presenter_transform_spec.rb
112
+ - spec/app/services/snippet_store_service_spec.rb
113
+ - spec/dummy/.ruby-version
114
+ - spec/dummy/Rakefile
115
+ - spec/dummy/app/assets/config/manifest.js
116
+ - spec/dummy/app/assets/images/.keep
117
+ - spec/dummy/app/assets/stylesheets/application.css
118
+ - spec/dummy/app/controllers/application_controller.rb
119
+ - spec/dummy/app/views/layouts/application.html.erb
120
+ - spec/dummy/bin/rails
121
+ - spec/dummy/bin/rake
122
+ - spec/dummy/bin/setup
123
+ - spec/dummy/config.ru
124
+ - spec/dummy/config/application.rb
125
+ - spec/dummy/config/boot.rb
126
+ - spec/dummy/config/environment.rb
127
+ - spec/dummy/config/environments/development.rb
128
+ - spec/dummy/config/environments/test.rb
129
+ - spec/dummy/config/initializers/application_controller_renderer.rb
130
+ - spec/dummy/config/initializers/assets.rb
131
+ - spec/dummy/config/initializers/backtrace_silencers.rb
132
+ - spec/dummy/config/initializers/content_security_policy.rb
133
+ - spec/dummy/config/initializers/cookies_serializer.rb
134
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
135
+ - spec/dummy/config/initializers/inflections.rb
136
+ - spec/dummy/config/initializers/mime_types.rb
137
+ - spec/dummy/config/initializers/wrap_parameters.rb
138
+ - spec/dummy/config/puma.rb
139
+ - spec/dummy/config/routes.rb
140
+ - spec/dummy/lib/assets/.keep
141
+ - spec/dummy/log/.keep
142
+ - spec/dummy/tmp/.keep
143
+ - spec/dummy/tmp/development_secret.txt
144
+ - spec/rails_helper.rb
145
+ - spec/spec_helper.rb
146
+ - spec/support/simplecov_setup.rb
147
+ homepage: https://github.com/wulffeld/redis_snippets
91
148
  licenses:
92
149
  - MIT
93
150
  metadata: {}
@@ -106,9 +163,46 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
163
  - !ruby/object:Gem::Version
107
164
  version: '0'
108
165
  requirements: []
109
- rubyforge_project:
110
- rubygems_version: 2.4.8
166
+ rubygems_version: 3.1.2
111
167
  signing_key:
112
168
  specification_version: 4
113
- summary: Storing snippets of whatever in Redis.
114
- test_files: []
169
+ summary: Storing snippets of HTML, text, etc. in Redis for use in views.
170
+ test_files:
171
+ - spec/app/helpers/redis_snippets/snippets_helper_spec.rb
172
+ - spec/app/presenters/snippet_presenter_spec.rb
173
+ - spec/app/presenters/snippet_presenter_transform_spec.rb
174
+ - spec/app/services/snippet_store_service_spec.rb
175
+ - spec/dummy/.ruby-version
176
+ - spec/dummy/Rakefile
177
+ - spec/dummy/app/assets/config/manifest.js
178
+ - spec/dummy/app/assets/images/.keep
179
+ - spec/dummy/app/assets/stylesheets/application.css
180
+ - spec/dummy/app/controllers/application_controller.rb
181
+ - spec/dummy/app/views/layouts/application.html.erb
182
+ - spec/dummy/bin/rails
183
+ - spec/dummy/bin/rake
184
+ - spec/dummy/bin/setup
185
+ - spec/dummy/config.ru
186
+ - spec/dummy/config/application.rb
187
+ - spec/dummy/config/boot.rb
188
+ - spec/dummy/config/environment.rb
189
+ - spec/dummy/config/environments/development.rb
190
+ - spec/dummy/config/environments/test.rb
191
+ - spec/dummy/config/initializers/application_controller_renderer.rb
192
+ - spec/dummy/config/initializers/assets.rb
193
+ - spec/dummy/config/initializers/backtrace_silencers.rb
194
+ - spec/dummy/config/initializers/content_security_policy.rb
195
+ - spec/dummy/config/initializers/cookies_serializer.rb
196
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
197
+ - spec/dummy/config/initializers/inflections.rb
198
+ - spec/dummy/config/initializers/mime_types.rb
199
+ - spec/dummy/config/initializers/wrap_parameters.rb
200
+ - spec/dummy/config/puma.rb
201
+ - spec/dummy/config/routes.rb
202
+ - spec/dummy/lib/assets/.keep
203
+ - spec/dummy/log/.keep
204
+ - spec/dummy/tmp/.keep
205
+ - spec/dummy/tmp/development_secret.txt
206
+ - spec/rails_helper.rb
207
+ - spec/spec_helper.rb
208
+ - spec/support/simplecov_setup.rb